ハンズオン: CDP (website serverless https)¶
目的¶
S3 + Route53 + CloudFrontでサーバレスWebサイトを構築する。
前提¶
作業環境条件¶
本作業は、以下の作業環境で行います。
作業環境条件1: OSとバージョン
本手順は、Amazon Linux "Amazon Linux AMI release 2018.03"以降のOS環境での実施を前提としています。
コマンド:
cat /etc/issue | head -1
結果(例):
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の最新バージョンでの実施を前提としています。
コマンド:
aws --version
結果(例):
aws-cli/1.16.2 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"をパラメータファイル情報用ディレクトリとします。
ディレクトリが存在することを確認します。
コマンド:
ls -d ${HOME}/tmp/parameter-handson-cli
結果(例:存在する場合):
${HOME}/tmp/parameter-handson-cli
存在しない場合は作成します。
コマンド:
mkdir -p ${HOME}/tmp/parameter-handson-cli
1. コンテンツ用S3バケットの構築¶
- 1.1. S3バケットの作成 (handson-cli.<ドメイン名>)
- 1.2. S3バケットの作成 (handson-cli.<ドメイン名>-log)
- 1.3. S3バケットACL更新 (LogDelivery: handson-cli.<ドメイン名>-log)
- 1.4. S3バケット ログ設定 (handson-cli.<ドメイン名>)
- 1.5. S3バケットポリシドキュメントの作成 (handson-cli.<ドメイン名>)
- 1.6. S3バケットポリシ作成 (handson-cli.<ドメイン名>)
- 1.7. S3バケット WebsiteHosting設定 (handson-cli.<ドメイン名>)
2. コンテンツ保守用環境の構築¶
- 2.1. IAMグループの作成 (handson-cli-website-webMaintGroup)
- 2.2. IAMポリシドキュメントの作成 (handson-cli-website-S3BucketWritePolicy)
- 2.3. IAMポリシの作成 (handson-cli-website-S3BucketWritePolicy)
- 2.4. IAMグループのポリシー追加 (handson-cli-website-webMaintGroup: handson-cli-website-S3BucketWritePolicy)
- 2.5. IAMユーザの作成 (handson-cli-website-webMaintUser)
- 2.6. IAMユーザのIAMグループへの追加 (handson-cli-website-webMaintUser: handson-cli-website-webMaintGroup)
- 2.7. APIアクセスキーの作成 (handson-cli-website-webMaintUser)
- 2.8. AWS認証ファイルの作成
3. コンテンツのリリース¶
注釈
プロファイル名"handson-cli-website-webMaintUser"の権限でAWSにアクセスするために、以下の環境変数を設定します。
変数の設定:
export AWS_DEFAULT_PROFILE="handson-cli-website-webMaintUser"
注釈
環境変数を削除して、プロファイルの権限を無効にします。
変数の設定:
export -n AWS_DEFAULT_PROFILE
4. コンテンツの独自ドメイン化¶
5. SSL証明書の作成¶
手順 (破棄)¶
z. SSL証明書の破棄¶
課題
- z.1. Route53 リソースレコードセットの破棄 (CNAME for ACM)
- z.2. ACM証明書の破棄
z. Route53ゾーンの破棄¶
課題
- z.1. Route53ゾーンの破棄
z. コンテンツ用S3バケットの破棄¶
課題
- z.1. APIアクセスキーの破棄
- z.2. AWS認証ファイルの破棄
- z.3. IAMグループのポリシー剥奪
- z.4. IAMポリシの破棄
- z.5. IAMユーザのIAMグループへの削除
- z.6. IAMグループの破棄
- z.7. IAMユーザの破棄