AWSの設定をいろいろ直して、作業内容を忘れそうなので完全に自分用メモとして投稿します。
あとはこれからの課題などのメモです。
やったこと
CloudFormationテンプレートのタスク名とかクラスター名などを修正して再度create-stackした
ELBを作り直す形になったのでELBとACMの証明書が関連付けされてない状態になったため再度関連付けした
とりあえずRDSのエンドポイントとパスワードをハードコーディングしてECSタスクにして、RDSと接続できること確認できた->httpsでアプリを動かすことがひとつの目標だったのでこれはでかい
しかし画像投稿機能(S3にアップロード)が502エラーになり動かなかった。原因調査したところ、AWSのアクセスキーなどの認証情報がタスクに渡せていないようだった。AWS Systems Managerにアクセスキーとシークレットキーのパラメータストアは準備済みだったのでそれをECSの環境変数に手動で設定し、無事画像投稿機能も動くようになった。->CloudFormationのテンプレートでAWS Systems Managerのパラメータストアを指定してstack作成時に認証情報まで渡したい。テンプレート改善案の一つ。
AWS Systems Managerのパラメータが取得できるようにECSタスクのロールを追加した
{ "Statement": [ { "Action": [ "ecr:GetAuthorizationToken", "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "logs:CreateLogStream", "logs:PutLogEvents", "ssm:GetParameters", "secretsmanager:GetSecretValue", "kms:Decrypt" ], "Resource": "*", "Effect": "Allow" } ] }
- ECSタスクを更新したあとのECSサービスでタスクのバージョンをlatestに更新する作業はとりあえず手動で行なった。
今後の課題
インフラでまだ理解が曖昧なところを座学からきっちり勉強してCloudFormationテンプレートを迷いがない構成で書く->他の記事のテンプレートを参考にするのは良いけど最終的に自分で1から10まで全部理解できるようにする
まだクラウドアーキテクチャ図を書くのがスムーズにできないので、ちょっとしたCLoudFormationを書いたらそのテンプレートが作成するアーキテクチャ図も書くようにする
アプリケーションにまだまだ機能が少ないので随時追加していく
以下はアプリに追加したい機能一覧
画像一覧画面で各画像クリック/タップしたら詳細画面に遷移し、画像の説明文、等道府県情報、景色情報、投稿された日付など表示するようにする。また、投稿した本人のみに削除と更新機能をつける
ユーザーのマイページを追加してプロフィールなどを見れるようにする
フォロー機能を追加する
コメント機能を追加する