すべてのプロダクト
Search
ドキュメントセンター

CloudOps Orchestration Service:OSS デプロイ

最終更新日:Jun 23, 2026

OSS デプロイは、Object Storage Service (OSS) からアプリケーションのソースファイルを Elastic Compute Service (ECS) インスタンスにダウンロードし、シェルスクリプトを実行してアプリケーションを起動または停止します。

仕組み

重要
  • Auto Scaling (ESS) グループにデプロイする場合、スケーリングアクティビティはデプロイ中に一時停止し、結果にかかわらずデプロイが完了すると自動的に再開します。

  • 各デプロイは、停止してから起動するシーケンスで実行されます。まず停止スクリプトが実行され、次に起動スクリプトが実行されます。

  1. デプロイの作成と公開

    OSS 内のアプリケーションのソースファイルの場所と、起動スクリリプトおよび停止スクリプトを指定します。

    リリースタスクを作成し、リリースモードを選択して、ターゲットのアプリケーション グループにデプロイを公開します。

  2. 自動デプロイフロー

    1. OSS ファイルの場所、起動スクリプト、停止スクリプトなどのデプロイ設定を取得します。

    2. 各インスタンスの作業ディレクトリに OSS ファイルをダウンロードします。

    3. 停止スクリプトを実行して、以前のバージョンのアプリケーションを停止します。

    4. 起動スクリプトを実行して、新しいバージョンのアプリケーションを起動します。

注意事項

  • デプロイは Linux インスタンスでのみサポートされています。

  • 起動スクリプトと停止スクリプトは、シェルスクリプトである必要があります。

操作手順

  1. アプリケーションを作成し、ECS インスタンスをインポートします。

    1. ECS インスタンスがない場合は、[ECS console - Custom Launch] ページに移動して Linux ECS インスタンスを作成します。

      以下のサンプルスクリプトは、これらのイメージ用です。別のイメージを使用する場合は、それに応じてスクリプトを修正する必要があります。
    2. [ECS console - Application management] ページに移動し、既存のリソースをインポートして作成 をクリックしてアプリケーションとアプリケーション グループを作成し、ECS インスタンスをアプリケーション グループにインポートします。

  2. OSS デプロイを作成します。

    1. 公式サンプルの JAR パッケージをダウンロードし、OSS にアップロードします。

    2. [ECS console - Application management] ページに移動します。[My Applications] タブで、対象のアプリケーションの名前をクリックします。

    3. アプリケーションの詳細ページで デプロイメント タブを選択し、デプロイメントの作成 をクリックします。

    4. デプロイメントの作成 ページで、[Deployment Type]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_application

        Ubuntu

        start_application() {
          set -e
          apt update
          apt install -y maven
          java -jar ./sample-spring-1.0-SNAPSHOT.jar &
        }
        
        start_application
      • アプリケーション停止スクリプト

        # 既存のアプリケーションを停止します
        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
  3. デプロイリストに戻り、作成したデプロイを見つけて 公開 をクリックします。対象のグループを選択し、OK をクリックしてデプロイを開始します。

  4. 結果を検証します。

    1. 対象インスタンスの詳細ページに移動します。 [Connect] をクリックし、[Workbench] を選択します。 ページ上のプロンプトに従ってターミナルにログインします。

    2. curl http://localhost:8080/hello コマンドを実行します。Alibaba Spring Sample! というレスポンスは、デプロイが成功したことを示します。

主要パラメーター

パラメーター

説明

OSS リージョン

ソース OSS バケットのリージョン。

OSS バケット

ソースファイルを含む OSS バケット。

OSS ファイル

OSS バケット内のソースファイル。

OSS ファイルバージョン

ファイルのバージョン ID。バケットでバージョニングが有効になっている場合にのみ必要です。バージョニングが無効になっている場合は、このフィールドを空のままにします。

内部ネットワークダウンロード

ECS インスタンスと OSS バケットが同じリージョンにある場合に、このオプションを選択します。

作業ディレクトリ

ソースファイルがダウンロードされ、起動スクリプトと停止スクリプトが実行されるディレクトリ。

  • 絶対パスである必要があります。

  • ソースファイルはここにダウンロードされ、スクリプトは直接アクセスできます。

  • ディレクトリが存在しない場合は、デプロイ中に自動的に作成されます。

アプリケーション起動スクリプト

アプリケーションの起動に使用されるシェルスクリプト。

アプリケーション停止スクリプト

アプリケーションを停止するためのシェルスクリプトです。 スクリプトは、現在および以前のバージョンのアプリケーションを正しく停止できる必要があります。また、アプリケーションが実行されていない場合でも、エラーを発生させることなく正常に終了する必要があります。

たとえば、次のスクリプトは、my-container という名前のコンテナを停止します。このスクリプトは、すべてのコンテナバージョンが同じ名前を共有すると想定しており、コンテナが存在しない場合はエラーを報告しません:

# アプリケーション名を指定します
APP_NAME="sample-app.jar"

# ps コマンドでプロセスの PID を取得します
PID=$(ps -ef | grep "${APP_NAME}" | grep -v "grep" | awk '{print $2}')

# PID が存在する場合、プロセスを kill します
if [ -n "$PID" ]; then
  kill -9 $PID
fi