【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 小时前
Spring Cloud Eureka 服务注册与发现
java·笔记·后端·学习·spring·spring cloud·eureka
scc21401 小时前
spark的学习-06
javascript·学习·spark
luoganttcc1 小时前
能否推荐开源GPU供学习GPU架构
学习·开源
垂杨有暮鸦⊙_⊙2 小时前
阅读2020-2023年《国外军用无人机装备技术发展综述》笔记_技术趋势
笔记·学习·无人机
Mephisto.java2 小时前
【大数据学习 | HBASE高级】region split机制和策略
数据库·学习·hbase
Bio Coder3 小时前
学习用 Javascript、HTML、CSS 以及 Node.js 开发一个 uTools 插件,学习计划及其周期
javascript·学习·html·开发·utools
Allen zhu3 小时前
【PowerHarmony】电鸿蒙学习记录-准备工作
学习·华为·harmonyos
华清远见成都中心3 小时前
物联网学习路线来啦!
物联网·学习
hgy89693 小时前
Ekman理论回归
学习
汤米粥3 小时前
通过PHP创建AWS的CloudFront并绑定证书添加备用域名
服务器·云计算·aws