アプリケーション公開管理は、継続的デプロイメント (CD) を実装します。標準化されたリリースプロセスにより、Elastic Compute Service (ECS) や Container Service for Kubernetes (ACK) などのクラウドリソースにアプリケーションが自動的にデプロイされます。これにより、アプリケーション公開の効率と安定性が向上します。
基本概念
アプリケーションは、複数のアプリケーショングループに分割できます。各アプリケーショングループには、ECS インスタンスなどの計算リソースのセットが含まれています。アプリケーションをリリースするには、各アプリケーショングループにデプロイします。
アプリケーションとアプリケーショングループ
アプリケーション:アプリケーションは、アプリケーションプログラムと、そのデプロイメントに必要なリソースで構成されます。単一のユニットとして管理および保守されます。
アプリケーションプログラム:Web サービス、機械学習モデル、データベースサービスなど、デプロイされるプログラム。
リソース:ECS、ESS スケーリンググループ、コンテナークラスターなど、アプリケーションプログラムのデプロイに必要なクラウドリソース。
アプリケーショングループ:アプリケーションは、異なる環境のリソースと構成を分離するために、複数のグループに分割できます。例:
環境別:
prod-group(本番環境グループ) とpre-group(ステージング環境グループ)。リージョン別:
hangzhou-group(杭州リージョングループ) とbeijing-group(北京リージョングループ)。
グループを作成した後、各グループにリソースをインポートできます。例えば、4 つの ECS インスタンスを杭州グループに、2 つの ECS インスタンスを北京グループにインポートできます。アプリケーションプログラムは、これらのインポートされたリソースにデプロイされます。
デプロイメント
デプロイメントは、アプリケーションのソースファイルと起動/停止スクリプトのコレクションです。リリースに必要なすべての情報が含まれています。これにより、標準化されたバージョン管理によるアプリケーション管理が可能になります。アプリケーショングループにデプロイメントを公開すると、アプリケーションのリリースが完了します。
タイプ | シナリオ例 |
Java アプリケーションの JAR パッケージを OSS に保存します。デプロイメントで、JAR パッケージと起動/停止スクリプトを指定します。 | |
Python アプリケーションのコードを Git リポジトリに保存します。デプロイメントで、Git リポジトリのアドレスと起動/停止スクリプトを指定します。 | |
リリースするアプリケーションを含む ECS イメージをビルドします。デプロイメントで、このイメージを直接指定します。 | |
アプリケーションの Docker イメージを Container Registry (ACR) リポジトリに保存します。デプロイメントで、イメージアドレスと起動/停止スクリプトを指定します。 | |
デプロイメントソースが不要な場合に、このタイプのデプロイメントを作成します。アプリケーションの起動または停止に関連するすべてのデプロイメント操作は、シェルスクリプトを介して実装されます。 |
リリースパターン
リリースパターン | 説明 | シナリオ例 |
フルリリース | 現在のグループ内のすべてのインスタンスにアプリケーションを公開します。 | 本番環境グループ内のすべてのインスタンスにアプリケーションを公開します。 |
カナリアリリース | 現在のグループ内で手動で選択したインスタンスにアプリケーションを公開します。 | 機能検証のために単一のインスタンスにアプリケーションを公開します。 |
アプリケーションパラメーター
アプリケーショングループ用に作成されたパラメーターは、デプロイメントの起動/停止スクリプトで環境変数として参照できます。
アプリケーションパラメーターは、標準パラメーターと暗号化パラメーターに分かれています。パスワードやキーなどの機密情報については、暗号化パラメーターを使用してセキュリティを向上させます。
関連ドキュメント
「ECS インスタンスのグループにアプリケーションをデプロイ」し、アプリケーション公開管理をすぐに使い始めることができます。