セキュリティ上の理由から、企業は外部アクセスポートをバックエンドアプリケーションポートから分離する必要があることがよくあります。Global Accelerator (GA) でポートマッピングを設定すると、リスナーポートをバックエンドアプリケーションポートにマッピングできます。これにより、アプリケーションデプロイメントの柔軟性とセキュリティが向上します。
機能紹介
デフォルトでは、Global Accelerator (GA) は、リスナーを作成する際に指定したプロトコルとポート範囲を使用して、リクエストをエンドポイントグループに転送します。インテリジェントルーティングリスナーはポートマッピングをサポートしています。エンドポイントグループを設定する際に、リスナーポートとエンドポイントポート間のマッピングを指定できます。ポートマッピングを設定すると、GA はリスナーポートでリクエストを受信し、マッピングに基づいてサービスを提供するエンドポイントポートにトラフィックを転送します。これにより、柔軟なネットワーク構成が可能になります。
利用シーン
ポートマッピングは、リスナーポートがエンドポイントポートと異なるシナリオに適用できます。
エンタープライズアプリケーションへのセキュアなアクセス:企業はセキュリティを向上させるために、外部アクセスポートとバックエンドアプリケーションポートを分離する必要があることがよくあります。GA のポートマッピングを使用すると、外部リクエストを標準ポート (TCP ポート 80 など) で受信し、バックエンドアプリケーションポート (ポート 8080 など) に転送できます。これにより、内部サービスポートが直接公開されるのを防ぎます。
マルチテナント SaaS アプリケーションのポート分離:Software-as-a-Service (SaaS) アプリケーションでは、異なる外部アクセスポート (8001、8002、8003 など) が異なるテナントに割り当てられます。GA のポートマッピングを使用して、これらのポートを特定のバックエンドポート (ポート 8080 など) にマッピングし、テナントの分離を確保してセキュリティを向上させることができます。
HTTPS 経由での HTTP Web サイトへのセキュアなアクセス:HTTP ポート 80 で実行されている Web サイトは、GA のポートマッピングを使用して、HTTPS 経由でリクエストを暗号化できます。たとえば、ポート 443 を使用する HTTPS リスナーを設定し、そのポートをバックエンドの HTTP ポート 80 にマッピングできます。これにより、クライアントは HTTPS 経由で HTTP Web サイトにセキュアにアクセスでき、アクセス速度とセキュリティの両方が向上します。
制限事項
標準 GA インスタンスの TCP または UDP リスナーが [ポートマッピング] の設定をサポートしていない場合、インスタンスは以前のバージョンである可能性があります。 GA インスタンスをスペックアップするには、アカウントマネージャーにお問い合わせください。
ポートマッピング を設定する際は、リスナーポート がリスナーに設定されたポート範囲に含まれていることを確認してください。[エンドポイントポート] の有効な範囲は 1~65535 です。
TCP および UDP リスナーの場合、[ポートマッピングの追加] をクリックして複数のポートマッピングを追加できます。各ポートマッピングの リスナーポート は一意である必要があります。最大 30 個のポートマッピングを追加できます。
HTTP および HTTPS リスナーの場合、最大 1 つのポートマッピングを追加できます。
TCP リスナーの場合:
仮想エンドポイントグループのポートマッピングは設定できません。
リスナーに仮想エンドポイントグループが既に存在する場合、デフォルトのエンドポイントグループのポートマッピングは設定できません。
デフォルトのエンドポイントグループにポートマッピングが既に設定されている場合、仮想エンドポイントグループを追加することはできません。
ポートマッピングを設定した後、その後のリスナーの変更には次の制限が適用されます:
リスナープロトコル:HTTP と HTTPS プロトコル間でのみ切り替えが可能です。他のプロトコル間の切り替えはサポートされていません。
リスナーポート:変更後のリスナーポート範囲には、既存のポートマッピングを持つすべてのリスナーポートが含まれている必要があります。
たとえば、リスナーポート範囲が 80-82 で、エンドポイントポート 100-102 にマッピングされている場合、その後変更するリスナーポート範囲には 80-82 を含める必要があります。80-90 に変更することはできますが、80-81 に狭めることはできません。
バックエンドサービスにセキュリティグループなどのアクセスの制御がある場合は、ポートマッピングで指定されたエンドポイントポートでインバウンドトラフィックが許可されていることを確認してください。
たとえば、リスナーポートが 80 で、そのポートがエンドポイントポート 8080 にマッピングされている場合、バックエンドサービスがポート 8080 でトラフィックを受信できることを確認してください。
例
GA のレイヤー 4 (TCP および UDP) およびレイヤー 7 (HTTP および HTTPS) リスナーは、ポートマッピングをサポートしています。このトピックでは、次の 2 つのシナリオを使用して GA のポートマッピングについて説明します。
レイヤー 4 リスナーのポートマッピング
あるゲーム会社は、Network Load Balancer (NLB) のバックエンドサーバーグループを使用して、米国 (シリコンバレー) リージョンにゲームサーバー ECS01 と ECS02 をデプロイしています。Elastic Compute Service (ECS) インスタンスには MMO 系ゲームがデプロイされています。戦闘ロジック処理モジュールはポート 8080 で、チャットモジュールはポート 8090 で実行されています。
この会社は次の課題に直面しています:
エンドユーザーは世界中の複数のリージョンにいます。不安定なインターネット接続のため、高遅延、ジッター、パケット損失などのネットワーク問題が頻繁に発生します。
ゲームは、異なるポートを使用して異なる処理モジュールを区別し、異なるポートのトラフィックを対応するバックエンドモジュールに転送する必要があります。
ゲームサーバーのポートが公開されており、セキュリティリスクをもたらし、管理が複雑になっています。
これらの問題を解決するため、ゲーム会社は GA をデプロイする計画を立てています。会社が GA をデプロイすると、リクエストは最寄りの Alibaba Cloud アクセスポイントにルーティングされ、Alibaba Cloud 内部ネットワークを通じてゲームサーバーに到達します。これにより、インターネット上の伝送経路が短縮され、高遅延、ジッター、パケット損失などのネットワーク問題が軽減されます。GA のポートマッピング機能を使用すると、外部リクエストは TCP ポート 80 と 90 で受信され、バックエンドサービスポート 8080 と 8090 に転送されます。これにより、ビジネスモジュールのポート分離が実現し、内部サービスポートの公開が防止されます。
前提条件
NLB インスタンスが作成されていること。詳細については、「NLB インスタンスの作成」をご参照ください。
NLB インスタンス用にサーバーグループとリスナーが作成されていること。サーバーグループとリスナーでマルチポートリスニングが有効になっていること。
ECS01 と ECS02 が NLB サーバーグループに追加され、ECS01 と ECS02 に異なるポートを使用して異なるサービスモジュールがデプロイされていること。
この例では、Alibaba Cloud Linux 3 オペレーティングシステムと Nginx を使用して、ポート 8080 と 8090 をサポートするテストサービスを設定します。
ECS01 と ECS02 のセキュリティグループがポート 8080 と 8090 へのリクエストを許可していること。
サービスドメイン名を NLB インスタンスの CNAME レコードにマッピングする DNS レコードが設定されていること。
サードパーティの DNS サービスを使用している場合は、サービスプロバイダーが提供するドキュメントをご参照ください。
操作手順
ステップ 1:インスタンスの基本情報の設定
この例では、従量課金の標準 GA インスタンスを使用します。
Global Accelerator コンソールのページで、[標準従量課金インスタンスの作成]をクリックします。
[基本インスタンス設定] ステップで、基本情報を設定し、[次へ] をクリックします。

