CloudFormation を利用して E2 インスタンスを作成する手順について解説します。
最後にリソースを使い終わったらスタックを削除してきれいにします。
以前、CloudFormation を利用して VPC の作成をしました。
【AWS】CloudFormation の基本的な解説(VPCの作成手順)
以前解説した Part.1 は以下となります。
【AWS】CloudFormation で Amazon EC2 インスタンスを作成する手順【単純な作成】【Part.1】
Part.1とPart.2の違いはほぼないですが、2021年の今、再度コマンドラインから CloudFormation で EC2 インスタンスを構築してみます。
CloudFormation の設計
最初にどのような構成にするのか設計をします。
- EC2 インスタンス ← 1台新規作成します。
- EC2 インスタンスのプラットフォーム(OS) ← Amazon Linux2
- EC2 インスタンスの AMI(Amazon マシン イメージ) ← ami-06b31a9cee8dfac33(Amazon Linux 2 AMI (HVM), SSD Volume Type)
- EC2 インスタンスタイプ ← m2.micro
- VPC ← デフォルトの VPC(172.31.0.0/16)上に構築します。
- VPC CIDR ← 172.31.0.0/16
- パブリック IP ← 付けます。
- インターネットゲートウェイ ← デフォルト VPC に既に設定されています。
- セキュリティグループ ← TCP/22 へのアクセス許可
- ルートテーブル ← 既存のルートテーブルを利用します。
前提
以下はすでに設計されていて存在するものとします。
- VPC
- インターネットゲートウェイ
- ルートテーブル
テンプレートの作成
最初にテンプレートを作成します。
今回は設計の通り EC2 インスタンスを1台だけ構築する単純な内容です。
以下のページを参考にテンプレートを作成します。
テンプレートの形式は YAML 形式とします。
YAML 形式を選択した理由はコメントを記載できるからです。
AWS::EC2::Instance
EBS ブロックデバイスマッピングを持つ EC2 インスタンス
まずは以下の単純なテンプレートを実行します。
【Part.1で利用したテンプレートを基に作成】
Linux 上でファイル名「test.yml」で作成します。
[user01@LAPTOP-2N8G36AO-wsl cloudformation]$ vi test.yml AWSTemplateFormatVersion: “2010-09-09” |
aws cloudformation コマンドでテンプレートを実行する
テンプレートを作成したらコマンドでテンプレートを実行します。
■ファイルの場所
[user01@LAPTOP-2N8G36AO-wsl cloudformation]$ pwd |
以下のコマンドを実行します。
コマンドは aws cloudformation deploy コマンドを実行します。
最初はチェンジセット(変更セット)オプションを付けて実行する
■最初にチェンジセット(変更セット)オプションを入れて実行する(まだ構築しない)
[user01@LAPTOP-2N8G36AO-wsl cloudformation]$ aws cloudformation deploy –template-file test.yml –stack-name test1 –no-execute-changeset |
–no-execute-changeset オプションを付けて実行します。
この –no-execute-changeset オプションを付けると事前に変更点が確認できます。
具体的な確認方法は以下の手順となります。
変更点の確認手順
変更点の確認は GUI から行います。
CloudFormationのダッシュボードに移動します。
左側ペインより「スタック」を選択して対象のスタックをクリックします。
「変更セット」タブをクリックします。
変更セットをクリックします。
下図のように EC2 インスタンスが追加されることが確認できます。
aws cloudformation deploy コマンドを実行して環境を構築する
チェンジセット(変更セット)を確認して思いもよらない追加や削除がなく想定通りであることが確認出来たら環境を構築します。
■aws cloudformation deploy コマンドを実行して環境を構築する
[user01@LAPTOP-2N8G36AO-wsl cloudformation]$ aws cloudformation deploy –template-file test.yml –stack-name test1 |
CloudFormation のダッシュボードより確認する
CloudFormation のダッシュボードよりステータスを確認します。
スタックを削除する
リソースを利用したらスタックを削除します。
スタックを削除するとスタックによって構築されたリソースも同時に削除されます。
スタックの削除もコマンドラインから実行します。
■スタックを削除する
[user01@LAPTOP-2N8G36AO-wsl cloudformation]$ aws cloudformation delete-stack –stack-name test1 |
コメント