SAEでwebアプリをコンテナデプロイする
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