しばらくローカルではGoとVueはDocker使わずに開発してたのですが、ある程度機能ができてきたのでAWSにデプロイする練習しようとしたら思ったよりうまく行かず苦戦しています。 現時点ではどの知識が足りないのかも自分の中でごちゃっとしていて、ちょっと道筋が見えづらい感じなので一旦整理用のメモ。
現状
GoとVue CLIで写真投稿系のwebサービスを開発中で、写真投稿機能と写真一覧取得機能などは実装できている。
次にやりたいこと
アプリケーションの機能を増やす前に一旦AWSのECSにデプロイしたい。
パブリックな場所でアプリケーションが想定通りに動くことを確認してモチベーション上げるため。
それに早い段階でAWSの簡単なアーキテクチャのイメージとデプロイ方法を確率した方がその後の開発が進めやすいと考えたから。
問題点
ECSにデプロイするためにローカルのGoとVueのアプリケーションのDocker化したところ、S3へ画像をアップロードする処理が失敗するようになった。
原因はAWSのcredentialsを設定できていなかったため。ローカルでは設定していたがDockerイメージには書いていなかったのでコンテナにAWSのアクセスキーとかの情報が渡せていない。(ここらへんから理解と文言正しいか微妙です)
解決するためにやること
・AWSのcredentialsを環境変数にしてコンテナに含む方法を調べる。
まとめ
今の自分の状況をまとめると上記のような感じです。文字にするまでは考えがまとまっていなかったけど書いてたら思ったよりシンプルな問題だと気づきました。 よくわからなくなったときには文章にしてみるのも良さそうだ。
あとブログこまめに書いているおかげで、コーディング中に問題が発生したときも、ああこれ厄介ではあるけどブログのネタになるな、みたいな感じで壁にあたるのが得なことに思えるので良い感じです。
エンジニアとして成長していくために、常にモチベーションを高く持ち続ける努力よりも、自然とスキルが上がる仕組みを自分の中に持つ方を重要視していて、今のところ毎日技術ブログ書くことで良い流れが作れてます。