Container Registry (ACR) イメージを、中国本土と中国本土以外のリージョン間、または中国本土と中国 (香港) リージョン間など、クロスボーダーで同期する場合、ACR が使用するデフォルトの同期リンクはインターネットを経由します。ネットワーク品質が不安定な場合、リクエストの失敗や転送の遅延が発生する可能性があります。このような状況に対応するため、ACR は同期の高速化とカスタム同期リンクという 2 つのソリューションを提供します。
仕組み
ソリューション | ユースケース | 同期方法 | ネットワーク帯域幅 |
デフォルトの同期リンクではクロスボーダーのニーズに対応できず、かつ高度なネットワーク要件がない場合。 | イメージは ACR の高速化リンク経由で転送されます。 | 同期高速化リンクの帯域幅は、リージョン内のすべてのユーザーによって共有されます。帯域幅が共有されるため、高速化の効果は限定的です。大きなイメージや大規模な同期の場合は、カスタム同期リンクの使用を推奨します。 | |
同期の高速化のパフォーマンスがレイテンシー要件を満たさない場合、またはネットワークリンクの高度なカスタマイズが必要な場合。 | 次の 2 つの方法があります。
|
|
利用条件
これらのソリューションは、パブリッククラウドリージョン間の同期にのみ適用されます。金融クラウドやガバメントクラウドなど、非パブリッククラウドリージョンへの同期はサポートされていません。
これらのソリューションは、ACR Enterprise Edition の Premium Edition でのみ利用できます。
課金
ACR の同期高速化機能は無料です。ただし、カスタム同期リンクを使用すると、他のクラウドサービスで費用が発生する場合があります。
OSS クロスリージョンレプリケーション:クロスリージョンレプリケーションのトラフィックと転送アクセラレーションのトラフィックに対して課金されます。課金の詳細については、「課金の概要」および「転送アクセラレーション料金」をご参照ください。
Cloud Enterprise Network (CEN):接続料、データ処理料、およびリージョン間データ転送料が課金されます。課金の詳細については、「課金」をご参照ください。
ソリューション 1:同期の高速化
Container Registryコンソールにログインします。
上部のナビゲーションバーで、リージョンを選択します。
左側のナビゲーションペインで、インスタンス をクリックします。
[インスタンス] ページで、管理するEnterprise Editionインスタンスをクリックします。
左側のナビゲーションペインで、 を選択します。
インスタンスのレプリケーション ページで、左上隅にある クロスボーダー同期の高速化 スイッチをオンにします。
ヒント ダイアログボックスで、OK をクリックします。
同期の高速化を有効にした後、同期ルールを作成して、ソースインスタンスから宛先インスタンスにイメージをレプリケートします。詳細については、「同一アカウント内のインスタンス間でイメージを同期」および「異なるアカウントのインスタンス間でイメージを同期」をご参照ください。
同期高速化のパフォーマンスの目安
次の図は、2022 年 3 月に同期の高速化を有効にした後、異なるリージョン間で1 GB の単一層イメージを同期した場合の P95 レイテンシーを示しています。このデータには、同時実行タスクの上限を超えたことによるキューイング時間は含まれていません。中国本土の例として、中国 (杭州) リージョンが使用されています。
P95 レイテンシーは 95 パーセンタイルを表し、同期タスクの 95% がこの時間以下で完了したことを意味します。