ステップ 2:加速エリアの設定
[加速エリアの設定] ステップで、加速リージョンを追加し、リージョンに帯域幅を割り当ててから、[次へ] をクリックします。
この例では、中国 (香港) リージョンを使用します。[加速リージョン] パラメーターは [中国 (香港)] に設定し、[ISP 回線タイプ] パラメーターは [BGP (マルチ ISP)] に設定します。他のパラメーターにはデフォルト値を使用するか、必要に応じてパラメーターを変更できます。詳細については、「加速エリアの追加と管理」をご参照ください。
加速リージョンに中国本土のリージョンが含まれる場合、サービスを提供するにはドメイン名の ICP 登録を申請する必要があります。
最大帯域幅に小さい値を指定すると、速度制限が発生し、パケットがドロップされる可能性があります。必要に応じて最大帯域幅を指定してください。

ステップ 3:リスナーの設定
[リスナーの設定] ステップで、転送プロトコルとポートを設定し、[次へ] をクリックします。
この例では、[プロトコル] パラメーターを [TCP] に設定し、[ポート] パラメーターにはポート 80 と 90 を含める必要があります。たとえば、[80-90] と入力できます。他のパラメーターにはデフォルト値を使用するか、必要に応じて他のパラメーターを変更できます。リスナーの設定方法の詳細については、「インテリジェントルーティングリスナーの追加と管理」をご参照ください。

