アプリケーション管理サービスの公開機能を使用して、Java アプリケーションを Elastic Compute Service (ECS) インスタンスのグループにデプロイします。このサービスは、複数のサーバーにわたってアプリケーションを公開し、そのライフサイクルを管理するための一元化された再利用可能なワークフローを提供し、デプロイの効率と信頼性を向上させます。
ソリューションアーキテクチャ
アプリケーション管理、Object Storage Service (OSS)、および ECS が連携して、自動化されたアプリケーションデプロイを実現します。
中心となるワークフローは以下の通りです:
アプリケーションとリソースの定義:アプリケーション管理でアプリケーションとアプリケーショングループを作成し、ターゲットの ECS インスタンスをグループにインポートします。
デプロイメントの準備:アプリケーションの JAR パッケージを OSS のバケットにアップロードします。次に、JAR パッケージ情報とデプロイメントスクリプトを含むアプリケーションのデプロイメントを作成します。
デプロイメントの実行:アプリケーション管理を使用して、指定されたデプロイメントをターゲットのアプリケーショングループに公開します。アプリケーション管理は自動化タスクを使用してデプロイメントをダウンロードし、アプリケーションを起動します。
基本概念
アプリケーション、アプリケーショングループ、デプロイメントは、アプリケーション管理における中心的な概念です:
アプリケーション:アプリケーションは、アプリケーションプログラムと、そのデプロイに必要なリソースで構成されます。単一のユニットとして管理および保守されます。
アプリケーションプログラム:Web サービス、機械学習モデル、データベースサービスなど、デプロイ対象のプログラム。
リソース:ECS インスタンス、ESS スケーリンググループ、コンテナクラスターなど、アプリケーションプログラムのデプロイに必要なクラウドリソース。
アプリケーショングループ:アプリケーションは複数のグループに分割して、異なる環境のリソースと構成を分離できます。例:
環境別:
prod-group(本番環境グループ) とpre-group(ステージング環境グループ)。リージョン別:
hangzhou-group(杭州リージョングループ) とbeijing-group(北京リージョングループ)。グループを作成した後、各グループにリソースをインポートできます。
デプロイメント:デプロイメントは、アプリケーションリリースのためのソースファイルと起動/停止スクリプトのコレクションです。リリースに必要なすべての情報を含み、標準化されたバージョン管理されたアプリケーション管理に使用されます。アプリケーションをリリースするには、そのデプロイメントをアプリケーショングループに公開します。
操作手順
アプリケーションを作成し、Elastic Compute Service (ECS) インスタンスをインポートします。
ECS インスタンスがない場合は、ECS コンソール - カスタム起動 ページから Linux オペレーティングシステムを実行するインスタンスを作成します。
Alibaba Cloud Linux 3.2104 LTS 64 ビットまたは Ubuntu 22.04 64 ビットの ECS イメージを使用することを推奨します。以下の例のスクリプトは、これら 2 つのイメージに基づいています。異なるイメージを使用する場合は、必要に応じてスクリプトを修正してください。
ECS コンソール - アプリケーション管理 ページに移動し、[既存のリソースから作成] をクリックして、アプリケーションとアプリケーショングループを作成し、ECS インスタンスをアプリケーショングループにインポートします。
OSS デプロイメントを作成します。
公式のサンプル JAR パッケージをダウンロードし、OSS にアップロードします。
ECS コンソール - アプリケーション管理 ページに移動します。[マイアプリケーション] タブで、ターゲットアプリケーションの名前をクリックします。
アプリケーションの製品ページで、[デプロイメント] タブを選択し、[デプロイメントの作成] をクリックします。
[デプロイメントの作成] ページで、RevisionType を [OSS ファイル] に設定します。パラメーターを設定し、[OK] をクリックします。
OSS ファイル情報:OSS バケットと JAR パッケージへのパスを指定します。
ECS インスタンスと OSS バケットが同じリージョンにある場合は、内部ネットワークダウンロードを選択してダウンロード速度を向上させることができます。
作業ディレクトリ:起動スクリプトと停止スクリプトが実行されるディレクトリです。OSS ファイルはこのディレクトリに自動的にダウンロードされます。例:
/root/deploy。Alibaba Cloud Linux
start_application() { set -e yum install -y maven-3.5.4 java -jar ./sample-spring-1.0-SNAPSHOT.jar & } start_applicationUbuntu
start_application() { set -e apt update apt install -y maven java -jar ./sample-spring-1.0-SNAPSHOT.jar & } start_application### Stop the application (if any) stop_application() { PID=$(ps -ef | grep "sample-spring-1.0-SNAPSHOT.jar" | grep -v "grep" | awk '{print $2}') if [ -n "$PID" ]; then kill -9 $PID fi } stop_application
デプロイメントリストに戻ります。作成したデプロイメントを見つけて、[公開] をクリックします。ターゲットグループを選択し、[OK] をクリックしてデプロイを開始します。
結果の検証
ターゲットインスタンスの詳細ページに移動します。[接続] をクリックし、[ワークベンチ] を選択します。ページのプロンプトに従ってターミナルにログインします。
curl http://localhost:8080/helloコマンドを実行します。戻り値がAlibaba Spring Sample!であれば、デプロイは成功です。