我要尝试使用Terraform在AWS上部署资源
由于工作需要,我有机会使用了这个机器,所以做了个备忘录?。
1. AWS环境的设置
由于要部署到AWS环境,因此需要进行终端设备的准备工作。
请在终端上进行AWS CLI安装,以便能够运行AWS命令。
详细的安装步骤请参考:https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/getting-started-install.html
将以下内容用中文进行释义:
为了避免将凭证直接写在Terraform代码中,需要在终端端口上配置AWS账号。
本次将使用一个名为qiita-deploy的配置文件。
aws configure --profile qiita-deploy
因为接下来将使用对话形式,所以让我们开始注册凭证。
地区是 ap-northeast-1,格式可以保持为空白。
■个人资料确认指令
·个人资料列表
aws configure list-profiles
・确认此个人资料是否匹配。
aws sts get-caller-identity --profile qiita-deploy
2. 在 Terraform 中进行部署。
①安装Terraform
使用brew进行安装。
如果尚未安装Brew,请前往此链接:https://brew.sh/index_ja。
brew install terraform
创建用于部署的文件
我们会创建以下三个文件。
创建部署目标文件
因为我们暂时只要部署到EC2上,所以只需要提供与EC2相关的信息。
如果还有其他想要指定的项目,请随时添加。
resource "aws_instance" "qiita-deploy" {
ami = "ami-XXXXXXXXXX"
instance_type = "t1.micro"
}
创建provider.tf文件。在文件中记录获取AWS部署目标的信息。
variable "aws_shared_credentials_file" {
type = string
}
variable "aws_profile" {
type = string
}
variable "aws_region" {
type = string
}
provider "aws" {
shared_credentials_file = var.aws_shared_credentials_file
profile = var.aws_profile
region = var.aws_region
}
3.terraform.tfvars.
创建一个变量文件作为获取的来源。
aws_shared_credentials_file = "~/.aws/credentials"
aws_profile = "qiita-deploy"
aws_region = "ap-northeast-1"
1. 初始化工作空间
terraform init
2. 部署前的确认
我们确认能否正确应用。
terraform plan
※如果出现以下警告(属性已不推荐使用),您可以继续前进,这是可以接受的。
·警告:参数已过时
·警告:属性已弃用
我认为它可能是对”credentials”这个词组有反应。
在这里,将部署在AWS上的实例按照第②-1步骤进行部署。
terraform apply
如果要删除的话。
terraform destroy
这就是以上内容。