ハンズオン: VPC / EC2 / AutoScaling入門¶
目的¶
VPCを構築し、管理用のEC2インスタンスと、Webホスト用のAutoScaling環境を構築する。
前提¶
作業環境条件¶
本作業は、以下の作業環境で行います。
作業環境条件1: OSとバージョン
本手順は、Amazon Linux "2018.03"以降のOS環境での実施を前提としています。
コマンド:
cat /etc/system-release
結果(例):
Amazon Linux AMI release 2018.03
作業環境条件2: シェルとバージョン
本手順は、bash "4.2.46(2)-release"以降のシェル環境での実施を前提としています。
コマンド:
bash --version -v \ | head -1
結果(例):
GNU bash, バージョン 4.2.46(2)-release (x86_64-redhat-linux-gnu)
作業環境条件3: AWS CLIのバージョン
本手順は、AWS CLIのバージョン"1.16.245"以降での実施を前提としています。
コマンド:
aws --version
結果(例):
aws-cli/1.16.245 Python/3.6.5 Linux/4.14.59-64.43.amzn1.x86_64 botocore/ 1.11.2
注釈
バージョンが古い場合は最新版に更新しましょう。
コマンド:
sudo -H pip install -U awscli
手順¶
ローカル環境での作業¶
今回は"${HOME}/tmp/parameter-handson-cli-instance-stateless-loadaverage"をパラメータファイル情報用ディレクトリとします。
ディレクトリが存在することを確認します。
コマンド:
ls -d ${HOME}/tmp/parameter-handson-cli-instance-stateless-loadaverage
結果(例:存在する場合):
${HOME}/tmp/parameter-handson-cli-instance-stateless-loadaverage
存在しない場合は作成します。
コマンド:
mkdir -p ${HOME}/tmp/parameter-handson-cli-instance-stateless-loadaverage
1. VPCの構築¶
- 1.1. VPCの構築 (handson-cli-instance-stateless-loadaverage-vpc)
- 1.2. IGWの構築 (handson-cli-instance-stateless-loadaverage-igw)
- 1.3. IGWのアタッチ (handson-cli-instance-stateless-loadaverage-vpc : handson-cli-instance-stateless-loadaverage-igw)
- 1.4. ルートテーブルの作成 (handson-cli-instance-stateless-loadaverage-routetable)
- 1.5. ルートの作成 (IGW: 0.0.0.0/0)
2. 管理用サブネットの構築¶
3. EC2インスタンスの構築¶
- 3.1. EC2キーペアの作成 (handson-cli-instance-stateless-loadaverage-keypair)
- 3.2. EC2ユーザデータの作成 (handson-cli-instance-stateless-loadaverage-admin-userdata)
- 3.3. EC2インスタンスの作成 (ユーザデータ/キーペア/PublicIP: handson-cli-instance-stateless-loadaverage-admin-instance)
- 3.4. セキュリティグループのIngressルール追加 (CIDR指定: admin-handson-cli-instance-stateless-loadaverage-sg:22022)
4. AMIの作成¶
5. Webホスト用サブネットの構築¶
- 5.1. サブネットの構築 (webhost-alpha-handson-cli-instance-stateless-loadaverage-subnet)
- 5.2. ルートテーブルの更新 (webhost-alpha-handson-cli-instance-stateless-loadaverage-subnetとの関連付け)
- 5.3. サブネットの構築 (webhost-charlie-handson-cli-instance-stateless-loadaverage-subnet)
- 5.4. ルートテーブルの更新 (webhost-charlie-handson-cli-instance-stateless-loadaverage-subnetとの関連付け)
- 5.5. セキュリティグループの構築 (webhost-handson-cli-instance-stateless-loadaverage-sg)
6. AutoScaling環境の構築¶
- 6.1. EC2起動テンプレートドキュメントの作成 (handson-cli-instance-stateless-loadaverage-launchtemplate)
- 6.2. EC2起動テンプレートの作成 (handson-cli-instance-stateless-loadaverage-launchtemplate)
- 6.3. AutoScalingグループの作成 (handson-cli-instance-stateless-loadaverage-ag)
- 6.4. AutoScalingグループの更新 (desired capacity: handson-cli-instance-stateless-loadaverage-ag)
- 6.5. セキュリティグループのIngressルール追加 (CIDR指定: webhost-handson-cli-instance-stateless-loadaverage-sg:80)
- 6.6. EC2インスタンスへのブラウザアクセス (AutoScaling: handson-cli-instance-stateless-loadaverage-ag)
7. AutoScaling スケジュールアクションの利用¶
後始末1. AutoScaling環境の破棄¶
- 後始末1.1. セキュリティグループのIngressルール削除 (CIDR指定: webhost-handson-cli-instance-stateless-loadaverage-sg:80)
- 後始末1.2. AutoScalingグループの更新 (desired capacity: handson-cli-instance-stateless-loadaverage-ag)
- 後始末1.3. AutoScalingグループ削除 (handson-cli-instance-stateless-loadaverage-ag)
- 後始末1.4. EC2起動テンプレートの削除 (handson-cli-instance-stateless-loadaverage-launchtemplate)
後始末2. Webホスト用サブネットの破棄¶
後始末4. EC2インスタンスの破棄¶
後始末5. 管理用サブネットの破棄¶
後始末6. VPCの破棄¶
後始末7. ディレクトリの削除¶
一時ファイル用ディレクトリの削除
一時ファイル用ディレクトリを削除します。
コマンド:
rm -Rf ${HOME}/environment/tmp-handson-cli-instance-stateless-loadaverage
設定ファイル用ディレクトリの削除
(不要であれば)設定ファイル用ディレクトリを削除します。
コマンド:
rm -Rf ${HOME}/environment/conf-handson-cli-instance-stateless-loadaverage
ローカル環境での作業¶
パラメータファイル情報用ディレクトリを削除します。
コマンド:
rm -Rf ${HOME}/tmp/parameter-handson-cli-instance-stateless-loadaverage