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

Auto Scaling:Alibaba Cloud DevOps パイプラインを使用した ECI スケーリンググループのイメージの自動ビルドと更新

最終更新日:Jun 09, 2026

Alibaba Cloud DevOps パイプラインと Auto Scaling を統合することで、ワンクリックでコンテナイメージを自動的にビルドし、ECI スケーリンググループにデプロイできます。

仕組み

このソリューションでは、Alibaba Cloud DevOps パイプラインを使用して、コード更新後のイメージのビルドとデプロイを自動化します。

  1. パイプラインが、コードリポジトリからコンテナイメージをビルドします。

  2. パイプラインが、イメージを Container Registry (ACR) に発行します。

  3. パイプラインが Operation Orchestration Service (OOS) を使用して、新しいイメージを使用するようにスケーリンググループのインスタンスとスケーリング設定を更新します。

Alibaba Cloud DevOps とは

前提条件

RAM ユーザーでログインする場合は、必要な権限があることを確認してください。RAM ユーザー権限の管理

カスタムポリシーの例

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "ess:*",
                "cr:*",
                "rdc:*",
                "vpc:Describe*",
                "ecs:DescribeSecurityGroups",
                "oos:ListExecutions",
                "oos:ListTaskExecutions",
                "oos:GetExecutionTemplate",
                "eci:Describe*",
                "eci:ListUsage",
                "ram:GetRole"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

環境の設定

以下の手順に従って、ワンクリックでのイメージデプロイを設定します。

ステップ1:Container Registry (ACR) リポジトリの作成

重要

すでに ACR リポジトリがある場合は、このステップをスキップできます。

リポジトリには、ビルドされたイメージが格納されます。

  1. Container Registry コンソールにログインします。

  2. ACR インスタンスを作成します。

    1. 上部メニューで、リージョンを選択します。

      説明

      内部ドメイン名による VPC 通信を有効にするには、リポジトリとスケーリンググループを同じリージョンに配置してください。リージョンをまたいで設定する場合、リポジトリとスケーリンググループインスタンスの両方にパブリックネットワークアクセスが必要です。

    2. [インスタンス] ページで [パーソナルインスタンス] をクリックし、インスタンスが作成されるまで待ちます。

    3. インスタンスが作成されたら、インスタンス詳細ページで Docker ログインパスワードのリセット をクリックし、画面の指示に従ってパスワードを設定します。

  3. レジストリのログインパスワードを設定した後、左側メニューで 名前空間 をクリックします。次に、名前空間を作成 をクリックし、画面の指示に従って名前空間を作成します。

  4. 左側メニューで リポジトリ を選択し、リポジトリの作成 をクリックします。画面の指示に従ってパラメーターを設定します。次の表に、主要なパラメーターを示します。

    • リポジトリ情報

      パラメーター

      説明

      [名前空間]

      前の手順で作成した名前空間を選択します。

      ess_eci_test_namespace

      [リポジトリ名]

      リポジトリのカスタム名を入力します。

      ess_eci_test_repo

      [リポジトリタイプ]

      プライベート を選択します。

      [プライベート]

      [サマリー]

      リポジトリの簡単な説明を入力します。

      test

    • コードソース

      ローカルリポジトリ を選択し、リポジトリの作成 をクリックします。

  5. リポジトリが作成されると、その 詳細 ページにリダイレクトされます。後で使用するために、インターネット を見つけてコピーします。

ステップ2:ECIスケーリンググループの作成

重要

すでにスケーリンググループがある場合は、このステップをスキップできます。

スケーリンググループは、次のいずれかの方法で作成できます:

  • YAML ファイルを使用

  • Web コンソールフォームを使用

