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

Serverless App Engine:別のアカウントの ACR インスタンスのイメージを使用してアプリケーションをデプロイする

最終更新日:Nov 10, 2025

Serverless App Engine (SAE) アプリケーションと Alibaba Cloud Container Registry (ACR) インスタンスが別のアカウントにある場合は、ネットワーク接続を確保し、ACR インスタンスにアクセスするための権限付与を設定する必要があります。その後、イメージリポジトリのアドレスを入力してアプリケーションをデプロイできます。

前提条件

SAE アプリケーションと ACR インスタンス間のネットワーク接続の確保

アプリケーションが実行される VPC に対して、VPC 間のネットワーク接続を確立するか、インターネット NAT ゲートウェイを有効にする必要があります。[ACR Enterprise Edition] インスタンスの場合、SAE アプリケーションの VPC CIDR ブロックまたは [NAT ゲートウェイ] にアタッチされた [EIP] を ACR インスタンスの ホワイトリスト に追加する必要もあります。

SAE アプリケーションの VPC の表示

アプリケーションをデプロイする前に、リージョンと名前空間を計画する必要があります。これらの設定によってアプリケーションの VPC が決まるためです。

  1. SAE コンソールにログインします。上部のナビゲーションバーでリージョンを選択します。左側のナビゲーションウィンドウで、[名前空間] を選択します。

  2. ターゲット名前空間の名前をクリックします。左側のナビゲーションウィンドウで、[基本情報] を選択します。[VPC] の横にあるリンクをクリックして、VPC ID などの情報を表示します。

ACR インスタンスにアクセスするための権限付与情報の設定

権限付与には、[静的なユーザー名とパスワード] または [RAM ロール] のいずれかを使用できます。

静的なユーザー名とパスワード

イメージリポジトリのユーザー名とパスワードを保存するための [Secret] を作成します。[名前空間] ページで、ターゲットリージョンを選択し、ターゲット名前空間をクリックします。次に、左側のナビゲーションウィンドウで [Secret] を選択し、[作成] をクリックします。

  • [タイプ][プライベートイメージリポジトリのログオンキー] に設定します

  • [イメージリポジトリのアドレス] フィールドに、ACR インスタンスのパブリックドメイン名 (ACR Personal Edition の場合は registry.cn-xx.aliyuncs.com、ACR Enterprise Edition の場合は xx-registry.cn-xx.cr.aliyuncs.com など) を入力します。次に、イメージリポジトリにログインするための [ユーザー名][パスワード] を入力します。

イメージリポジトリのユーザー名とパスワードの確認方法

  • ACR Personal Edition の認証情報を管理するには、ACR アカウントにログインし、ACR Personal Edition インスタンス - アクセス認証情報 ページに移動します。次に、インスタンスのリージョンを選択して [ユーザー名] を表示し、[パスワード] を変更します。

    image

  • ACR Enterprise Edition インスタンスの場合、ACR アカウントにログインし、「アクセス認証情報の設定」を参照してユーザー名とパスワードを表示します。

    image

RAM ロール

SAE は、Resource Access Management (RAM) ロールを偽装することで、別の Alibaba Cloud アカウントからイメージをプルできます。これは、SAE アプリケーションを所有するユーザー A が、ACR イメージを所有するユーザー B に属するロールを偽装して、ユーザー B のプライベートイメージをプルすることを意味します。

  1. RAM ロールの作成: ユーザー B の Alibaba Cloud アカウントを使用して、ユーザー A の RAM ロールを作成します。詳細については、「信頼できる Alibaba Cloud アカウントの RAM ロールを作成する」をご参照ください。

  2. アクセスポリシーの設定: カスタムポリシーを作成するか、カスタムポリシーを変更し、次のポリシーコンテンツを追加してプライベートイメージに関連する操作を許可します。

    {
      "Version": "1",
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "cr:GetAuthorizationToken",
                  "cr:ListInstanceEndpoint",
                  "cr:PullRepository",
                  "cr:GetRepository",
                  "cr:ListRepositoryTag"
              ],
              "Resource": "*"
          }
      ]
    }
  3. RAM ロールへのアクセスポシーの付与: ステップ 2 で設定したアクセスポリシーを、ステップ 1 で作成した RAM ロールに付与します。詳細については、「RAM ロールに権限を付与する」をご参照ください。

  4. RAM ロールの信頼できるエンティティの変更: 次の信頼ポリシーを変更して、ステップ 1 で作成した RAM ロールの信頼できるエンティティを SAE サービスアカウントに変更します。詳細については、「RAM ロールの信頼ポリシーを変更する」をご参照ください。

    変更前

    変更後

    {
        "Statement": [
            {
                "Action": "sts:AssumeRole",
                "Effect": "Allow",
                "Principal": {
                    "RAM": [
                        "acs:ram::123456789012****:root"
                    ]
                }
            }
        ],
        "Version": "1"
    }

    この RAM ロールは、Alibaba Cloud アカウント (アカウント ID: 123456789012****) に属する、権限を付与された任意の RAM ユーザーまたは RAM ロールによって偽装できます。

    {
      "Statement": [
        {
          "Action": "sts:AssumeRole",
          "Effect": "Allow",
          "Principal": {
            "Service": [
              "123456789012****@sae.aliyuncs.com"
            ]
          }
        }
      ],
      "Version": "1"
    }

    この RAM ロールは、Alibaba Cloud アカウント (アカウント ID: 123456789012****) に対応する SAE サービスアカウント (123456789012****@sae.aliyuncs.com) によってのみ偽装できます。

    説明

    この例では、Service は、別のアカウントからイメージをプルする必要があるサービスです。

  5. ARN のコピー: RAM ロールの [基本情報] ページで、ARN をコピーします。これは、アプリケーションをデプロイするときに提供する必要がある [acrAssumeRoleArn] です。