ステップ 4:エンドポイントグループとエンドポイントの設定
[エンドポイントグループの設定] ステップで、エンドポイントグループを設定し、[次へ] をクリックします。
この例では、[リージョン] を [米国 (シリコンバレー)] に、[バックエンドサービスタイプ] を [NLB] に、[バックエンドサービス] を NLB インスタンスに設定します。ポートマッピング セクションで、リスナーポート [80] とエンドポイントポート [8080]、およびリスナーポート [90] とエンドポイントポート [8090] の間のマッピングを設定します。次に、[国境を越えたデータ転送に関するコンプライアンスコミットメント] を読んで選択します。他のパラメーターにはデフォルト値を使用するか、必要に応じて他のパラメーターを変更できます。エンドポイントグループの設定方法の詳細については、「インテリジェントルーティングリスナーのエンドポイントグループの追加と管理」をご参照ください。


[設定の確認] ステップで、GA の設定を確認し、[送信] をクリックします。
ステップ 5:CNAME レコードの設定
実際のビジネスシナリオでは、カスタムドメイン名を使用することを推奨します。CNAME レコードを作成して、カスタムドメイン名を GA によって割り当てられた CNAME にマッピングできます。これにより、ビジネストラフィックが GA に切り替わり、高速アクセスが可能になります。
この例では、バックエンドサーバーを指す A レコードを既に作成している場合、GA インスタンスを指す CNAME レコードを追加する際に、中国 (香港) リージョンを指定できます。CNAME レコードが期待どおりに機能する場合、CNAME レコードを他のリージョンに適用するか、GA インスタンスを指す CNAME レコードのみを保持します。
[ドメイン名] ページで、使用したいドメイン名を見つけ、[操作] 列の [DNS 設定] をクリックします。
説明Alibaba Cloud に登録されていないドメイン名の場合、DNS レコードを設定する前に、ドメイン名を Cloud DNS コンソールに追加する必要があります。
[DNS 設定] ページで、[DNS レコードの追加] をクリックし、CNAME レコードを設定してから、[OK] をクリックします。
この例では、[レコードタイプ] パラメーターを [CNAME] に、[ホスト名] パラメーターを [www] に、[DNS リクエストソース] パラメーターを [中国 (香港)] に、[レコード値] パラメーターを GA インスタンスの CNAME に設定します。他のパラメーターにはデフォルト値を使用するか、必要に応じてパラメーターを変更できます。詳細については、「DNS レコードの追加」をご参照ください。

ステップ 6:ネットワーク接続のテスト
ポートマッピングの検証
加速エリア (この例では中国 (香港)) のコンピューターで、次の操作を実行します:
ブラウザを使用して
http://<カスタムドメイン名>:80にアクセスします。ブラウザを複数回更新します。ページは ECS01 と ECS02 のサービス間で切り替わります。これは、ポート 80 を介してポート 8080 のサービスにアクセスできることを示しています。

ブラウザを使用して
http://<カスタムドメイン名>:90にアクセスします。ブラウザを複数回更新します。ページは ECS01 と ECS02 のサービス間で切り替わります。これは、ポート 90 を介してポート 8090 のサービスにアクセスできることを示しています。

GA の高速化パフォーマンスの検証
この例では、/1 回限りの検出ツールを使用します。GA の設定前後で、サービスドメイン名とサービスポートをテストして、応答時間とデータ遅延を確認します。詳細については、「接続テストツールを使用した高速化パフォーマンスのテスト」をご参照ください。
http://<カスタムドメイン名>:8080を入力して、GA を使用する前のネットワーク遅延を確認します。テストを実行する前に、DNS レコードが NLB インスタンスの CNAME レコードを指していることを確認してください。
応答時間などの情報を表示できます。解決結果の IP アドレスは、インターネット向け NLB インスタンスに割り当てられたパブリック IP アドレスです。これは、トラフィックが NLB にルーティングされていることを示しています。

http://<カスタムドメイン名>:80を入力して、GA を使用した後のネットワーク遅延を確認します。テストを実行する前に、DNS レコードが GA インスタンスの CNAME レコードに切り替えられていることを確認してください。
解決結果には GA インスタンスの加速 IP アドレスが表示されます。これは、トラフィックが高速化のために GA にルーティングされていることを示しています。

