設定値の指定
設定値の指定
手順に必要な設定値を変数に格納をします。
1. CloudFormationリソース名
CloudFormationリソース名を指定します。
変数の設定:
TEMPLATE_CFN_RESOURCE_NAME='SGIngress0Cidr'
2. リソースファイル用ディレクトリ
リソースファイル用ディレクトリを指定します。
変数の設定:
DIR_TEMPLATE_CFN_RESOURCE="${HOME}/environment/conf-handson-cli-cfn-ec2-SecurityGroupIngress/resources"
ディレクトリが存在することを確認します。
コマンド:
ls -d ${DIR_TEMPLATE_CFN_RESOURCE}
結果(例:存在する場合):
${HOME}/environment/conf-handson-cli-cfn-ec2-SecurityGroupIngress/resources
存在しない場合は作成します。
コマンド:
mkdir -p ${DIR_TEMPLATE_CFN_RESOURCE}
結果(例):
3. リソースファイル名
リソースファイル名を指定します。
変数の設定:
FILE_TEMPLATE_CFN_RESOURCE="${DIR_TEMPLATE_CFN_RESOURCE}/${TEMPLATE_CFN_RESOURCE_NAME}.txt" \
&& echo ${FILE_TEMPLATE_CFN_RESOURCE}
結果(例):
${HOME}/environment/conf-handson-cli-cfn-ec2-SecurityGroupIngress/resources/SGIngress0Cidr.txt
4. セキュリティグループのリソース名
セキュリティグループのリソース名の指定します。
変数の設定:
TEMPLATE_CFN_RESOURCE_NAME_EC2_SECURITY_GROUP='SecurityGroup1Named'
5. セキュリティグループルールの説明
セキュリティグループルールの説明を指定します。
変数の設定:
EC2_SECURITY_GROUP_RULE_DESCRIPTION='Rule for handson-cli-cfn-ec2-SecurityGroupIngress.'
6. セキュリティグループルールのプロトコル
セキュリティグループルールのプロトコルを指定します。
変数の設定:
EC2_SECURITY_GROUP_RULE_PROTOCOL='tcp'
7. セキュリティグループルールのポート番号From範囲
セキュリティグループルールのポート番号From範囲を指定します。
変数の設定:
EC2_SECURITY_GROUP_RULE_PORT_FROM='80'
8. セキュリティグループルールのポート番号To範囲
セキュリティグループルールのポート番号To範囲を指定します。
変数の設定:
EC2_SECURITY_GROUP_RULE_PORT_TO='80'
9. セキュリティグループルールの対象CIDR
セキュリティグループルールの対象CIDRを指定します。
変数の設定:
EC2_SECURITY_GROUP_RULE_CIDR='0.0.0.0/0'
設定値の確認
各変数に正しい設定値が格納されていることを確認しながら保存します。
変数の確認:
cat << END
# 1. TEMPLATE_CFN_RESOURCE_NAME:"SGIngress0Cidr"
TEMPLATE_CFN_RESOURCE_NAME="${TEMPLATE_CFN_RESOURCE_NAME}"
# 2. DIR_TEMPLATE_CFN_RESOURCE:"${HOME}/environment/conf-handson-cli-cfn-ec2-SecurityGroupIngress/resources"
DIR_TEMPLATE_CFN_RESOURCE="${DIR_TEMPLATE_CFN_RESOURCE}"
# 3. FILE_TEMPLATE_CFN_RESOURCE:"${HOME}/environment/conf-handson-cli-cfn-ec2-SecurityGroupIngress/resources/SGIngress0Cidr.txt"
FILE_TEMPLATE_CFN_RESOURCE="${FILE_TEMPLATE_CFN_RESOURCE}"
# 4. TEMPLATE_CFN_RESOURCE_NAME_EC2_SECURITY_GROUP:"SecurityGroup1Named"
TEMPLATE_CFN_RESOURCE_NAME_EC2_SECURITY_GROUP="${TEMPLATE_CFN_RESOURCE_NAME_EC2_SECURITY_GROUP}"
# 5. EC2_SECURITY_GROUP_RULE_DESCRIPTION:"Rule for handson-cli-cfn-ec2-SecurityGroupIngress."
EC2_SECURITY_GROUP_RULE_DESCRIPTION="${EC2_SECURITY_GROUP_RULE_DESCRIPTION}"
# 6. EC2_SECURITY_GROUP_RULE_PROTOCOL:"tcp"
EC2_SECURITY_GROUP_RULE_PROTOCOL="${EC2_SECURITY_GROUP_RULE_PROTOCOL}"
# 7. EC2_SECURITY_GROUP_RULE_PORT_FROM:"80"
EC2_SECURITY_GROUP_RULE_PORT_FROM="${EC2_SECURITY_GROUP_RULE_PORT_FROM}"
# 8. EC2_SECURITY_GROUP_RULE_PORT_TO:"80"
EC2_SECURITY_GROUP_RULE_PORT_TO="${EC2_SECURITY_GROUP_RULE_PORT_TO}"
# 9. EC2_SECURITY_GROUP_RULE_CIDR:"0.0.0.0/0"
EC2_SECURITY_GROUP_RULE_CIDR="${EC2_SECURITY_GROUP_RULE_CIDR}"
END
下段の変数が入っていない、もしくは上段と同等の値が入っていない場合は、それぞれの手順番号に戻って変数の設定を行います。
完了確認
「リソースファイル"${HOME}/environment/conf-handson-cli-cfn-ec2-SecurityGroupIngress/resources/SGIngress0Cidr.txt"が存在する。」ことを確認します。
コマンド:
ls ${FILE_TEMPLATE_CFN_RESOURCE}
結果(例):
${HOME}/environment/conf-handson-cli-cfn-ec2-SecurityGroupIngress/resources/SGIngress0Cidr.txt