AWSのLightsailはDockerでWebアプリをさくっとデプロイ出来そうなので、ECSなんかに比べたらかなり簡単にWebアプリを公開できそうです。
同じように簡単にWebアプリを公開できるサービスとしてはBeanstalkやAmplifyがありますが、Beanstaklは意外にデプロイに手間がかかったり、Amplifyはランタイムが限定される、など、ちょっと使いにくさがあり、Lightsailの手軽さには敵いません。
(Amplifyは大好きですけどね)
そこでちょっと試してみたのですが・・・これがなかなか上手くいかない!
上手くいくケース
Lightsailの中にサンプルコンテナをデプロイする機能があり、これを使うとうWebアプリが起動します。
(まあ、これが上手くいかなかったら大問題
上手くいかないケース
では、サンプルコンテナのソースを自分でデプロイし、Docker Hubにアップしたイメージから起動しようと考えたのですが、これが上手くいかない。
上記のようなログが出ているので、Dockerコンテナが起動していないか、あるいは所定のポートが開かれていないかのいずれかなのでしょう。
が、何せこれ以上のログが出ないので調べようがないのですよね・・・どうやってデバッグするのが正解なんでしょう?
色々試してみます。
ちなみに、サンプルのソースはここです。
https://github.com/aws-samples/amazon-lightsail-examples/tree/main/containers/hello-world
これを自前でビルドしてLightsailで起動できることを当面の目標とします。
目標を達成しました!〜やったこと〜
こちらの記事にある通り、Lightsailはlinux/x86_64向けにビルドされたものしか実行できないようです。
(そもそも、docker build
にプラットフォーム指定がある、ということを知りませんでした)
HTMLファイル1枚のどシンプルなWebアプリのビルドには成功したので、Haskell+Elmもこれで上手くいったらいいな・・・妄想しています。そちらのチャレンジはまた別記事にて。