Serverless App Engine (SAE) アプリケーションと Container Registry (ACR) インスタンスが異なる Alibaba Cloud アカウントにある場合は、まずネットワーク接続を確保します。次に、ACR インスタンスにアクセスするための認可を設定します。最後に、イメージリポジトリのアドレスを指定してアプリケーションをデプロイします。
前提条件
SAE と ACR のネットワーク接続の確保
アプリケーションの Virtual Private Cloud (VPC) では、VPC 間の接続を確立するか、パブリック NAT ゲートウェイを有効にする必要があります。[ACR Enterprise Edition] インスタンスの場合、ACR インスタンスの ホワイトリストに、SAE アプリケーションの VPC の CIDR ブロック、または Elastic IP Address (EIP) ([NAT ゲートウェイ] に関連付けられているもの) を追加する必要もあります。
ACR アクセス認可の設定
静的なユーザー名とパスワード または RAM ロール のいずれかを使用できます。
静的なユーザー名とパスワード
イメージリポジトリのユーザー名とパスワードを格納する Secret を作成します。[Namespace] ページで、リージョンを選択し、対象の名前空間をクリックし、左側のナビゲーションペインで [Secret] を選択して、Create をクリックします。
-
Type を プライベートイメージリポジトリのログオンキー に設定します。
-
[イメージリポジトリアドレス] フィールドに、ACR インスタンスのパブリックドメインを入力します。 たとえば、Container Registry 個人版の場合は
registry.cn-xx.aliyuncs.com、ACR エンタープライズ版の場合はxx-registry.cn-xx.cr.aliyuncs.comです。 イメージリポジトリにログインするには、Username と [パスワード] を入力します。
RAM ロール
SAE は、RAM ロールを引き受けることで、別のアカウントの ACR インスタンスからイメージをプルできます。たとえば、アカウント A のアプリケーションがアカウント B の RAM ロールを引き受けて、アカウント B が所有する ACR インスタンスからイメージをプルできます。
-
RAM ロールの作成:アカウント B を使用して、アカウント A 用の RAM ロールを作成します。詳細については、「信頼された Alibaba Cloud アカウントの RAM ロールを作成する」をご参照ください。
-
アクセスポリシーの設定:カスタムポリシーを作成するか、カスタムポリシーを変更して、プライベートイメージに対する操作を許可するために次のステートメントを含めます。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "cr:GetAuthorizationToken", "cr:ListInstanceEndpoint", "cr:PullRepository", "cr:GetRepository", "cr:ListRepositoryTag" ], "Resource": "*" } ] } -
RAM ロールへの権限付与:手順 2 のアクセスポリシーを手順 1 の RAM ロールに付与します。詳細については、「RAM ロールの権限を管理する」をご参照ください。
-
RAM ロールの信頼されたエンティティの変更:信頼ポリシーを変更して、手順 1 の RAM ロールの信頼されたエンティティを SAE サービスアカウントに変更します。詳細については、「RAM ロールの信頼ポリシーを変更する」をご参照ください。
変更前
変更後
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "RAM": [ "acs:ram::123456789012****:root" ] } } ], "Version": "1" }この RAM ロールは、Alibaba Cloud アカウント (AccountID=123456789012****) 配下の任意の認可された RAM ユーザーまたは RAM ロールによって引き受けることができます。
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "123456789012****@sae.aliyuncs.com" ] } } ], "Version": "1" }この RAM ロールは、Alibaba Cloud アカウント (AccountID=123456789012****) の SAE サービスアカウント (123456789012****@sae.aliyuncs.com) によってのみ引き受けることができます。
説明この例では、
Serviceは、イメージをプルするサービスを指します。 -
ARN のコピー: RAM ロールの Basic Information ページで ARN をコピーします。この値は、アプリケーションのデプロイ時に acrAssumeRoleArn フィールドで必要になります。
操作手順
-
SAE Application List ページでリージョンと名前空間を選択し、[Create Application] をクリックします。
-
アプリケーションのエディションを選択します。
重要Lightweight Edition と Professional Edition は招待制です。ベータ版に参加していない場合、アプリケーションは既定で Standard Edition となり、エディションを選択する必要はありません。
-
Lightweight Edition:最小限の機能セットです。ARMS モニタリングとマイクロサービスガバナンスはサポートされていません。
-
Standard Edition:基本的な ARMS モニタリングが含まれます。高度な ARMS モニタリングとマイクロサービスガバナンスは、個別に有効化し、別途購入する必要があります。
-
Professional Edition:高度な ARMS モニタリングとマイクロサービスガバナンスが含まれます。個別の有効化や購入は不要です。
-
-
[Create Application] ページで、 [Application Name] を指定し、次のパラメーターを設定します。
-
名前空間タイプを選択します。名前空間は Kubernetes の名前空間と同様に、環境間でリソースを分離します。作成後に名前空間を変更することはできません。
-
System Created:現在のリージョンで自動的に作成される既定の名前空間、vSwitch、セキュリティグループを使用します。
-
Existing Namespace:事前に作成した 名前空間、vSwitch、セキュリティグループを選択します。
-
-
Application Deployment Method を Select Image Deployment に設定し、次に右側の Specify Image をクリックします。Private Images of Other Alibaba Cloud Account タブで、次のパラメーターを設定します。
-
ACR エディションを選択し、認証方法を選択します。ACR エンタープライズ版の場合、Enterprise Edition Instance ID も入力する必要があります。
-
静的ユーザー名とパスワード: 事前に作成した Secret for Username and Password of Image Repository を選択します。
-
RAM ロール:以前にコピーした [acrAssumeRoleArn] を入力します。
-
-
<image-repository-address>:<image-tag>のフォーマットで Complete Image Repository Address を入力します。 たとえば、Container Registry 個人版の場合はregistry.cn-xx.aliyuncs.com/xx/xx:1.0、ACR エンタープライズ版の場合はxx-registry.cn-xx.cr.aliyuncs.com/xx/xx:1.0のようになります。注: ネットワーク設定に対応するパブリックまたはプライベートのイメージリポジトリアドレスを使用します。 -
ACR Enterprise Edition では、イメージアクセラレーションを有効にしてアプリケーションの起動を高速化できます。
-
-
[Capacity Settings] セクションで、[Resource Type]、[Single Instance Specification]、[Number of Instances] を構成します。
-
-
(オプション) [Next: Advanced Settings] をクリックして、追加機能を構成します。
-
[One-Click Create Application] または [Create Application] をクリックします。
-
作成には 1~2 分かかります。変更レコードを表示して、デプロイステータスを確認します。デプロイに失敗した場合、インスタンスは作成されません。[Change Details] でエラーを確認してください。
-
ページで作成済みのアプリケーションを確認します。デプロイ後に構成を変更するには、アプリケーション詳細ページを開き、[Deploy Application] または [Modify Application Configurations] をクリックします。変更を適用するためにアプリケーションが再起動します。オフピーク時間帯に実施してください。
-
Webshell を使用してアプリケーションインスタンスにログインし、コンソールコマンドを実行できます。
-
作成後、インスタンス数を手動で調整したり、インスタンス仕様を変更したり、オートスケーリングポリシーを構成したりできます。アイドルモードを有効化してコストを削減できます。
-