👶

SAEでwebアプリをコンテナデプロイする

2024/11/06に公開

overview

GCPやAWSでよくやる、サーバーレスサービスにコンテナ化したアプリケーションデプロイするやつをアリババでもやってみよう!とふと思い立ったので、いじってみる。

デプロイしたあとはモニタリングとかアラートとかも触ってみよう とのことで、一旦デプロイまでやってみる!

SAEについて

Alibaba Cloudを眺めているとSAE(Serverless App Engine)を発見した これだ〜

公式ドキュメント

クイックスタート によると、名前空間とVPCを先につくっておく必要があるみたい

今回はdockerイメージをデプロイしたいので、Container Registryも用意をしておく

いざ使ってみる

名前空間とVPCをそれぞれつくる

そしてContainer Registryにdocker imageをpushしておく

今回はただpythonでfastapiを用いてhelloを返すだけのアプリケーションをpushした

どうやらVPCに付随するセキュリティグループもいるようなのでそれもつくる

いざSAEで Create Application する!

アプリケーションつくるときに色々設定できるみたい

  • Startup Command Settings
  • Image Startup Acceleration(ContainerRegistryがEnterpriseのときのみ)
  • Environment Variable Settings
  • Service Registration and Discovery
  • Hosts Binding Settings
  • Application Health Check
  • Application Lifecycle Management
  • Application Outbound/Inbound Internet Access
  • Log Collection Service
  • Persistent Storage
  • Configuration Management

この中で今回はApplication Health Checkを設定してみる

Application Instance Liveness CheckとApplication Business Readiness Checkをそれぞれ設定できるみたいなので設定してみる

いざデプロイ!

Applicationsから詳細みてみるとなにやらImagePullBackOffでエラーが。。。

imageのアドレスがContainerRegistryのものと違うみたい

なんでや!と思い公式ドキュメントをみていたら該当箇所の記述発見!

oh…

選択すると旧バージョンのアドレスが入るっぽいので直接入力でimageアドレスを更新したらいけた!!

health checkも問題なし!

でもこのままだとパブリックアクセスできないので、Basic Informationタブの下部からSLBを設定する〜

しばしまって現れたエンドポイントにアクセスする

きた〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

これで簡易的なデプロイ完了〜✌️

今回はここまで!

次はモニタリングやアラートをみてみようと思う〜〜〜〜〜〜〜〜

Discussion