YAMLファイルの使用

  1. Auto Scalingコンソールにログインします。

  2. 上部メニューでリージョンを選択します。左側メニューで スケーリンググループ をクリックし、次に スケーリンググループの作成 をクリックします。

  3. YAML から作成する タブで、スケーリンググループを設定し、作成 をクリックします。このトピックでは、次の設定を使用します。詳細については、「Kubernetes YAML ファイルを使用した ECI スケーリンググループの設定」をご参照ください。

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx-demo
      annotations:
        k8s.aliyun.com/ess-scaling-group-name: ess-eci-test
        k8s.aliyun.com/ess-scaling-group-min-size: 0
        k8s.aliyun.com/ess-scaling-group-max-size: 5
    spec:
      selector:
        matchLabels:
          app: nginx-demo
      replicas: 0
      template:
        metadata:
          labels:
            app: nginx-demo
          annotations:
            k8s.aliyun.com/eci-with-eip: false
        spec:
          containers:
            - name: nginx
              image: registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest
              ports:
                - containerPort: 80
                  name: http
                - containerPort: 443
                  name: https
              resources:
                requests:
                  memory: 0.05Gi
                  cpu: 50m
                limits:
                  memory: 1Gi
                  cpu: '1'
    警告

    利用可能な場合は独自のアプリケーションイメージを使用してください。それ以外の場合は、サンプルのイメージを使用してください。このイメージは後でパイプラインによって置き換えられます。スケーリンググループを作成するにはイメージが必要です。

    次の表にパラメーターを示します。

    パラメーター

    説明

    k8s.aliyun.com/ess-scaling-group-name

    スケーリンググループの名前

    ess-eci-test

    k8s.aliyun.com/ess-scaling-group-min-size

    スケーリンググループ内の最小インスタンス数。インスタンス数がこの値を下回ると、Auto Scaling はインスタンスを追加します。

    0

    k8s.aliyun.com/ess-scaling-group-max-size

    スケーリンググループ内の最大インスタンス数。インスタンス数がこの値を超えると、Auto Scaling はインスタンスを削除します。

    5

    k8s.aliyun.com/eci-with-eip

    Elastic IP (EIP) アドレスを自動的に割り当てるかどうか

    false

コンソールフォームの使用

  1. Auto Scalingコンソールにログインします。

  2. 上部メニューで、リージョンを選択します。

  3. スケーリンググループを作成します。

    1. 左側メニューで スケーリンググループ をクリックし、次に スケーリンググループの作成 をクリックします。

    2. フォームから作成する タブで、スケーリンググループを設定し、作成 をクリックします。詳細については、「スケーリンググループの作成」をご参照ください。

      パラメーター

      説明

      [スケーリンググループ名]

      スケーリンググループの名前を入力します。

      ess-eci-test

      [タイプ]

      [ECI] を選択します。これにより、スケーリンググループ内のインスタンスが ECI インスタンスであることが指定されます。

      ECI

      [インスタンス設定ソース]

      スケーリンググループの作成後にスケーリング設定を作成します。

      [新規作成]

      [最小インスタンス数]

      スケーリンググループ内の ECI インスタンスの最小数

      0

      [最大インスタンス数]

      スケーリンググループ内の ECI インスタンスの最大数

      5

      [VPC]

      このスケーリンググループ内のインスタンスは、この VPC にデプロイされます。

      vpc-test****-001

      [VSwitch の選択]

      複数のゾーンに vSwitch を指定すると、スケールアウトの成功率が向上します。

      vsw-test****

  4. スケーリンググループのスケーリング設定を作成します。

    1. 作成したスケーリンググループを見つけ、詳細 をクリックしてスケーリンググループの詳細ページに移動します。

    2. インスタンスの設定ソース タブで スケーリング構成 をクリックし、次に スケーリング設定の作成 をクリックして スケーリング設定の作成 ページに移動します。

    3. このトピックでは、次の設定を使用します。他のすべてのパラメーターはデフォルト値のままにします。設定が完了したら、設定の確認 をクリックし、次に 注文の作成 をクリックします。詳細については、「ECI インスタンスのスケーリング設定の作成」をご参照ください。

      パラメーター

      説明

      [支払いモード]

      要件に基づいて課金方法を選択します。

      [従量課金]

      [セキュリティグループ]

      要件に基づいてセキュリティグループを選択します。

      sg-****oer

      コンテナーの設定 > コンテナー名

      コンテナの名前を入力します。

      nginx

      コンテナーの設定 > イメージ

      コンテナのイメージとバージョンを選択します。

      警告

      利用可能な場合は独自のアプリケーションイメージを使用してください。それ以外の場合は、サンプルのイメージを使用してください。スケーリンググループを作成するにはイメージが必要です。

      • イメージ名:registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx

      • イメージタグ:latest

    4. スケーリング構成 タブで、作成したスケーリング設定を見つけ、有効化 をクリックします。

ステップ3:DevOpsパイプラインの設定

