【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实例的状态。

相关推荐
有谁看见我的剑了?1 天前
k8s-临时容器学习
学习·容器·kubernetes
七芒星20231 天前
ResNet(详细易懂解释):残差网络的革命性突破
人工智能·pytorch·深度学习·神经网络·学习·cnn
easy20201 天前
Kaggle项目实践——Titanic: Machine Learning from Disaster
笔记·学习·机器学习
The_Second_Coming1 天前
容器应用学习笔记:containerd 篇
运维·笔记·学习·容器·containerd
知识分享小能手1 天前
React学习教程,从入门到精通,React AJAX 语法知识点与案例详解(18)
前端·javascript·vue.js·学习·react.js·ajax·vue3
GIS开发特训营1 天前
【智慧城市】2025年中国地质大学(武汉)暑期实训优秀作品(4):智矿中国
学习·gis·智慧城市·gis开发·webgis
朗迹 - 张伟1 天前
Gin-Vue-Admin学习笔记
vue.js·学习·gin
GilgameshJSS1 天前
【学习K230-例程21】GT6700-UDP-Client
网络·python·单片机·网络协议·学习·udp
楼田莉子1 天前
C++动态规划算法:斐波那契数列模型
c++·学习·算法·动态规划
江流月照1 天前
IP验证学习之agent编写
学习·硬件架构·硬件工程