Terraform等を用いてインフラストラクチャを構築する(Windows10)

Terraform等を用いてインフラストラクチャを構築してみます。今回は、Amazon Web Services(AWS)でEC2インスタンスをプロビジョニング(利用可能な状態に準備)します。

なお、インフラストラクチャを構築するために、Terraform CLI、AWSCLI、AWSアカウントの取得と、AWSアカウントに関連したクレデンシャル(資格・認証情報)が必要になりますので、事前に取得などを行っておく必要があります。

まずは、Windows10のコマンドプロンプトを起動します。

> aws configure

起動後、コマンドを入力し、Enterキーを押します。Enterキーを押すと、4つ(AWS Access Key ID,AWS Secret Access Key,region(リージョン・地域) name,出力形式)の情報の入力が求められますので、取得したクレデンシャル(資格・認証情報)等を入力していきます。

今回は上記のような形でセットアップします。

> mkdir terraform-aws-instance

セットアップ後、上記のコマンドを入力し、「terraform-aws-instance」ディレクトリを作成します。

> cd terraform-aws-instance

作成後、上記のコマンドを入力し、Enterキーを押します。これで作成したディレクトリに移動します。移動後、「terraform-aws-instance」内に「main.tf」というファイルを作成するのですが、コマンドプロンプト上だと「touch」コマンドが使えない場合があるので、今回はコマンドを使わずに「エクスプローラー」で「terraform-aws-instance」内に移動し、ファイルを作成します。

作成後、このファイルをコード・エディタで開きます。開いた後に、Terraformで展開するための構成を記述します。コードはこちらの情報を今回はコピーして貼り付けます。

貼り付けた後、コードをファイルに保存します。保存後、コマンドプロンプト上に戻ります。

Initializing the backend...

Initializing provider plugins...
- Finding hashicorp/aws versions matching "~> 3.27"...
- Installing hashicorp/aws v3.75.1...
- Installed hashicorp/aws v3.75.1 (signed by HashiCorp)

Terraform has created a lock file .terraform.lock.hcl to record the provider
selections it made above. Include this file in your version control repository
so that Terraform can guarantee to make the same selections by default when
you run "terraform init" in the future.

Terraform has been successfully initialized!

You may now begin working with Terraform. Try running "terraform plan" to see
any changes that are required for your infrastructure. All Terraform commands
should now work.

If you ever set or change modules or backend configuration for Terraform,
rerun this command to reinitialize your working directory. If you forget, other
commands will detect it and remind you to do so if necessary.

戻った後に新しい構成を作成するために、ディレクトリを初期化する必要があるので、上記のコマンドを入力し、Enterキーを押します。Enterキーを押すと、初期化が開始され上記のように出力されます。「Terraform has been successfully initialized!(Terraformは正常に初期化されました!)」と出力されているので、これで初期化は完了となります。

■インフラストラクチャを作成する

> terraform apply

完了後、インフラストラクチャを作成しますので、上記のコマンドを入力し、Enterキーを押します。押すと、自動でEC2インスタンスの構築を行います。

構築が開始され、途中で「Enter a value:」と出力されますのでアクションを実行するために「yes」と入力し、Enterキーを押します。

Enterキーを押してしばらくすると「Apply complete!」と出力されます。これが表示されれば、構築は完了となります。

完了後、構築されているのか確認するために、AWSにログインし、「EC2」にアクセスします。

アクセス後、「EC2 ダッシュボード」をクリックし、ダッシュボードの右上にある地域・リージョンが表示されている箇所をクリックします。今回は、「米国西部(オレゴン)us-west-2」でEC2インスタンスを作成しているので、「us-west-2」を選択します。

選択した後に、「EC2 ダッシュボード」内の「リソース」の「インスタンス(実行中)」をクリックします。

クリックすると、現在実行中のインスタンスが表示され、今回Terraform等を用いて構築したEC2インスタンスが表示されていることが確認できました。

最後に構築が完了した後でAWSに登録しているメールアドレスに「Your Request For Accessing AWS Resources Has Been Validated(AWSリソースへのアクセスに関するお客様のリクエストは認証されました。)」というメールが通知されます。

コメント

タイトルとURLをコピーしました