複数のテンプレートを利用して、S3上に独自ドメインでの静的webサイトを構築します。手順でCloudFormationのテンプレートを置くためのS3バケットを作成済であること。公開用バケット名の決定S3バケット名を決めておいてください。独自ドメインで公開する場合は、公開するホスト名にしておく必要があります。手順で作成した、CloudFormationのテンプレートを置くためのS3バケット名を指定します。s3-us-west-1.amazonaws.com/cf-exampleこのURLは、個別テンプレートから共有テンプレートを呼び出すときに利用します。個別テンプレートを置くためのディレクトリを作成します。共通テンプレートを置くためのディレクトリを作成します。ここにあるテンプレートをS3バケットに転送します。siteバケット用テンプレートCloudFormationテンプレートを作成します。}}EOFJSONファイルを作成したら、フォーマットが壊れてないか必ず確認します。validvalidate-templateサブコマンドで、簡単な検証ができます。siteバケットポリシー用テンプレートCloudFormationテンプレートを作成します。}}EOFJSONファイルを作成したら、フォーマットが壊れてないか必ず確認します。validvalidate-templateサブコマンドで、簡単な検証ができます。作成した共通テンプレートを、共通テンプレート用S3バケットに転送します。共通テンプレートのテンプレート用バケットへの転送テンプレートを、S3バケットに転送します。共通テンプレートの確認テンプレートが転送されたことを確認します。個別案件用のテンプレートを作成します。先程作成した2つの共通テンプレートを呼び出して利用します。(S3バケット)CloudFormationテンプレートを作成します。"${S3_DESCRIBE}"}EOFJSONファイルを作成したら、フォーマットが壊れてないか必ず確認します。S3バケットの作成スタック名を定義します。s3-bucket-www-example-jpS3バケットを作成するスタックを実行します。スタックの状況確認list-stacksコマンドで、スタックの状況を確認してみましょう。.StackStatus'結果CREATE_COMPLETEStackStatusが'CREATE_COMPLETE'になっていれば作成は完了です。それ以外が表示されている場合は、下記コマンドでFailedの文字が出ている前後を見て原因を調べます。作成されたスタックの内容を確認します。実際にS3バケットが作成されていることを確認しましょう。作成されたS3バケットのバケットポリシーを確認しましょう。}上記の内容になっていれば、外部からコンテンツに対するアクセスを許可しています。作成されたS3バケットのwebサイトホスティング設定を確認しましょう。}上記の内容になっていれば、外部からのアクセスに対してコンテンツを返すことができます。Outputsの確認describe-stacksサブコマンドでOutputsの出力を確認できます。コンテンツの転送サンプルコンテンツをS3バケットに転送します。コンテンツの取得GitHubからコンテンツを取得します。取得したコンテンツをS3バケットに転送します。コンテンツの確認S3バケットにコンテンツファイルが転送されたことを確認します。コンテンツへのアクセスブラウザで下記のURLにアクセスして、コンテンツが見えることを確認します。今回は、以下の作業についてはやってないです。(S3バケットの削除)後始末としてS3バケットを削除します。スタックの一覧まず、スタック一覧から削除するスタックのスタック名を確認します。次に、削除するスタック名と、対象となるS3バケット名を特定します。バケットの確認バケットは中身が空でないと削除できないので、バケットにファイルがないか確認します。バケットの中身削除S3バケット内にファイルが存在する場合は、削除します。実際に、スタックを削除してみます。スタックのステータス確認list-stacksサブコマンドで削除状況を確認します。DELETE_COMPLETEStackStatusが'DELETE_COMPLETE'になっていれば削除は完了です。それ以外が表示されている場合は、下記コマンドでFailedの文字が出ている前後を見て原因を調べます。削除対象のバケットが存在しないことを確認します。スタックの一覧list-stacksサブコマンドで他に削除するものがないか確認します。upLoginユーザーは見つかりませんでした。