ソリューション 2:カスタム同期リンク
(オプション) RAM 権限の付与
RAM ユーザーがカスタム同期リンク機能を使用するには、次の権限が必要です。詳細については、「RAMユーザーのカスタムポリシーの作成」をご参照ください。
{
"Version": "1",
"Statement": [
{
"Action": [
"cr:CreateSyncCustomLink",
"cr:GetSyncCustomLink",
"cr:UpdateSyncCustomLink",
"cr:ListSyncCustomLink",
"cr:DeleteSyncCustomLink",
"cr:CreateSyncOssReplicationLink"
],
"Resource": "*",
"Effect": "Allow"
}
]
}OSS クロスリージョンレプリケーション
カスタム同期リンクを設定すると、ACR はソースと宛先の ACR インスタンスが使用する OSS バケットにクロスリージョンレプリケーションルールを自動的に作成します。その後、ACR は OSS のクロスリージョンレプリケーション機能を利用してイメージ転送を高速化します。
同一アカウント内で同期するか、異なるアカウント間で同期するかに応じて、オプションを選択します。
同一アカウントでの同期
Container Registryコンソールにログインします。
上部のナビゲーションバーで、リージョンを選択します。
カスタム同期リンクはソースインスタンスで設定する必要があります。インスタンス ページで、ソースインスタンスをクリックします。
左側のナビゲーションペインで、 を選択します。OSS レプリケーション タブをクリックし、次に 同期リンクの追加 をクリックします。
次のパラメーターを設定します。
パラメーター
説明
[リンク名]
カスタム同期リンクの名前を入力します。
[リンクの説明]
カスタム同期リンクの説明を入力します。
[同期シナリオ]
同じアカウント を選択します。
[ターゲットインスタンス]
宛先インスタンスのリージョンと ID を選択します。
[OSS レプリケーションロール名]
同一アカウントの場合、このパラメーターは必須ではありません。
OK をクリックします。
カスタム同期リンクを有効にした後、「同一アカウント内のインスタンス間でイメージを同期」を参照して、ソースインスタンスから宛先インスタンスにイメージをレプリケートするための同期ルールを作成してください。
クロスアカウントでの同期
クロスアカウント同期に OSS クロスリージョンレプリケーションを使用するには、専用の RAM ロールが必要です。
ステップ 1:ソースアカウントでの RAM 権限設定
ソースアカウントにログインし、Container Registry コンソールに移動します。
インスタンス ページでソースインスタンスをクリックします。次に、概要 ページで OSS バケット 名を見つけて記録します。
[RAM ロールの作成] ページに移動して RAM ロールを作成します。信頼プリンシパルタイプ を クラウドサービス に設定し、信頼プリンシパル名 を OSS に設定します。
[ポリシーの作成] ページで、JSON タブをクリックします。次の例の
SRC_BUCKETを、記録した OSS バケット名に置き換えます。その後、ポリシーをポリシーエディターに貼り付けてポリシーを作成します。{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "oss:ReplicateList", "oss:ReplicateGet" ], "Resource": [ "acs:oss:*:*:{{SRC_BUCKET}}", "acs:oss:*:*:{{SRC_BUCKET}}/*" ] } ] }ポリシーが作成された後、[ロール] ページに移動し、作成した RAM ロールをクリックします。[基本情報] ページで、後で使用するためにロールの [ARN] を見つけて記録します。
[権限] タブで、[権限の追加] をクリックし、前のステップで作成したポリシーをロールにアタッチします。
ステップ 2:宛先アカウントでの RAM 権限設定
宛先アカウントにログインし、Container Registry コンソールに移動します。
インスタンス ページで宛先インスタンスをクリックします。次に、概要 ページで OSS バケット 名を見つけて記録します。
[バケットリスト] ページに移動し、宛先バケットをクリックします。
左側のナビゲーションペインで、[アクセス制御] > [バケットポリシー] を選択します。
[グラフィカルポリシーの追加] タブをクリックし、次に [レプリケートされたオブジェクトの受信] をクリックします。
表示されるパネルで、次のパラメーターを設定します。
[UID と RAM ロールの取得方法]:[ソース RAM ロール ARN を使用] を選択します。
[ソース RAM ロール ARN]:先ほど作成した RAM ロールの ARN を入力します。
[認可目的]:[クロスアカウントクロスリージョンレプリケーション] を選択します。
[ポリシーの生成] をクリックし、次に [保存] をクリックします。
ステップ 3:カスタム同期リンクの設定
ソースアカウントにログインし、Container Registry コンソールに移動します。
インスタンス ページで、ソースインスタンスをクリックします。
左側のナビゲーションペインで、 を選択します。OSS レプリケーション タブをクリックし、次に 同期リンクの追加 をクリックします。
次のパラメーターを設定します。
パラメーター
説明
[リンク名]
カスタム同期リンクの名前を入力します。
[リンクの説明]
カスタム同期リンクの説明を入力します。
[同期シナリオ]
アカウント間 を選択します。
[同期先の UID]
宛先アカウント (プライマリアカウント) の UID を入力します。
[ターゲットインスタンス]
宛先インスタンスのリージョンと ID を選択します。
[OSS レプリケーションロール名]
先ほど作成した RAM ロールの名前を入力します。
OK をクリックします。
カスタム同期リンクを有効にした後、「異なるアカウントのインスタンス間でイメージを同期」を参照して、ソースインスタンスから宛先インスタンスにイメージをレプリケートするための同期ルールを作成してください。
Cloud Enterprise Network (CEN)
ステップ 1:(オプション) VPC の作成
ソースリージョンと宛先リージョンの両方でVirtual Private Cloud (VPC) を作成します。この例では、中国 (杭州) にソースインスタンス、シンガポールに宛先インスタンスを使用します。中国 (杭州) リージョンの VPC は test1、シンガポールリージョンの VPC は test2 という名前です。
ステップ 2:CEN でのネットワーク接続
CEN インスタンスを作成し、ソースリージョンと宛先リージョンにトランジットルーターを設定します。詳細については、「リージョンをまたいで VPC を接続する」をご参照ください。
ステップ 3:ソースインスタンスと宛先インスタンスへの VPC の追加
Container Registryコンソールにログインします。
中国 (杭州) リージョンを選択します。インスタンス ページで、対象の ACR Enterprise Edition インスタンスをクリックします。
左側のナビゲーションペインで、 を選択します。
VPC の追加 タブで、[Add VPC] をクリックします。
VPC の追加 ダイアログボックスで、[Existing VPC] を test1 に設定し、vSwitch を選択して、OK をクリックします。
シンガポールリージョンに切り替えます。宛先インスタンスに対してステップ 3 から 5 を繰り返し、test2 という名前の VPC を追加します。test2 のインスタンスの IP にアクセス を記録します。
同一リージョン内の複数の宛先インスタンスに VPC を追加できます。VPC が追加されると、すべてのインスタンスがこのリンクを使用してイメージを同期できます。
ソースインスタンスの VPC 内の ECS インスタンスから、その IP アドレスを使用して宛先インスタンスへの接続をテストします。次のコマンドの
<Target_IP>を前のステップで取得した IP アドレスに置き換えて、コマンドを実行します。telnet <Target_IP> 443期待される出力:
Trying <Target_IP>... Connected to <Target_IP>.
ステップ 4:カスタム同期リンクの設定
2 つのクロスリージョンインスタンス間には、1 つのカスタム同期リンクしか作成できません。重複したリンクを作成しないでください。
Container Registryコンソールにログインします。
上部のナビゲーションバーで、リージョンを選択します。
インスタンス ページで、対象の ACR Enterprise Edition インスタンスをクリックします。
左側のナビゲーションペインで、 を選択します。Cloud Enterprise Network (CEN) タブをクリックし、次に 同期リンクの追加 をクリックします。
ネットワークインスタンス ウィザードで、パラメーターを設定し、次へ をクリックします。
パラメーター
説明
[リンク名]
カスタム同期リンクの名前を入力します。
[リンクの説明]
カスタム同期リンクの説明を入力します。
[インスタンス ID/インスタンス名]
CEN インスタンスの ID を選択します。
[接続元ネットワーク]
ソースインスタンスリージョンのネットワークを設定します。
VPC:VPC を選択します。この例では、中国 (杭州) リージョンの test1 という名前の VPC が選択されています。
ソースインスタンスリージョンの VPC は、ソースインスタンスに追加され、CEN でクロスリージョン帯域幅が設定されている必要があります。
vSwitch:vSwitch を選択します。
リージョンごとにサポートされるゾーンの vSwitch は異なります。画面の指示に従ってゾーン内の vSwitch を選択してください。
セキュリティグループ:カスタム同期リンクのセキュリティを向上させるために、セキュリティグループを選択します。
重要セキュリティグループのインバウンドルールで、ポート 80 と 443 を開放する必要があります。
マネージドセキュリティグループはサポートされていません。
[接続先ネットワーク]
宛先インスタンスリージョンのネットワークパラメーターを設定します。
リージョン:宛先インスタンスのリージョンを選択します。
VPC:VPC を選択します。この例では、シンガポールリージョンの test2 という名前の VPC が選択されています。
宛先インスタンスリージョンの VPC は、宛先インスタンスに追加され、CEN でクロスリージョン帯域幅が設定されている必要があります。
接続帯域幅 ウィザードで、パラメーターを設定し、作成 をクリックします。
パラメーター
説明
最大帯域幅使用量
このリンク上の同期タスクで利用できる最大帯域幅です。この帯域幅は、実行中の同期タスク間で均等かつ動的に分配されます。
同期タスク総数
このリンク上の同時同期タスクの最大数。追加のタスクはキューに入れられます。
Standard Edition インスタンスは最大 5 つ、Premium Edition インスタンスは最大 10 の同時同期タスクに対応しています。
同期リンク ページで、対象のリンクを見つけ、操作 列の 有効化 をクリックします。
ヒント ダイアログボックスで、OK をクリックします。
カスタム同期リンクを有効にした後、同期ルールを作成して、ソースインスタンスから宛先インスタンスにイメージをレプリケートしてください。詳細については、「同一アカウント内のインスタンス間でイメージを同期」および「異なるアカウントのインスタンス間でイメージを同期」をご参照ください。
よくある質問
現在使用中のリンクタイプを確認する方法
同期タスクのリンクタイプを確認するには、Container Registry コンソールにログインします。インスタンス管理ページで、左側のナビゲーションペインの を選択します。レプリケーションレコード ページでは、各タスクのリンクタイプが表示されます。
[デフォルトリンク]:デフォルトの同期リンク。
高速化リンク:同期の高速化リンク。
[カスタムリンク]:ユーザーが設定したカスタムリンク。
関連ドキュメント
API を使用して同期タスクを作成するには、「イメージリポジトリ同期タスクの作成」および「リポジトリ同期タスクの手動作成」をご参照ください。