利用したアプリケーションのログの取り扱いについて書きました。前回まででECSの一通りの機能に関する説明が終わりました。そこで、今回はこれまでの総集編として、ECSを使用したWebアプリケーションを実際に構築してみたいと思います。使用してお馴染みのWordPressを構築してみたいと思います。EC2起動タイプで構築したいと思います。ログに関する設定については、今回は割愛したいと思います。今回は下記の構成でECS環境を構築していきます。セキュリティグループなどを作成します。IGWにする)セキュリティグループALB用(HTTPをすべてのホストからアクセプト)EC2用(ALBからのすべてのTCPをアクセプト)RDS用(EC2からのTCP:3306をアクセプト)これらはECS特有の操作ではないので。細かい説明は割愛します。サブネットは、先ほど作成したプライベートサブネットを設定し、セキュリティグループはRDS用のものを使用します。こちらもECS特有の操作ではないので。細かい設定は割愛します。すべてのプライベートサブネットを含むように設定します。​こちらもECS特有の操作ではないので。細かい設定は割愛します。作成ECSの前段に配置するALBを作成します。こちらもECS特有の操作ではないので。細かい設定は割愛します。返してくるので、デフォルトのままにしていると、いつまで経ってもコンテナがヘルスチェックに合格しなくなります。クラスターの作成ここからが本題です。ECSクラスターを作成します。選択して、ASGも一緒に作成します。起動するインスタンスの設定を行います。インスタンスタイプや、起動数を設定します。​インスタンスはパブリックサブネットにいる必要があります。セキュリティグループはEC2用に作成したものを割り当ててください。クラスターの設定は以上です。後は勝手に諸々のリソースを作成してくれます。自動で作成されたAutoScalingGroupの起動設定では、EFSをEC2にマウントすることができないので、起動設定をコピーして、ユーザーデータに下記のEFSを自動マウントするためのスクリプトを追加しておきましょう。上で作成した起動設定を使用するようにASGを更新します。変更してインスタンスを更新しておきましょう。タスク定義を作成タスク定義を作成していきます。EC2起動タイプを選択して始めます。重要な箇所のみ説明を記載しているので、タスク定義名やCPU割り当て等の一般的な項目は適宜設定してください。バインドマウント用のボリュームの作成コンテナの設定を行う前に、コンテナにマウントするボリュームを作成しておきます。EFSを自動マウントしたディレクトリを設定してください。ページから、最新のイメージを持ってきます。メモ割り当てはリは適当です。動的ポートマッピングが有効になりません。​WordPressコンテナに渡す環境変数を設定します。作成したRDSの情報を記載します。サービス作成タスクの作成もできたので、サービスを作成していきます。いっても、サービスの作成はそこまで難しくありません。名前や動作させるタスクの設定を行います。ターゲットグループとするコンテナの割り当てを行います。今回はタスクにコンテナが1つなので、迷うことはありませんね。残りの情報も、必要に応じて設定して、サービスを作成すると、数分でタスクが立ち上がってきます。動作チェックALBのDNS名にブラウザからアクセスしてみます。無事に見慣れた画面ができてきました!ログインしてテスト記事も書けます(画像も投稿できます)。タスクをkillすると、502が帰ってきます。再度タスクが立ち上がっても、EFSをマウントしているので、画像もきちんと保持されています。完璧にECSでWordPressが動きましたね!まとめ今回は、ECS再入門シリーズの総集編として、実際にECSを使用してWordPressを構築してみました。ただのEC2を用いたアプリケーションに比べると手順が複雑ですが、コンテナ技術の恩恵を多分に受けられるようになるので、そのための必要なコストかと思います。このECS再入門シリーズが皆様のECSの理解を深める事に寄与できることを祈っています。k-masatany。