きちんと確認の取れていない情報がありますので、参考程度まで。2024/07/14現在の内容。
・NAT インスタンスについて
公式がある程度詳しい。
https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/VPC_NAT_Instance.html#create-nat-ami
既存AMIはAmazon Linux 2018ベースで古いので、Amazon Linux 2023でiptablesをインストール&設定して使う
まずはnet.ipv4.ip_forward=1
sudo /sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo /sbin/iptables -F FORWARD
sudo service iptables save
eth0の部分は実際のインタフェースに変更する。netstatで調べられる
直接は関係のない参考記事:【小ネタ】えっ、Private SubnetからNATサーバを経由せずにyum updateができるって!?
https://dev.classmethod.jp/articles/yum-update-in-private-subnet/
・プライベートサブネットに置くDBサーバ
・セキュリティグループはSSH、HTTP、HTTPSをNATインスタンスに通す
・EC2 Instance Connect Endpoint経由でプライベートなDBインスタンスにポートフォワードする
ローカルからSequel AceなどDBツールを使ってプライベートDBインスタンス上のDBにアクセスできる。
下記の記事を参照。
https://zenn.dev/not75743/scraps/7eae7d7905b6d4
MariaDBをポート3389に変更し、EC2 Instance Connect Endpoint経由で接続する
https://qiita.com/nix/items/f92401855651ad9494ac
$ aws ec2-instance-connect open-tunnel –instance-id インスタンスID –remote-port リモートポート –local-port ローカルポート
※ローカルポートは任意。23389など。
リモートポートは、AWS側で制限しているのか、Instance Connect Endpoint経由だと22か3389しか通さないっぽいので、3389にする。もちろんMariaDBのポートも3389に変更する。
MySQLの初期パスワードを設定する
下記記事参照
https://qiita.com/heatflat1021/items/c2b2818bdb0d4530f25a
MariaDBの初期設定
下記記事参照
https://qiita.com/RubiLeah/items/73433eaf6b5d3ed45133
MariaDBのポートを変更する(3389に変更する)
下記記事参照
https://qiita.com/WebSysRider/items/85ecc1e237858ffc04b1
MariaDB Connection Refused By SG Rule(セキュリティグループでポート3389を通すこと)
下記記事参照
https://github.com/aidansteele/rdsconn/issues/5
MariaDB Connection Refused
https://zenn.dev/ryo_kawamata/articles/mysql-connect-error
・WP on ECS Fargate構築
下記記事参照(とても詳しくて助かりました)
https://qiita.com/hirai-11/items/bde67b8334f3362c8009
はまりポイント
・M1 Macユーザは–platform linux/amd64でビルドすること。どうもArmのFargateを使ったとしてもそのままでは実行できない模様。
・デプロイに失敗する→CloudWatchFullAccessを付与
https://repost.aws/ja/questions/QUg9mkD-PXSRynw7lj_gEacQ/ecs-fargate-でサービスをデプロイできない
・ヘルスチェックに失敗する→ローカルDockerで試す
→ヘルスチェックアドレスが/wp-admin/install.phpだと302になるっぽい。イメージルート(/var/www/html)に1.htmlを配置し、それでチェックさせる(きちんとしたヘルスチェックにはなっていない)。
https://repost.aws/ja/knowledge-center/ecs-task-container-health-check-failures
・ポートはALBが443で受けてターゲットは80に流す。コンテナポートは80:80のみ
・環境変数WORDPRESS_DB_HOSTの部分に、:3389などと末尾にポートをつける。
Was this helpful?
0 / 0