Gateway Load Balancer (GWLB) を使用して、ファイアウォールや侵入検知システムなどのサードパーティネットワーク仮想アプライアンス (NVA) を構成、拡張、および管理できます。 このトピックでは、GWLBインスタンスとGWLBエンドポイントを設定して、IPv4トラフィックのセキュリティチェックシステムを作成する方法について説明します。
シナリオの例
ビジネスのセキュリティと信頼性を高めるために、企業は、処理のためにアプリケーションサーバーにトラフィックを転送する前に、セキュリティチェックのためにインターネット経由でIPv4トラフィックをNVAにルーティングしたいと考えています。
エンタープライズはGWLBを使用してNVAを管理します。これにより、トラフィックがアプリケーションサーバーに転送される前に厳密に検査および処理されるようになります。 次の図は、シナリオを示しています。 このシナリオ例では、企業は中国 (Ulanqab) リージョンのAlibaba Cloudアカウントを使用してビジネスVPCとセキュリティVPCを作成します。
ビジネスVPCは、アプリケーションシステムの実行を担当し、インターネット経由でNVAにトラフィックをルーティングするIPv4ゲートウェイを備えています。
ビジネスVPCでは、2つの異なるサブネットに対してvSwitch VSW01とVSW02が作成されます。 VSW01に割り当てられたサブネットでは、アプリケーションサーバECS01が、ECS01にデプロイされたクライアント要求を処理するためのアプリケーションサービスとともにデプロイされます。 VSW02に割り当てられたサブネットで、GWLBエンドポイントが作成されます。
セキュリティVPCはNVAの実行を担当します。
セキュリティVPCにGWLBインスタンスが作成されます。 NVAは、GWLBインスタンスに関連付けられたバックエンドサーバーグループにマウントされます。 エンドポイントサービスがセキュリティVPCに作成され、GWLBインスタンスがエンドポイントサービスのサービスリソースとして指定されます。
GWLBエンドポイントと接続状態のエンドポイントサービスとの間に接続が確立されます。 インターネット上のトラフィックは、NVAにルーティングできます。
クライアントからアプリケーションサーバへのIPv4業務トラフィックの流れ (黒矢印) | アプリケーションサーバからクライアントへのIPv4業務トラフィックの流れ (青い矢印) |
|
|
制限事項
1つ以上のNVAが実行されている必要があります。
バックエンドサーバーグループのセキュリティグループは、ポート6081でのUDPトラフィックを許可する必要があります。
エンドポイントサービスは、PrivateLinkインスタンスとGWLBインスタンスの両方が利用可能なリージョンとゾーンで作成する必要があります。 PrivateLinkとGWLBインスタンスが使用可能なリージョンとゾーンの詳細については、「PrivateLinkをサポートするリージョンとゾーン」と「GWLBが使用可能なリージョンとゾーン」をご参照ください。
GWLBエンドポイントがデプロイされるゾーンは、GWLBインスタンスがデプロイされるゾーンのサブセットである必要があります。
前提条件
ビジネスVPCとセキュリティVPCが作成されます。 vSwitch VSW01およびVSW02はビジネスVPCのゾーンBに作成され、vSwitch VSW03はセキュリティVPCのゾーンBに作成されます。 詳細については、「VPC の作成と管理」をご参照ください。
説明vSwitch VSW01に割り当てられたサブネットはアプリケーションサーバーのデプロイに使用され、vSwitch VSW02に割り当てられたサブネットはGWLBエンドポイントのデプロイに使用され、vSwitch VSW03に割り当てられたサブネットはGWLBインスタンスのデプロイに使用されます。
IPv4ゲートウェイが作成され、アクティブ化され、ビジネスVPCに関連付けられます。 詳細については、「IPv4ゲートウェイの作成と管理」をご参照ください。
IPv4ゲートウェイ、vSwitch VSW01、およびvSwitch VSW02のルートテーブルが作成されます。 詳細については、「ルートテーブルの作成と管理」をご参照ください。
ECSインスタンスECS01がビジネスVPCに作成され、アプリケーションサービスがECS01にデプロイされます。 ECS01インスタンスがインターネット経由で通信しようとすると、パブリックIPアドレスが割り当てられます。 ECSインスタンスECS02とECS03はセキュリティVPCのゾーンBに作成され、NVAイメージはそれぞれECS02とECS03にデプロイされます。
ECSインスタンスの作成の詳細については、「カスタム起動タブでインスタンスを作成する」をご参照ください。
NVAイメージのデプロイの詳細については、「インスタンスからのカスタムイメージの作成」をご参照ください。
ECS01、ECS02、およびECS03のセキュリティグループが作成され、セキュリティグループのルールはビジネス要件とセキュリティ要件に基づいて設定されます。 詳細については、「セキュリティグループの作成」をご参照ください。
手順
手順1: GWLBインスタンスの作成
GWLBインスタンスは、GWLBサービスを提供する実行中のエンティティです。 GWLBサービスを使用するには、まずGWLBインスタンスを作成する必要があります。
GWLBコンソールにログインします。
上部のナビゲーションバーで、GWLBインスタンスがデプロイされているリージョンを選択します。
[インスタンス] ページで、[GWLBの作成] をクリックします。
Gateway Load Balancer - Alibaba Cloud International Siteで、パラメーターを設定します。
次の表に、主要なパラメーターのみを示します。 他のパラメーターにはデフォルト値を使用します。 パラメーターの詳細については、「GWLBインスタンスの作成と管理」をご参照ください。
パラメーター
説明
[インスタンス名]
インスタンス名を指定します。
[VPC]
セキュリティVPCを選択します。
リージョンとゾーン
GWLBインスタンスを作成するリージョンを選択します。 このトピックでは、中国 (Ulanqab) を選択します。
ゾーン
1つ以上のゾーンを選択します。 この例では、Ulanqab Zone Bが選択され、このゾーンのvSwitch VSW03が選択されています。
IPバージョン
IPバージョンを選択します。 このトピックでは、IPv4が選択されています。
サービスにリンクされたロール
GWLBインスタンスを初めて作成するときに、[サービスにリンクされたロールの作成] をクリックして、AliyunServiceRoleForGwlbサービスにリンクされたロールを作成します。
説明このパラメーターは、GWLBインスタンスを初めて作成したときにのみ表示されます。
[今すぐ購入] をクリックして、支払いを完了します。
[インスタンス] ページに戻り、GWLBインスタンスがデプロイされているリージョンを選択して、GWLBインスタンスを表示します。
手順2: バックエンドサーバーグループの作成
GWLBインスタンスによって転送されたクライアント要求を処理するには、サーバーグループを作成し、バックエンドサーバーをサーバーグループに追加する必要があります。
左側のナビゲーションウィンドウで、
を選択します。[サーバーグループ] ページで、[サーバーグループの作成] をクリックします。
[サーバーグループの作成] ダイアログボックスでパラメーターを設定し、[作成] をクリックします。
次の表に、主要なパラメーターのみを示します。 他のパラメーターにはデフォルト値を使用します。 パラメーターの詳細については、「サーバーグループの作成と管理」をご参照ください。
パラメーター
説明
サーバーグループタイプ
サーバーグループタイプを選択します。 この例では、[サーバー] が選択されています。
サーバーグループ名
サーバグループ名を指定します。
[VPC]
ECSインスタンスがデプロイされているセキュリティVPCを選択します。
説明GWLBインスタンスがデプロイされているVPCを選択します。
スケジューリングアルゴリズム
スケジューリングアルゴリズムを選択します。 この例では、5タプルのハッシュが選択されています。
ヘルスチェック方法
ヘルスチェック方法を選択するか、ヘルスチェックを無効にします。 この例では、TCPが選択されています。
ヘルスチェックポート
ヘルスチェックポートを指定します。 この例では、80が指定されています。
[サーバーグループが作成されました] メッセージで、[バックエンドサーバーの追加] をクリックします。
表示されるページの [バックエンドサーバー] タブで、[バックエンドサーバーの追加] をクリックします。
[バックエンドサーバーの追加] パネルで、[サーバータイプ] を設定します。 この例では、サーバータイプをECS/ENIに設定します。
ECS02とECS03を選択し、[次へ] をクリックします。
説明この例では、サーバータイプをECS/ENIに設定します。
NVAイメージがバックエンドサーバーにデプロイされ、バックエンドサーバーがGeneveプロトコルを使用していることを確認します。
手順3: リスナーの設定
Geneveプロトコルを使用してすべてのポート間でパケットをバックエンドサーバーに転送するには、GWLBインスタンスのリスナーを設定し、リスナーをバックエンドサーバーグループに関連付ける必要があります。
左側のナビゲーションウィンドウで、
を選択し、インスタンスIDをクリックします。[リスナー] タブをクリックし、[IPリスナーの作成] をクリックします。
[サーバーグループの選択] ステップで、[サーバーグループタイプ] を設定し、作成するサーバーグループを選択します。
このページには、バックエンドサーバーリストが表示されます。 [OK] をクリックします。
手順4: エンドポイントサービスの設定
GWLBインスタンスがサービスを提供できるようにするには、エンドポイントサービスを作成する必要があります。
VPCコンソールにログインします。
[Endpoint Service] ページで、[Endpoint Serviceの作成] をクリックします。
[Endpoint Serviceの作成] ページで、パラメーターを設定し、[OK] をクリックします。
次の表に、このトピックに関連するパラメーターのみを示します。
パラメーター
説明
リージョン
この例では、中国 (Ulanqab) が選択されています。
サービスリソースタイプ
エンドポイントサービスに追加するサービスリソースのタイプを選択します。 この例では、GWLBが選択されています。
サービスリソースの選択
サービスリソースが利用可能なゾーンを選択し、サービスリソースを選択します。
この例では、UlanqabゾーンBが選択され、手順1: ゾーンBでのGWLBインスタンスの作成で作成されたPrivateLinkをサポートするGWLBインスタンスが選択されています。
ネットワークタイプ
この例では、IPv4が選択されています。
エンドポイント接続を自動的に受け入れる
エンドポイントサービスがエンドポイントからの接続要求を自動的に受け入れるかどうかを指定します。 この例では、はいが選択されています。
説明[はい] を選択した場合、エンドポイントの作成後、エンドポイントサービスはエンドポイントからの接続要求を自動的に受け付けます。
サービス支払人
この例では、Service Consumerが選択されています。
手順5: GWLBエンドポイントの設定
GWLBインスタンスがエンドポイントサービスと通信できるようにするには、GWLBエンドポイントを作成する必要があります。
Endpointコンソールにログインします。
[エンドポイント] ページの [インターフェイスエンドポイント] タブで、[エンドポイントの作成] をクリックします。
[エンドポイントの作成] ページで、パラメーターを設定し、[OK] をクリックします。
次の表に、このトピックに関連するパラメーターのみを示します。
パラメーター
説明
リージョン
この例では、中国 (Ulanqab) が選択されています。
エンドポイント名
エンドポイント名を指定します。
エンドポイントタイプ
エンドポイントタイプを選択します。 この例では、ゲートウェイエンドポイントが選択されています。
エンドポイントサービス
この例では、[サービスの選択] が選択され、手順4: エンドポイントサービスの設定で作成されたエンドポイントサービスが選択されています。
[VPC]
エンドポイントがデプロイされているVPCを選択します。 この例では、ビジネスVPCが選択されています。
ゾーンとvSwitch
エンドポイントサービスのサービスリソースがデプロイされているゾーンを選択し、このゾーンでvSwitchを選択します。 vSwitchにエンドポイントelastic network interface (ENI) が自動的に作成されます。
この例では、UlanqabゾーンBが選択され、ゾーンBのVSW02が選択されています。
ネットワークタイプ
この例では、IPv4が選択されています。
説明エンドポイントサービスのエンドポイント接続が接続状態であることを確認します。
ステップ6: ルートの設定
ネットワークトラフィックをGWLBエンドポイントに転送するには、ルートを設定する必要があります。
VPCコンソールにログインします。
左側のナビゲーションペインで、 Route Tablesをクリックします。
上部のナビゲーションバーで、ルートテーブルが属するリージョンを選択します。
[ルートテーブル] ページで、変更するルートテーブルのIDをクリックします。
説明変更する必要があるルートテーブルには、IPv4ゲートウェイルートテーブル、VSW01ルートテーブル、およびVSW02ルートテーブルが含まれます。 それらを一つずつ変更します。
[ルートテーブルの詳細] ページの [ルートエントリリスト] タブで、[システムルート] タブをクリックし、システムによって作成されたルートを表示します。
ルートテーブルが属するVPCのvSwitchのCIDRブロック宛てのルートは、システムによってカスタムルートテーブルに自動的に追加されます。 これらのルートは、vSwitch内のクラウドリソース間の通信に使用されます。
システムルートの変更: IPv4ゲートウェイの
タブで、変更するシステムルートを見つけ、[操作] 列の [変更] をクリックします。 [ルートエントリの変更] ダイアログボックスでパラメーターを設定し、[OK] をクリックします。 次に、このルートが [カスタムルート] タブに表示されます。 以下、パラメータについて説明する。パラメーター
説明
宛先CIDRブロック
トラフィックの宛先CIDRブロックを表示します。 宛先CIDRブロックは変更できません。 この例では、192.168.2.0/24が表示されます。
名前
新しいルート名を指定します。
次ホップ
ネクストホップのタイプを選択します。 この例では、GWLBエンドポイントが選択されています。
GWLBエンドポイント
手順5: GWLBエンドポイントの設定で作成されたGWLBエンドポイントが選択されます。
カスタムルートの追加: vSwitchの場合、[カスタムルート] タブをクリックし、[ルートエントリの追加] をクリックし、[宛先CIDRボック] と [次のホップ] を設定し、[OK] をクリックします。 次のようにパラメーターを設定します。
vSwitch VSW01の場合、宛先CIDRブロックは0.0.0.0/0に設定され、ネクストホップはGWLBエンドポイントに設定されます。
vSwitch VSW02の場合、宛先CIDRブロックは0.0.0.0/0に設定され、ネクストホップはIPv4ゲートウェイに設定されます。
IPv4ゲートウェイのルートテーブル設定
IPv4ゲートウェイのルートテーブルには、アプリケーションサーバー宛てのトラフィックをGWLBエンドポイントにルーティングするエントリが含まれている必要があります。 この例のIPv4ゲートウェイに必要なルートテーブルの設定を次の表に示します。 これらの构成は参照だけのためです。
宛先CIDRブロック
次ホップ
タイプ
192.168.5.0/24
local
システムルートエントリ
192.168.2.0/24
GWLBエンドポイント
カスタムルートエントリ
vSwitch VSW01のルートテーブル設定
vSwitch VSW01のルートテーブルには、アプリケーションサーバーからGWLBエンドポイントにすべてのトラフィックをルーティングするエントリが含まれている必要があります。 この例のvSwitch VSW01に必要なルートテーブルの設定を次の表に示します。 これらの构成は参照だけのためです。
宛先CIDRブロック
次ホップ
タイプ
192.168.2.0/24
local
システムルートエントリ
192.168.5.0/24
local
システムルートエントリ
0.0.0.0/0
GWLBエンドポイント
カスタムルートエントリ
vSwitch VSW02のルートテーブル設定
vSwitch VSW02のルートテーブルは、NVAから返されたトラフィックを最終宛先にルーティングする必要があります。 インターネットからのトラフィックの場合、ローカルルートはアプリケーションサーバーに確実に到達します。 アプリケーションサーバーからのトラフィックの場合、すべてのトラフィックをIPv4ゲートウェイにルーティングするエントリを追加する必要があります。 この例のvSwitch VSW02に必要なルートテーブルの設定を次の表に示します。 これらの构成は参照だけのためです。
宛先CIDRブロック
次ホップ
タイプ
192.168.2.0/24
local
システムルートエントリ
192.168.5.0/24
local
システムルートエントリ
0.0.0.0/0
IPv4ゲートウェイ
カスタムルートエントリ
ステップ7: Verify the results
テストサーバー接続
アプリケーションサーバーECS01にログインし、次のコマンドを実行してインターネットへのアクセスをテストします。
ピンg www.aliyun.com
出力にサーバーからインターネットへのトラフィックに関する情報が含まれ、トラフィックが一定期間増加し続ける場合、ECS01はインターネットに接続され、テストは成功します。
出力は次の通りです。
セキュリティチェックによるトラフィックのテスト
バックエンドサーバーECS02またはECS03にログインし、次のコマンドを実行してポート6081上のすべてのパケットをキャプチャします。
tcpdump -i任意のポート6081
出力にECS01からの要求と応答に関する情報が含まれている場合、GWLBはセキュリティチェックのためにトラフィックをNVAにルーティングしており、テストは成功しています。
出力は次の通りです。