手順

  1. SAE アプリケーション ページで、上部のナビゲーションバーでターゲットリージョンと名前空間を選択し、[アプリケーションの作成] をクリックします。

  2. アプリケーションのエディションを選択します。

    重要

    軽量版プロフェッショナル版は招待制ベータです。ベータテストに参加していない場合、アプリケーションは標準版として作成され、エディションを選択する必要はありません。

    • 軽量版: アプリケーションの実行に必要な最小限の機能セットを提供し、[アプリケーションモニタリング][マイクロサービス管理]サポートしません

    • 標準版: [基本的なアプリケーションモニタリング] が含まれますが、[高度なアプリケーションモニタリング][マイクロサービスガバナンス]追加のアクティベーションと購入が必要です。

    • プロフェッショナル版: [高度なアプリケーションモニタリング][マイクロサービスガバナンス] 機能が付属しており、追加のアクティベーションや購入は不要です。

  3. [アプリケーションの作成] ページで、[アプリケーション名] を設定し、次のパラメーターを設定します。

    1. アプリケーションの名前空間タイプを選択します。名前空間は Kubernetes 名前空間と同等であり、異なる環境のリソースを分離するために使用されます。アプリケーションの作成後に名前空間を変更することはできないため、事前に名前空間を計画する必要があります。

      • [システム作成]: 現在のリージョンでシステムによって作成されるデフォルトの名前空間、vSwitch、およびセキュリティグループを使用します。

      • [既存の名前空間]: 事前に作成した名前空間vSwitch、およびセキュリティグループを選択します。

    2. [アプリケーションのデプロイ方法][デプロイするイメージの選択] に設定し、[イメージの設定] をクリックします。次に、[他の Alibaba Cloud アカウントからのプライベートイメージ] タブで、次の情報を設定します。

      • ACR イメージサービスバージョンを選択し、認証方式を選択します。Enterprise Edition を選択した場合は、[Enterprise Edition インスタンス ID] も入力する必要があります。

        • [静的なユーザー名とパスワード]: 事前に作成した [イメージリポジトリのユーザー名とパスワードを保存する Secret] を選択します。

        • [Ram ロール]: 事前にコピーした [acrAssumeRoleArn] を入力します。

      • [完全なイメージリポジトリアドレス]<イメージリポジトリアドレス>:<イメージタグ> の形式で入力します。たとえば、ACR Personal Edition インスタンスの場合は registry.cn-xx.aliyuncs.com/xx/xx:1.0 を、ACR Enterprise Edition インスタンスの場合は xx-registry.cn-xx.cr.aliyuncs.com/xx/xx:1.0 を使用します。 : ネットワーク構成に基づいて、パブリックまたはプライベートイメージリポジトリアドレスを選択する必要があります。

      • ACR Enterprise Edition インスタンスの場合、イメージアクセラレーション機能を有効にしてアプリケーションの起動速度を向上させることができます。

    3. [キャパシティ設定] セクションで、[リソースタイプ][インスタンスタイプ]、および [インスタンス数] を設定します。

  4. (オプション) [次へ: 詳細設定] をクリックして、必要な機能を設定します。

    • 起動コマンド

      アプリケーションの起動コマンドは、イメージで設定された CMD または ENTRYPOINT に依存します。SAE での追加設定は不要です。特別な要件がある場合は、起動コマンドを設定して、イメージで設定されたコマンドを上書きできます。

    • ランタイム環境とライフサイクル管理

      • 環境変数を設定したり、ホストバインディングを設定したり、設定情報を挿入したり、シークレットを挿入したりすることで、アプリケーションのデプロイ後にイメージを再構築することなく、ランタイム環境の変数や設定ファイルを柔軟に変更できます。

      • ヘルスチェックを設定することで、アプリケーションインスタンスが正常に実行され、ビジネスリクエストを処理する準備ができているかどうかを監視できます。正常に実行されていないインスタンスは自動的に再起動され、ビジネスリクエストは準備が整った後にのみインスタンスにルーティングされます。

      • アプリケーションライフサイクル管理を使用して、アプリケーションの起動後と停止前に実行されるコマンドをカスタマイズし、グレースフルシャットダウンを実装できます。

    • ネットワークアクセスとサービス呼び出し

    • データ永続化

      アプリケーションデータをNASOSS、またはデータベースに保存して、アプリケーションの変更やシャットダウンによるデータ損失を防ぐことができます。NAS、OSS、およびデータベースには追加料金が必要であることにご注意ください。

    • ログとモニタリング

      • アプリケーションをデプロイした後、追加の設定なしでリアルタイムログを表示したり、リソース使用量とペイロードを表示したりできます。さらに、ログをSLSまたはKafkaに出力して、一元管理と分析を行うことができます。SLS と Kafka には追加料金が必要であることにご注意ください。

      • [Application Real-Time Monitoring Service (ARMS) モニタリング] は、アプリケーションのランタイムステータスを包括的に理解するのに役立ちます。ARMS を使用して、障害のあるインターフェイスや遅いインターフェイスを迅速に特定し、パフォーマンスボトルネックを特定し、呼び出しパラメーターを再現できます。これにより、オンラインの問題を診断する効率が大幅に向上します。

        • [Standard Edition] アプリケーションの場合、追加の設定なしでデプロイ後にARMS Basic Edition のモニタリングデータを表示できます。また、ARMS Pro モニタリングを有効にして購入することもできます。

        • [Professional Edition] アプリケーションの場合、[詳細設定] ステップで [アプリケーションモニタリング] を有効にしてデプロイを完了できます。その後、[ARMS Pro モニタリングデータを表示] できます。追加料金は不要です。

    • その他の機能

      • [マイクロサービスガバナンス] は、[グレースフルなオンラインおよびオフラインデプロイメント][トラフィック保護][エンドツーエンドのカナリアリリース][同一ゾーンへの優先ルーティング] などの Java アプリケーション向けの機能を提供します。

        • [Standard Edition] アプリケーションの場合、デプロイ後にアプリケーション詳細ページに移動して、MSE [マイクロサービスガバナンス] 機能を有効にして購入します。

        • [Professional Edition] アプリケーションの場合、[詳細設定] ステップで [マイクロサービスガbナンス] を有効にして [グレースフルなオンラインおよびオフラインデプロイメント] を設定できます。さらに多くの機能を設定するには、デプロイ後にアプリケーション詳細ページに移動します。追加料金は不要です。

      • CPU バースト機能 (Standard Edition および Professional Edition のみ) を有効にすることで、起動および読み込みフェーズ中の通常より高い CPU 需要によって引き起こされるリソースの浪費を防ぐことができます。

      • Sidecar コンテナーを追加して、非ビジネス機能をメインコンテナーから分離し、標準化できます。

  5. [ワンクリックでアプリケーションを作成] または [アプリケーションの作成] をクリックします。

    • アプリケーションの作成には約 1〜2 分かかります。変更履歴を表示することで、アプリケーションが正常にデプロイされたかどうかを判断できます。デプロイに失敗した場合、アプリケーションインスタンスは作成されません。[変更の詳細] のエラーメッセージに基づいて障害のトラブルシューティングを行うことができます。

    • 作成されたアプリケーションは、[アプリケーション管理] > [アプリケーション] ページで表示できます。デプロイ後にアプリケーション設定を変更するには、ターゲットアプリケーションをクリックして詳細ページを開きます。次に、上部にある [アプリケーションのデプロイ] または [アプリケーション設定の変更] をクリックします。注: 新しい設定を有効にするためにアプリケーションは自動的に再起動します。この操作はオフピーク時に実行してください。

    • Webshell を介してアプリケーションインスタンスにログインし、コンソールコマンドを介してアプリケーションインスタンスと対話できます。

    • アプリケーションを作成した後、インスタンス数を手動で調整したり、インスタンスタイプを調整したり、Auto Scaling ポリシーを設定してインスタンス数を自動的に調整したりできます。また、アイドルモードを有効にすることでコストを削減することもできます。