【Terraform学习】使用 Terraform创建Lambda函数启动EC2(Terraform-AWS最佳实战学习)

本站以分享各种运维经验和运维所需要的技能为主

《python》:python零基础入门学习

《shell》:shell学习

《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战

《k8》暂未更新

《docker学习》暂未更新

《ceph学习》ceph日常问题解决分享

《日志收集》ELK+各种中间件

《运维日常》持续更新中

下面开始学这次的内容:

使用 Terraform创建Lambda函数启动EC2

实验步骤

前提条件

下载仓库代码模版

  • 本实验代码位于 task_lambda 文件夹中

  • main.tf

  • 在上面的代码中,您将执行以下任务

    • 创建使用案例为 Lambda 的IAM角色

    • 为Lambda IAM角色,附加**AdministratorAccess**权限。

    • 最后,创建 Lambda 函数上传代码


启动EC2实例的代码

  • 代码编写完成后

  • 将其压缩为.zip文件

    • zip test.zip [被压缩文件名]

使用 Terraform 部署

  • 确保您这些文件在同一位置

  • 通过运行以下命令初始化 Terraform

    • terraform init

    • 注意:terraform init检查所有插件依赖项下载它们

  • 查看生成计划 ,请运行以下命令

    • terraform plan
  • 创建在 main.tf 配置文件中声明的所有资源 ,请运行以下命令

    • terraform apply
  • 您将能够看到将要创建的资源 ,通过输入 yes 批准所有资源的创建

  • terraform apply 命令最多可能需要 2 分钟才能创建资源


检查 AWS 控制台中的资源

  • 确保您位于美国东部(弗吉尼亚北部)us-east-1 区域

  • 通过单击 AWS 控制台顶部导航到 Lambda

  • 单击您创建的Lambda函数

  • 您将能够看到Lambda函数代码已准备就绪

  • 导航到配置权限 选项卡**"执行角色"**。

  • 验证角色是否成功创建,并包含**AdministratorAccess**权限。


执行 Lambda函数 启动EC2实例

  • 回到Lambda函数 ,单击**Test** 按钮执行Lambda函数

  • 现在您将能够看到结果为Succeeded成功执行

  • AWS 控制台顶部导航到 EC2

  • 导航到左侧面板 上**"实例"** 下的**"实例"**。

  • 您可以看到创建的实例 。您可以检查我们在 Lambda 代码中应用的配置,例如AMI信息等。

补充简易理解案例:

要使用Terraform创建Lambda函数并启动EC2,您需要先安装并配置Terraform。然后,您可以创建一个Terraform配置文件,定义Lambda函数和EC2实例的配置。

以下是一个示例Terraform配置文件,用于创建一个Lambda函数和一个EC2实例:

复制代码
`# 定义Lambda函数
resource "aws_lambda_function" "lambda_function" {
function_name = "my-lambda-function"
s3_bucket = "my-bucket"
s3_key = "my-lambda-function.zip"
role = "my-role-arn"
handler = "index.handler"
}

# 定义EC2实例
resource "aws_instance" "ec2_instance" {
instance_type = "t2.small"
ami = "ami-0abcdef1234567890"
key_name = "my-key-pair"
security_groups = ["my-security-group"]
subnet_id = "my-subnet-id"
}`

在上面的示例中,我们定义了一个名为my-lambda-function的Lambda函数,并将其与一个S3桶和密钥关联。我们还定义了一个名为my-role-arn的角色,该角色具有执行Lambda函数的权限。然后,我们定义了一个名为ec2_instance的EC2实例,并指定了实例类型、AMI、密钥对、安全组和子网ID。

接下来,您需要将此配置文件保存为.tf文件,并在终端中导航到该文件所在的目录。然后,您可以使用以下命令初始化Terraform:

复制代码
`terraform init`

这将下载并安装Terraform所需的云提供商插件和模块。接下来,您可以使用以下命令应用配置文件中的更改:

复制代码
`terraform apply`

Terraform将根据配置文件中的定义创建Lambda函数和EC2实例。如果一切顺利,您将看到一条消息指示成功应用更改。您可以通过运行以下命令来查看Terraform状态:

复制代码
`terraform state show aws_lambda_function.lambda_function`

这将显示Lambda函数的详细信息,包括其名称、配置和版本。您可以使用类似的方法来查看EC2实例的状态。

相关推荐
羽沢3118 分钟前
ECharts 学习
前端·学习·echarts
风行男孩20 分钟前
stm32基础学习——OLED显示屏的基本使用
stm32·嵌入式硬件·学习
一声沧海笑1 小时前
【GEE学习笔记】GEE中如何上传矢量图?
笔记·学习
炽烈小老头1 小时前
【每天学习一点算法 2025/12/22】将有序数组转换为二叉搜索树
学习·算法
呱呱巨基1 小时前
Linux 进程控制
linux·c++·笔记·学习
暖阳之下2 小时前
学习周报二十七
学习
一念一花一世界2 小时前
sourcefare零基础学习 - 使用自定义权限优化项目管理
学习·sonarqube·sourcefare·代码扫描工具
代码游侠2 小时前
应用——MPlayer 媒体播放器系统代码详解
linux·运维·笔记·学习·算法
龘龍龙2 小时前
Python基础学习(六)
开发语言·python·学习
悠哉悠哉愿意3 小时前
【EDA学习笔记】电子技术基础知识:基本元件
笔记·嵌入式硬件·学习·eda