Global Accelerator (GA) インスタンスは、グローバルなネットワーク高速化サービスを提供し、ACK クラスターで海外のソースからコンテナイメージをプルすることをサポートします。
前提条件
バージョン 1.24 以降の ACK マネージドプロ版クラスターが作成されていること。クラスターの作成方法の詳細については、「ACK マネージドクラスターの作成」をご参照ください。クラスターをアップグレードする必要がある場合は、「クラスターの手動アップグレード」をご参照ください。
注意事項
ネットワークアクセスが、適用されるすべての法律および規制に準拠していることを確認してください。違法なコンテンツを含む Web サイトへのアクセスはブロックされる場合があります。
課金
ACK クラスターの関連料金に加えて、GA インスタンスにも料金が発生します。これらの料金には、インスタンス料金、CU (パフォーマンス容量ユニット) 料金、データ転送料金が含まれます。詳細については、「課金概要」をご参照ください。
ステップ 1:標準 GA インスタンスの作成
標準 GA インスタンスは、複数のアクセスリージョンとオリジンリージョンを接続するフルメッシュネットワークを提供し、レイヤー 4 (TCP および UDP) とレイヤー 7 (HTTP および HTTPS) のプロトコル高速化をサポートします。GA インスタンスを作成する際には、高速化したい海外リージョンや、docker.io などのイメージリポジトリのアクセスアドレスなどのパラメーターを設定します。
Global Accelerator コンソールにログインします。
-
インスタンス ページで、[標準従量課金インスタンスの作成] をクリックし、ウィザードページでパラメーターを設定します。画面の指示をよく読み、構成を確認して送信します。
このトピックでは、従量課金の標準 GA インスタンスを作成する方法と、主要なパラメーターについて詳しく説明します。操作とパラメーターの詳細については、「標準 Global Accelerator インスタンスの作成と管理」をご参照ください。
パラメーター
説明
基本インスタンス設定
インスタンスの課金方法
デフォルト値は従量課金です。
加速エリアの設定
アクセラレーションエリア
加速エリアには、ACK クラスターが配置されているリージョンを選択します。この例では、中国 (杭州) と中国 (上海) を選択します。
説明GA がサポートするリージョンの詳細については、「加速エリアとリージョン」をご参照ください。
帯域幅の割り当て
-
ピーク帯域幅: 加速リージョンの帯域幅です。この例では、値は 200 Mbps です。
-
IP プロトコル: GA に追加される IP アドレスの IP プロトコルです。この例では、値は {value,select, IPv4 {IPv4} IPv6 {IPv6} PrefixList {プレフィックスリスト} SecurityGroup {セキュリティグループ} CrossSecurityGroup {クロスアカウントのセキュリティグループ} other {{value}} } です。
リスナーの設定
プロトコル
リスナーが使用するネットワーク転送プロトコルです。この例では TCP を使用します。
ポート
リクエストを受信してエンドポイントに転送するリスナーポートを指定します。ポート番号は [1~65499] の範囲で指定する必要があります。
各リスナーには最大 30 個のポートを指定できます。複数のポートはカンマ (,) で区切ります (例:80,90,8080)。
この例では、値は
80,443に設定されています。エンドポイントグループの設定
リージョン
ネットワーク高速化が必要な海外リージョンです。この例では、米国 (バージニア) を使用します。
エンドポイントの設定
エンドポイントは、クライアントリクエストを処理する宛先サーバーです。次の例に基づいてエンドポイントを設定します。
-
バックエンドサービスタイプ: カスタムドメイン名 を選択します。
-
バックエンドサービス:イメージをプルするイメージレジストリのドメイン名です。この例では、
docker.ioに設定されています。 -
重み (有効値:0~255):0~255 の整数を入力します。Global Accelerator は、設定された重みに基づいてエンドポイントにトラフィックをルーティングします。
警告エンドポイントの重みが 0 に設定されている場合、Global Accelerator はそのエンドポイントへのトラフィックの配信を停止します。注意して進めてください。
この例では、値を
255に設定します。
設定が完了したら、画面の指示に従って GA インスタンスの詳細ページに移動します。
-
-
GA インスタンスの詳細ページで アクセラレーションリージョン タブをクリックし、[高速化 IP アドレス] 列で、お使いの ACK クラスターがデプロイされているリージョンの高速化 IP アドレスを記録します。 この IP アドレスは、ステップ 3: DNS レコードを設定する で使用します。
ステップ 2:GA インスタンスの設定
-
GA インスタンスの詳細ページで、[伝送ネットワーク品質タイプ] を [チャイナユニコム越境プライベートライン] に変更します。
重要チャイナユニコムのプライベートラインを越境ネットワーク高速化に使用するには、越境コンプライアンス認証を完了する必要があります。チャイナユニコム越境クラウドプライベートラインのオンライン申請ページで必要な資料を提出し、必要な資格を取得してください。
-
(任意) GA インスタンスに仮想エンドポイントを追加します。
ターゲットイメージに関連する他のドメイン名の転送ルールを設定する必要がある場合は、リスナーに別の仮想エンドポイントグループを追加します。これにより、単一の GA インスタンスで複数のターゲットエンドポイントへのアクセスを高速化できます。
-
リスナー タブをクリックし、次に ID と名前列でリスナーの ID をクリックして、リスナー の詳細ページに移動します。
-
[エンドポイントグループ] タブをクリックし、[仮想エンドポイントグループの追加] をクリックします。画面の指示に従って設定を完了します。
次の例は、[エンドポイントの設定] セクションを設定する方法を示しています。
-
バックエンドサービスタイプ:カスタムドメインを選択します。
-
バックエンドサービス: プルするイメージソースのドメイン名、たとえば
production.cloudflare.docker.comなど。 -
重み: 値は
255のままにします。
-
-
リスナー構成ページで、転送ルール タブをクリックし、[+ 転送ルールを追加] をクリックします。画面上の指示に従って、新しい転送ルールを構成します。
詳細については、「転送ルールの追加と管理」をご参照ください。
-
ドメイン名: ドメイン名一致ルールには 完全一致とワイルドカード を選択します。転送ドメインは、
production.cloudflare.docker.comなどのターゲットイメージソースのドメイン名です。 -
転送アクション:仮想エンドポイントグループへのトラフィック転送を設定し、前のステップで追加した仮想エンドポイントグループを選択します。
-
-
ステップ 3:DNS レコードの設定
ACK クラスターノードの /etc/hosts ファイルに DNS レコードを追加して、ローカルドメイン名の名前解決を行うことができます。または、PrivateZone で DNS レコードを設定して、内部 DNS 名前解決を行うこともできます。PrivateZone を使用すると、設定が有効になった後に料金が発生します。課金の詳細については、「課金概要」をご参照ください。次の表は、2 つの方法を比較したものです。
|
機能 |
ローカル /etc/hosts レコード |
PrivateZone レコード |
|
設定場所 |
各ターゲットノードの |
Alibaba Cloud DNS PrivateZone 内。 |
|
範囲 |
設定は指定されたノードにのみ適用されます。Pod に有効にするには、カスタムホストを設定する必要があります。 |
設定は、Virtual Private Cloud (VPC) 内のすべてのノードと Pod に適用されます。 |
|
メンテナンス |
各ノードで手動での設定とメンテナンスが必要です。 |
一元管理により、メンテナンスと更新が簡素化されます。 |
|
ユースケース |
特定のノードの応急処置や小規模なデプロイメントに適しています。 |
大規模クラスターでの統一されたドメイン名解決に適しており、長期的な安定性を確保します。 |
|
更新速度 |
変更はすぐに有効になりますが、複数のノードで手動更新が必要です。 |
更新速度は設定された TTL に依存します。変更は手動更新を必要とせずに自動的に伝播されます。 |
|
Time to Live (TTL) |
設定はローカルファイルに保存され、キャッシュの遅延なくすぐに有効になります。 |
デフォルト値は 1 分です。TTL 値は、DNS レコードの更新が伝播するまでにかかる時間に影響します。必要に応じて TTL 値を変更できます。 |
ローカル /etc/hosts レコード
転送ルールを作成した後、ACK クラスターノードに DNS レコードを追加する必要があります。これにより、ノードは GA インスタンスの高速化 IP アドレスを使用してイメージソースのドメイン名にアクセスできるようになります。
ACK コンソールにログインします。左側のナビゲーションウィンドウで、クラスターリスト をクリックします。
クラスターリスト ページでクラスター名をクリックし、左側のナビゲーションウィンドウで をクリックします。
-
ローカル名前解決を設定します。
-
既存のノード: ノードリストで、イメージをプルするノードを選択します。ページの下部で、一括操作 をクリックします。操作タイプとして Shell スクリプトの実行 を選択し、OK をクリックします。
-
ノードの追加: 左側のナビゲーションバーで、 を選択し、 ターゲットノードプールの アクション 列の 編集 をクリックし、詳細オプション (選択してください) セクションの ユーザーデータ フィールドに次の Shell スクリプトを入力して、OK をクリックします。
echo "47.XX.XX.5 production.cloudflare.docker.com" >> /etc/hosts echo "47.XX.XX.5 docker.io" >> /etc/hosts echo "47.XX.XX.5 registry-1.docker.io" >> /etc/hosts # Docker レジストリドメイン。 echo "47.XX.XX.5 auth.docker.io" >> /etc/hosts # Docker 認証サービスドメイン。
-
-
テンプレートとして ACS-ECS-BulkyRunCommand を選択します。このテンプレートを使用すると、複数の ECS インスタンスでクラウドアシスタントコマンドを一括で実行できます。他のパラメーターはデフォルト値のままにして、続行します。
-
画面の指示に従ってシェルスクリプトを入力します。このスクリプトは、ノードの
/etc/hostsファイルに A レコードを一括で追加します。IP アドレスを「ステップ 1:標準 GA インスタンスの作成」で取得した高速化 IP アドレスに設定します。ドメイン名をターゲットイメージソースの関連ドメイン名に設定します。パラメーターを設定した後、タスクを作成します。たとえば、
echoコマンドを実行してドメイン名解決を有効にすることができます。echo "47.xxx.xxx.5 production.cloudflare.docker.com" >> /etc/hosts echo "47.xxx.xxx.5 docker.io" >> /etc/hosts echo "47.xxx.xxx.5 registry-1.docker.io" >> /etc/hosts echo "47.xxx.xxx.5 auth.docker.io" >> /etc/hostsタスクが完了したら、ECS インスタンスにログインし、対応する DNS レコードがノードに追加されているかどうかを確認し、ノードが海外のソースからコンテナイメージをプルできるかどうかをテストします。
PrivateZone レコード
転送ルールを作成した後、PrivateZone で DNS レコードも設定する必要があります。これにより、ノードは GA インスタンスの高速化 CNAME を使用してイメージソースのドメイン名にアクセスできるようになります。
-
ターゲット GA インスタンスの CNAME を取得します。
Global Accelerator コンソールにログインします。
-
左側のナビゲーションウィンドウで、[標準インスタンス] を選択します。
-
インスタンス ページで、目的の Global Accelerator インスタンスを見つけ、その ID をクリックします。
-
インスタンス情報 タブで、GA インスタンスの CNAME を取得します。
-
ACK クラスターノードが属する VPC の VPC ID を取得します。
ACK コンソールにログインします。左側のナビゲーションウィンドウで、クラスターリスト をクリックします。
クラスターリスト ページでクラスターの名前をクリックし、左側のナビゲーションウィンドウで クラスター情報 をクリックします。
-
クラスター情報 ページで、基本情報 タブをクリックし、ネットワーク セクションから VPC ID を取得します。
-
PrivateZone で DNS レコードを設定します。
アクセスドメイン名の CNAME レコードを設定して、GA インスタンスの高速化 CNAME を指すようにします。この例では、
docker.ioとproduction.cloudflare.docker.comのレコードを作成する必要があります。トップレベルドメインが異なるため、ioとcloudflare.docker.comの 2 つのビルトイン権威ゾーンを作成する必要があります。次の手順では、cloudflare.docker.comのビルトイン権威ゾーンを作成する方法を例として説明します。Alibaba Cloud DNS コンソールにログインします。
-
左側のナビゲーションウィンドウで[PrivateZone]をクリックします。[組み込み権威]タブ、次に[ユーザー定義ゾーン]タブをクリックします。
-
[ユーザー ドメイン] タブで、[ドメイン (ゾーン) の追加] をクリックし、[ビルトイン権威ドメイン (ゾーン)] テキストボックスに
cloudflare.docker.comを入力し、[サブドメイン再帰解決プロキシ] を有効にし、[ドメインタイプ] に [ビルトイン権威アクセラレーションゾーン] を選択して、OK をクリックします。 -
[ユーザー ドメイン] タブで、
cloudflare.docker.comの 操作 列にある [名前解決設定] をクリックします。 次に、[名前解決レコード] タブで [レコードの追加] をクリックします。 -
Add Recordダイアログボックスで、[Form] を選択します。パラメーターを設定した後、OK をクリックします。パラメーター
設定
レコードタイプ
CNAME を選択して、ドメイン名を別のドメイン名にポイントします。
ホスト名
-
ビルトイン権威ゾーンが
cloudflare.docker.comの場合、productionを入力します。 -
ビルトイン権威ドメイン (ゾーン) が
ioの場合、次のドメイン名を順番に入力します。-
docker:docker.ioは Docker のメインドメイン名です。 -
registry-1.docker:registry-1.docker.ioは Docker レジストリのドメイン名です。 -
auth.docker:auth.docker.ioは Docker 認証サービスのドメイン名です。
-
レコード値
ステップ 1 で取得した CNAME 高速化ドメイン名を入力します。
TTL
レコードのキャッシュ期間です。値が小さいほど、レコードの更新が早く反映されます。デフォルト値は 1 分です。
-
-
[ユーザー ドメイン] タブで、
cloudflare.docker.comの操作 列の[スコープ設定] をクリックします。 -
「スコープ管理」パネルで、
Alibaba Cloud VPC で有効に 現在のアカウント を選択し、次に [標準 VPC] を選択します。クラスターがデプロイされているリージョンを選択します。ステップ 2 で取得した VPC ID を選択します。VPC 名にマウスカーソルを合わせると、その ID を表示できます。次に、OK をクリックします。
設定が完了したら、ECS インスタンスにログインし、ノードが海外のソースからコンテナイメージをプルできるかどうかをテストします。