AWS で WordPress サイトを構築したので忘れないように手順を作成。
コンテナを使用したかったので、ECS と Fargate を使用して構築していきます。
作業内容
①VPCの作成②セキュリティグループの作成
③RDSの作成
④EFSの作成
⑤クラスターの作成
⑥タスクの作成
⑦サービスの作成
⑧動作確認
①: VPCの作成
・Public subnet × 2・Private subnet × 2
作成するリソースを [VPCなど] にして ネットワークリソースもまとめて作成
↓
②セキュリティグループの作成
・ALB(Application Load Balancer用)・EFS(Elastic File System用)
・RDS(Relational Database Service用)
VPC-セキュリティ-セキュリティグループ
↓
[セキュリティグループを作成]
EFS用(VPCは①で作成したものを選択, ソースは先に作成した alb セキュリティグループを選択)
③RDSの作成
・サブネットグループ ・Aurora MySQLRDS-サブネットグループ-[DBサブネットグループを作成]
※アベイラビリティゾーン[1a, 1c], サブネットは Private subnet を選択(VPC サブネットで確認しておく)
RDS-データベース-[データベースの作成]
セキュリティグループには②で作成したRDSを設定
<※[最初のデータベース名]は後で必要となるためメモ
④EFSの作成
EFS-ファイルシステム-[ファイルシステムの作成]作成したファイルシステムから[ネットワーク]タブ-[管理]
※マウントターゲット Private subnet → Public subnet へ変更
VPC[①で作成したVPC], サブネットID[Public subnet], セキュリティグループ[②で作成した EFSを設定]
⑤クラスターの作成
ECS-クラスター-[クラスターの作成]VPC[①で作成したVPC], サブネット[Public subnet のみ]
⑥タスクの作成
ECS-タスク定義-[新しいタスク定義の作成]※イメージURI の [wordpress:latest] は 最新のWordPressアプリケーションを指定
環境変数を設定(WordPress Key = https://api.wordpress.org/secret-key/1.1/salt/)
WORDPRESS_DB_HOST = ライターインスタンスのエンドポイント(下記に図)
WORDPRESS_DB_NAME = DB名(DBインスタンスID ではなく DB名の方 注意 下記に図)
以上で作成
補足
※ライターインスタンスのエンドポイント⑦サービスの作成
ECS-クラスター-[サービス]タグ-[作成]
ファミリー = ⑥で作成したタスク(リビジョンは最新のものを選択)
タスク = 0 にして最初起動しないように設定
VPC = ①で作成したVPC
サブネット = Public subnet のみ
セキュリティグループ名 = ②で作成した alb を選択
ロードバランサーで [Application Load Balancer] を設定
以上で作成
※デプロイが完了するまで時間がかかるため待つ
⑧動作確認
・実際に WordPress に接続できるかチェック ECS-クラスター-作成したクラスター-作成したサービス-[サービスを更新]EC2-ロードバランシング-ロードバランサー-作成したロードバランサーを選択
DNS 名 のアドレスにアクセス
言語選択が表示されれば!!