使用Terraform在AWS上构建Web服务器,配置使之能够操作AWS资源

目标

创建一个EC2实例,并在其中安装Nginx,目标是通过浏览器能够确认默认页面。通过使用Terraform将基础架构进行代码化,可以实现与手动操作相比,具有更高的再现性、可重用性和速度。此相关代码请参阅GitHub链接。

步驟

    1. 设置Terraform以操作AWS资源

 

    1. 安装Terraform

 

    1. 尝试使用Terraform启动EC2服务器

 

    1. 配置网络(VPC、子网、路由表、Internet网关)

 

    1. 设置安全组(防火墙)

 

    1. 启动用于Web服务器的EC2

 

    在Web服务器启动时安装Web服务器软件的设置

这次的目标达成了

将Terraform配置为能够操作AWS资源

步骤0. 安装AWS CLI

AWS CLI的安装
在Terraform中,可以通过命令对AWS资源进行操作,但需要通过AWS CLI来实现。
版本2没有特别的问题。
要确认安装是否成功,请在命令提示符或终端中运行以下命令。如果显示版本号,则表示安装成功。

$ aws --version
aws-cli/2.11.18 Python/3.11.3 Windows/10 exe/AMD64 prompt/off
步骤1:在AWS上创建默认IAM用户的访问密钥。

创建用于登录等的默认用户访问密钥。

在 AWS 控制台上访问
IAM > 用户 > 默认用户 > 创建访问密钥

image.png
image.png
步骤2:在AWS上创建适用于Terraform的IAM用户

创建一个能够通过Terraform对AWS进行操作的IAM用户。
可以操作AWS的方式是使用AWS资源或IAM用户(虽然根用户也可以,但不推荐)。
因此需要创建用于Terraform的IAM用户。

image.png
第三步:创建Terraform使用的IAM用户访问密钥(参考步骤一)。

通过Terraform创建IAM用户的访问密钥。
通过在Terraform中设置该访问密钥,实现对AWS的操作。

请访问AWS控制台
IAM > 用户 > 创建的用户2 > 创建访问密钥

记住所创建的访问密钥ID和密钥访问密钥(还可以下载CSV文件,以备不时之需)。

步骤四:将默认用户的访问密钥配置到AWS CLI中。
$ aws configure
AWS Access Key ID [None]: [ここにデフォルトユーザのアクセスキーを入力]
AWS Secret Access Key [None]: [ここにデフォルトユーザのシークレットキーを入力]
Default region name[None]: ap-northeast-1
Default output format [None]: json
步骤5:在AWS CLI中配置Terraform使用的IAM用户访问密钥。
$ aws configure --profile terraform
AWS Access Key ID [None]: [ここにTerraform用IAMユーザのアクセスキーを入力]
AWS Secret Access Key [None]: [ここにTerraform用IAMユーザのシークレットキーを入力]
Default region name[None]: ap-northeast-1
Default output format [None]: json
步骤六

请确认以下文件中是否反映了访问密钥的设置:
~/.aws/credentials

[default]
aws_access_key_id = [デフォルトユーザのアクセスキー]
aws_secret_access_key = [デフォルトユーザのシークレットキー]
[terraform]
aws_access_key_id = [Terraform用IAMユーザのアクセスキー]
aws_secret_access_key = [Terraform用IAMユーザのシークレットキー]
广告
将在 10 秒后关闭
bannerAds