ハンズオン(簡易版): CFnテンプレート入門(IAM::AccessKey)

2.2. CloudFormationテンプレートのチェック (handson-cli-cfn-iam-AccessKey)

手順の目的

CloudFormationテンプレート"handson-cli-cfn-iam-AccessKey"をチェックします。

設定値の指定

手順に必要な設定値を変数に格納をします。

0. リージョン

リージョンを指定します。

環境変数の設定:

export AWS_DEFAULT_REGION='ap-northeast-1'

1. CloudFormationテンプレートファイル名

CloudFormationテンプレートファイルが存在するディレクトリ名を指定します。

変数の設定:

DIR_CLOUDFORMATION_TEMPLATE="${HOME}/environment/conf-handson-cli-cfn-iam-AccessKey"

CloudFormationテンプレートファイル名を指定します。

変数の設定:

CLOUDFORMATION_TEMPLATE_NAME='handson-cli-cfn-iam-AccessKey'

変数の設定:

FILE_CLOUDFORMATION_TEMPLATE="${DIR_CLOUDFORMATION_TEMPLATE}/${CLOUDFORMATION_TEMPLATE_NAME}.template" \
  && echo ${FILE_CLOUDFORMATION_TEMPLATE}

結果(例):

${HOME}/environment/conf-handson-cli-cfn-iam-AccessKey/handson-cli-cfn-iam-AccessKey.template

設定値の確認

各変数に正しい設定値が格納されていることを確認します。

変数の確認:

cat << END

  # 0. AWS_DEFAULT_REGION:"ap-northeast-1"
       AWS_DEFAULT_REGION="${AWS_DEFAULT_REGION}"

  # 1. FILE_CLOUDFORMATION_TEMPLATE:"${HOME}/environment/conf-handson-cli-cfn-iam-AccessKey/handson-cli-cfn-iam-AccessKey.template"
       FILE_CLOUDFORMATION_TEMPLATE="${FILE_CLOUDFORMATION_TEMPLATE}"

END

各変数について、上の行と下の行の値の内容もしくは形式が同じであることを確認します。 もし異なる場合は、それぞれの手順番号に戻って変数の設定を行います。

処理の実行

CloudFormationテンプレートのバリデーションチェックをします。

変数の確認:

cat << END

  # FILE_CLOUDFORMATION_TEMPLATE:"${HOME}/environment/conf-handson-cli-cfn-iam-AccessKey/handson-cli-cfn-iam-AccessKey.template"
    FILE_CLOUDFORMATION_TEMPLATE="${FILE_CLOUDFORMATION_TEMPLATE}"

END

コマンド:

aws cloudformation validate-template \
  --template-body file://${FILE_CLOUDFORMATION_TEMPLATE}

結果(例):

{
    "Parameters": [],
    "Description": "Template for handson-cli",
    "Capabilities": [
        "CAPABILITY_IAM"
    ],
    "CapabilitiesReason": "The following resource(s) require capabilities: [AWS::IAM::User]"
}

バリデーションコマンドの戻り値を取得します。

変数の設定:

RESULT_VALIDATION=$?

完了確認

本手順の主処理は、以下の完了条件を満たしたときに成功したものとします。

完了条件1: CloudFormationテンプレート"${HOME}/environment/conf-handson-cli-cfn-iam-AccessKey/handson-cli-cfn-iam-AccessKey.template"が有効である。

「CloudFormationテンプレート"${HOME}/environment/conf-handson-cli-cfn-iam-AccessKey/handson-cli-cfn-iam-AccessKey.template"が有効である。」ことを確認します。

コマンド:

echo ${RESULT_VALIDATION}

結果:

0

手順の完了

(参考) マネジメントコンソールの確認

(なし)