テスト結果から、GA を使用した後、中国 (香港) のクライアントから米国 (シリコンバレー) のサービスへのデータ伝送のネットワーク遅延が減少したことがわかります。
GA の高速化パフォーマンスは、ご利用のサービスによって異なります。
レイヤー 7 リスナーのポートマッピング
ある企業は、米国 (シリコンバレー) リージョンで Application Load Balancer (ALB) を使用して、高可用性の Web サービスをデプロイしています。Web サービスは HTTP ポート 8081 で実行され、世界中の複数のリージョンのエンドユーザーにサービスを提供しています。
この企業は次の課題に直面しています:
インターネットの品質が悪いため、一部のエンドユーザーは高いネットワーク遅延を経験し、ユーザーエクスペリエンスに影響を与えています。
データは HTTP 経由でプレーンテキストで送信され、Web サイトへのリクエストは認証されないため、セキュリティリスクが発生する可能性があります。
Web サービスはカスタムポート 8081 で実行されているため、エンドユーザーは標準の HTTPS ポート 443 を介してサービスにアクセスできません。
これらの問題を解決し、ユーザーエクスペリエンスを向上させるために、企業は GA を使用します。企業は GA のポートマッピング機能を使用して、HTTPS ポート 443 でリクエストを受信し、リクエストをバックエンドの HTTP ポート 8081 に転送します。これにより、リクエストが暗号化され、サービスが標準ポート 443 を介して利用可能になります。
前提条件
ALB インスタンスが作成されていること。詳細については、「ALB インスタンスの作成」をご参照ください。
サーバーグループを作成し、HTTP リスナーを ALB インスタンスに追加していること。
ECS01 と ECS02 が ALB インスタンスのサーバーグループに追加され、ECS01 と ECS02 にポート 8081 を使用するサービスがデプロイされていること。
この例では、Alibaba Cloud Linux 3 オペレーティングシステムと Nginx を使用して、ポート 8081 をサポートするテストサービスを設定します。
ECS01 と ECS02 のセキュリティグループがポート 8081 へのリクエストを許可していること。
サービスドメイン名を ALB インスタンスの CNAME レコードにマッピングする DNS レコードが設定されていること。
サードパーティの DNS サービスを使用している場合は、サービスプロバイダーが提供するドキュメントをご参照ください。
必要な証明書がデプロイされていること。証明書をサードパーティのサービスプロバイダーから購入した場合は、Certificate Management Service にアップロードする必要があります。さらに、証明書がドメイン名に関連付けられていることを確認する必要があります。証明書の作成方法の詳細については、「公式証明書を使用して Web サイトの HTTPS を有効にする」をご参照ください。
操作手順
ステップ 1:インスタンスの基本情報の設定
この例では、従量課金の標準 GA インスタンスを使用します。
Global Accelerator コンソールのページで、[標準従量課金インスタンスの作成]をクリックします。
[基本インスタンス設定] ステップで、基本情報を設定し、[次へ] をクリックします。

ステップ 2:加速エリアの設定
[加速エリアの設定] ステップで、加速リージョンを追加し、リージョンに帯域幅を割り当ててから、[次へ] をクリックします。
この例では、中国 (香港) リージョンを使用します。[加速リージョン] パラメーターは [中国 (香港)] に設定し、[ISP 回線タイプ] パラメーターは [BGP (マルチ ISP)] に設定します。他のパラメーターにはデフォルト値を使用するか、必要に応じてパラメーターを変更できます。詳細については、「加速エリアの追加と管理」をご参照ください。
加速リージョンに中国本土のリージョンが含まれる場合、サービスを提供するにはドメイン名の ICP 登録を申請する必要があります。
最大帯域幅に小さい値を指定すると、速度制限が発生し、パケットがドロップされる可能性があります。必要に応じて最大帯域幅を指定してください。

ステップ 3:リスナーの設定
[リスナーの設定] ステップで、転送プロトコルとポートを設定し、[次へ] をクリックします。
この例では、[プロトコル] を [HTTPS] に、[ポート] を [443] に設定し、[サーバー証明書] ドロップダウンリストからドメイン名の SSL 証明書を選択します。他のパラメーターにはデフォルト値を使用するか、必要に応じて他のパラメーターを変更できます。リスナーの設定方法の詳細については、「インテリジェントルーティングリスナーの追加と管理」をご参照ください。

