AWS上DevOps实验(一)--- 创建并配置Terraform虚拟机

从本文档起,作者计划在AWS上做一系列DevOps/IaC相关实验,本文是第一篇,使用虚拟机创建Terraform虚拟机,并将terraform的状态文件写入S3。

本次实验架构图

本次实验使用AWS的Default VPC,所以VPC等网络资源暂时不用创建,具体架构图如下:

AWS上DevOps实验(一)--- 创建并配置Terraform虚拟机_第1张图片

1. 创建IAM role

在IAM portal上,选择IAM role,点击创建

AWS上DevOps实验(一)--- 创建并配置Terraform虚拟机_第2张图片

选择可信实体页面,选择亚马逊服务->EC2,点击下一步

AWS上DevOps实验(一)--- 创建并配置Terraform虚拟机_第3张图片 在添加权限页面,选择AdministratorAccess权限。(本例中使用最高权限,实际中可以根据需要设置权限,比如S3fullaccess等)

AWS上DevOps实验(一)--- 创建并配置Terraform虚拟机_第4张图片

输入role名称后,点击创建角色

AWS上DevOps实验(一)--- 创建并配置Terraform虚拟机_第5张图片

2. 创建并配置S3

在S3 portal上,选择存储桶,点击创建存储桶

AWS上DevOps实验(一)--- 创建并配置Terraform虚拟机_第6张图片

 输入S3名称,点击创建存储桶

AWS上DevOps实验(一)--- 创建并配置Terraform虚拟机_第7张图片 

3. 创建S3 endpoint

在VPC portal上,选择终端节点,点击创建终端节点

AWS上DevOps实验(一)--- 创建并配置Terraform虚拟机_第8张图片 在创建页面,输入以下信息:

AWS上DevOps实验(一)--- 创建并配置Terraform虚拟机_第9张图片 

4. 创建Terraform虚拟机

参考:部署EC2

部署Terraform虚拟机,选择Amazon Linux,创建后记录公网IP,使用SSH登陆虚拟机。

5. Terraform状态写入s3的部分代码

登陆虚拟后,输入以下命令部署Terraform

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/AmazonLinux/hashicorp.repo
sudo yum -y install terraform

参考:Downloads | Terraform by HashiCorp

输入 terraform验证terraform安装是否正常

terraform
Usage: terraform [global options]  [args]

The available commands for execution are listed below.
The primary workflow commands are given first, followed by
less common or more advanced commands.

输入以下信息,将状态文件写入S3

cat > provide.tf << EOF
#provider info
terraform {
    required_providers {
        aws = {
            source = "hashicorp/aws"
            version = "3.63.0"
        }
    }
    backend "s3" {
        bucket = "garyterraform"
        region = "ap-northeast-1"
        key = "aws/ec2/"
    }
}
EOF

输入 terraform init进行初始化。

本次实验结束。

你可能感兴趣的:(AWS,devops,aws,terraform)