Alibaba Cloud DevOps パイプラインを設定して、イメージのビルドとデプロイを自動化します。

  1. スケーリンググループ ページで、公開の管理 タブをクリックし、次に [Alibaba Cloud DevOpsでリリース] をクリックします。

  2. Alibaba Cloud DevOps 組織を選択し、次へ をクリックします。

    重要

    Alibaba Cloud DevOps 組織を作成していない場合は、企業の作成 をクリックし、画面の指示に従ってください。組織を選択した後、画面の指示に従って承認を完了します。

  3. パイプラインを設定します。

    1. パイプラインソースを設定します。パイプラインソース セクションで 追加 をクリックし、サンプルコードソース を選択してから 追加 をクリックします。

      説明

      独自のコードソースがある場合は、画面の指示に従ってコードリポジトリの URL を選択します。

    2. イメージビルドタスクを追加します。

      1. イメージビルドタスク セクションで、追加 をクリックします。

      2. イメージビルドタスク > [サービス接続の選択] で、[サービス接続の作成] をクリックします。Alibaba Cloud DevOps のサービス接続管理ページにリダイレクトされます。[サービス接続の作成] をクリックします。

      3. [Container Registry (ACR)] を選択して 次へ をクリックし、権限付与 でサービスを選択してから 作成 をクリックします。利用可能なサービスがない場合は、作成 をクリックして承認ページに移動します。

      4. イメージビルドタスク ページに戻ります。サービス接続の選択 パラメーターで、作成したサービス接続を選択します。リポジトリ パラメーターで、作成したリポジトリを選択します。次に、追加 をクリックします。

        [イメージタイプ][パーソナル版] に設定します。[ビルドクラスター] には [Alibaba Cloud DevOps 北京ビルドクラスター] を、[リージョン] にはターゲットリージョン (例:[中国 (杭州)]) を選択します。

    3. デプロイタスクを追加します。

      1. デプロイタスク セクションで 追加 をクリックします。サービス接続の選択 セクションで、[サービス接続の作成] をクリックします。

        デプロイタスクの設定パネルで、[タスク名]ESS ECI Deployment に設定し、[ビルドクラスター] では [Alibaba Cloud DevOps 北京ビルドクラスター] を選択し、[更新するコンテナ] では [nginx] を選択し、[リリースバッチ][2バッチ] に設定し、[バッチ方式][自動確認] に設定します。

      2. [サービス接続タイプ] で [Auto Scaling (ESS)] を選択し、次へ をクリックしてから 作成 をクリックします。

      3. イメージのデプロイ セクションで、[Alibaba Cloud Container Registryパーソナル版にビルドおよびプッシュされたイメージ.Image VPC Address] を選択し、追加 をクリックします。

        説明

        スケーリンググループと ACR が同じリージョンにある場合は、ミラーVPCアドレス を選択することも可能です。リージョンをまたいで設定する場合、イメージをプルするためにパブリックネットワークアクセスが必要です。

    4. 新規作成が完了しました をクリックします。

パイプラインの実行

重要

別の RAM ユーザーにこの機能の使用を許可するには、その RAM ユーザーが Alibaba Cloud DevOps 組織に所属しており、パイプラインの権限を持っていることを確認してください。RAM ユーザーには、少なくとも以下が必要です:

  • Alibaba Cloud DevOps (RDC) の管理権限

  • Resource Access Management (RAM) への読み取り専用アクセス権

  • OOS の管理権限

コードを更新した後、Apsara Devops での公開 タブで 実行 をクリックして、新しいイメージをビルドし、スケーリンググループにデプロイします。

  1. 前提条件:

    • 環境が設定されていること。詳細については、「環境の設定」をご参照ください。

    • コードを更新し、コードリポジトリにプッシュしたこと。

  2. ワンクリックでイメージをビルドしてデプロイします。

    1. スケーリンググループに移動し、公開の管理 タブをクリックし、[Alibaba Cloud DevOpsでリリース] サブタブをクリックしてから、実行 をクリックします。実行履歴リストに新しいエントリが表示されます。

    2. 実行履歴リストで [詳細] をクリックしてパイプラインを監視します。完了後、スケーリンググループのインスタンスとスケーリング設定が自動的に更新され、新しいスケールアウトインスタンスが新しいイメージを使用するようになります。

      • インスタンスの設定ソース タブで、アクティブなスケーリング設定を見つけて 変更 をクリックし、イメージ セクションのコンテナーの設定が更新されていることを確認します。

      • 手動でスケールアウトイベントをトリガーします。インスタンス タブで、新しく追加された ECI インスタンスをクリックして、新しいイメージを使用していることを確認します。

      • 既存の ECI インスタンスについては、インスタンス タブに移動し、インスタンス名をクリックして詳細ページを開き、イメージが更新されていることを確認します。