ステップ 4:エンドポイントグループとエンドポイントの設定
[エンドポイントグループの設定] ステップで、エンドポイントグループを設定し、[次へ] をクリックします。
この例では、[リージョン] を [米国 (シリコンバレー)] に、[バックエンドサービスタイプ] を [ALB] に、[バックエンドサービス] を ALB インスタンスに設定します。ポートマッピング セクションで、リスナーポート [443] とエンドポイントポート [8081] の間のマッピングを設定します。次に、[国境を越えたデータ転送に関するコンプライアンスコミットメント] を読んで選択します。他のパラメーターにはデフォルト値を使用するか、必要に応じて他のパラメーターを変更できます。エンドポイントグループの設定方法の詳細については、「インテリジェントルーティングリスナーのエンドポイントグループの追加と管理」をご参照ください。


[設定の確認] ステップで、GA の設定を確認し、[送信] をクリックします。
ステップ 5:CNAME レコードの設定
実際のビジネスシナリオでは、カスタムドメイン名を使用することを推奨します。CNAME レコードを作成して、カスタムドメイン名を GA によって割り当てられた CNAME にマッピングできます。これにより、ビジネストラフィックが GA に切り替わり、高速アクセスが可能になります。
この例では、バックエンドサーバーを指す A レコードを既に作成している場合、GA インスタンスを指す CNAME レコードを追加する際に、中国 (香港) リージョンを指定できます。CNAME レコードが期待どおりに機能する場合、CNAME レコードを他のリージョンに適用するか、GA インスタンスを指す CNAME レコードのみを保持します。
[ドメイン名] ページで、使用したいドメイン名を見つけ、[操作] 列の [DNS 設定] をクリックします。
説明Alibaba Cloud に登録されていないドメイン名の場合、DNS レコードを設定する前に、ドメイン名を Cloud DNS コンソールに追加する必要があります。
[DNS 設定] ページで、[DNS レコードの追加] をクリックし、CNAME レコードを設定してから、[OK] をクリックします。
この例では、[レコードタイプ] パラメーターを [CNAME] に、[ホスト名] パラメーターを [www] に、[DNS リクエストソース] パラメーターを [中国 (香港)] に、[レコード値] パラメーターを GA インスタンスの CNAME に設定します。他のパラメーターにはデフォルト値を使用するか、必要に応じてパラメーターを変更できます。詳細については、「DNS レコードの追加」をご参照ください。

ステップ 6:ネットワーク接続のテスト
ポートマッピングの検証
加速エリア (この例では中国 (香港)) のコンピューターで、ブラウザを使用して https://<カスタムドメイン名>:443 にアクセスします。ブラウザを複数回更新します。ページは ECS01 と ECS02 のサービス間で切り替わります。これは、ポート 443 を介してポート 8081 のサービスにアクセスできることを示しています。


GA の高速化パフォーマンスの検証
この例では、/1 回限りの検出ツールを使用します。GA の設定前後で、サービスドメイン名とサービスポートをテストして、応答時間とデータ遅延を確認します。詳細については、「接続テストツールを使用した高速化パフォーマンスのテスト」をご参照ください。
http://<カスタムドメイン名>:8081を入力して、GA を使用する前のネットワーク遅延を確認します。テストを実行する前に、DNS レコードが ALB インスタンスの CNAME レコードを指していることを確認してください。
応答時間などの情報を表示できます。解決結果の IP アドレスは、インターネット向け ALB インスタンスに割り当てられたパブリック IP アドレスです。これは、トラフィックが ALB にルーティングされていることを示しています。

https://<カスタムドメイン名>:443を入力して、GA を使用した後のネットワーク遅延を確認します。テストを実行する前に、DNS レコードが GA インスタンスの CNAME レコードに切り替えられていることを確認してください。
解決結果には GA インスタンスの加速 IP アドレスが表示されます。これは、トラフィックが高速化のために GA にルーティングされていることを示しています。

テスト結果から、GA を使用した後、中国 (香港) のクライアントから米国 (シリコンバレー) のサービスへのデータ伝送のネットワーク遅延が減少したことがわかります。
GA の高速化パフォーマンスは、ご利用のサービスによって異なります。
関連ドキュメント
GA をデプロイして、米国 (シリコンバレー) にデプロイされた HTTP 80 Web サイトに HTTPS 443 を介してアクセスする方法の詳細については、「HTTPS 経由での HTTP Web サイトへのアクセスの高速化」をご参照ください。
ALB は GA と統合されています。ALB コンソールで GA を有効にすると、GA の設定を簡素化できます。詳細については、「ALB と GA の統合によるアプリケーションの高速化」をご参照ください。
GA に関する一般的な問題:
次の API 操作で
PortOverridesパラメーターを使用して、リスナーポートとエンドポイントポート間のマッピングを設定できます: