Terraform的安装设置

首先

我已经开始学习Terraform了!基础设施即代码真的很方便呢!因此,这次我写了一篇关于Terraform设置的文章。
使用asdf进行Terraform的版本管理。设置完成后,我们将创建一个EC2实例作为验证。

环境

苹果MacBook Pro搭载英特尔处理器,预装的操作系统为macOS Monterey版本12.6。

安装asdf

通过使用asdf,您可以为每个应用程序管理Terraform的版本。
官方文档中有关于不同环境下的安装和设置方法。我使用了”Bash & Homebrew (macOS)”模式进行安装。

$ asdf version
v0.11.3-0adc6c1

 

安装Terraform。

使用asdf来安装Terraform。

$ asdf plugin add terraform

Terraform的配置设置

在工作目录下创建一个名为.tool.versions的文件。在这个文件中,写下要使用的Terraform版本,然后运行asdf install。

$ ls -a
.               ..              .tool-versions

# インストール可能なバージョン
$ asdf list all terraform
~省略~
1.4.5
1.4.6
1.5.0-alpha20230405
1.5.0-alpha20230504
1.5.0-beta1
1.5.0-beta2
1.5.0-rc1
1.5.0-rc2

# 使用するバージョンを記載
$ cat .tool-versions 
terraform 1.4.5

# インストール
$ asdf install

# バージョン確認
$ terraform -v
Terraform v1.4.5
on darwin_amd64

提供商的设置

我們將開始進行Terraform的配置。我們將創建一個tf文件,用於記述提供者的配置。
(提供者是Terraform支持的雲端服務,例如GCP、Azure等)

$ ls -a
.               ..              .tool-versions  main.tf

 

撰写设定信息。

terraform {
  # 使用するTerraformのバージョン
  required_version = "1.4.5"

  required_providers {
    # プロバイダの指定(今回はAWS)
    aws = {
      source  = "hashicorp/aws"
      # awsプロバイダのバージョン
      version = "~> 4.0"
    }
  }
}

provider "aws" {
  
  # AWSの認証情報、記述しない場合はdefaultが設定される
  profile = "terraform_user"
  # 使用するリージョン
  region = "ap-northeast-1"
}

您可以从 AWS 供应商的官方文档下拉菜单中检查版本。

 

スクリーンショット 2023-06-07 18.54.15.png

配置文件
在Terraform中,AWS认证信息(AWS CLI配置)是必需的。

 

设定完毕!

确认动作

由于Terraform配置已完成,我们将创建EC2实例并进行操作确认。
新建app.tf文件,并描述EC2实例的配置。(由于本次主要是Terraform设置,将省略描述方法的详细说明。)

resource "aws_instance" "hoge_ec2" {
  ami           = "ami-07c2a88388bb80eb0"
  instance_type = "t2.micro"

  tags = {
    Name = "HelloWorld"
  }
}
# Terraformの初期化
terraform init

# インフラの構築状態を確認
terraform plan

# tfファイルの内容を反映
terraform apply
~省略~

aws_instance.hoge_ec2: Creating...
aws_instance.hoge_ec2: Still creating... [10s elapsed]
aws_instance.hoge_ec2: Still creating... [20s elapsed]
aws_instance.hoge_ec2: Still creating... [30s elapsed]
aws_instance.hoge_ec2: Creation complete after 37s [id=i-0b5232saxdssa98e85rd]

Apply complete! Resources: 1 added, 0 changed, 0 destroyed.

我已经在AWS 管理控制台上确认了在东京区域启动了 EC2 实例!看来 Terraform 的配置没有问题!

最后

我认为我们已经完成了构建基本的基础设施所需的最低配置。未来我将会撰写有关如何管理tfstate文件以及其他与Terraform相关的文章。

bannerAds