0
点赞
收藏
分享

微信扫一扫

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

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

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

本次实验架构图

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

Terraform2S3.drawio.png

1. 创建IAM role

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

2022-09-07-11-05-38-image.png

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

2022-09-07-11-11-13-image.png

添加权限页面,选择AdministratorAccess权限。(本例中使用最高权限,实际中可以根据需要设置权限,比如S3fullaccess等)

2022-09-07-11-20-20-image.png

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

2022-09-07-11-30-43-image.png

2. 创建并配置S3

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

2022-09-07-11-35-37-image.png

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

2022-09-07-11-40-13-image.png

3. 创建S3 endpoint

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

2022-09-07-15-35-08-image.png

在创建页面,输入以下信息:

2022-09-07-15-53-25-image.png

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

参考:https://www.terraform.io/downloads

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

terraform
Usage: terraform [global options] <subcommand> [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进行初始化。

本次实验结束

举报

相关推荐

0 条评论