Web サービスのアクセス速度を向上させ、高いセキュリティと可用性の要件を満たすために、Global Accelerator (GA) と Web Application Firewall (WAF) を組み合わせます。GA は Alibaba Cloud のプレミアムなボーダーゲートウェイプロトコル (BGP) 帯域幅とグローバルネットワークを使用します。WAF と併用することで、GA は Web 攻撃から効果的に防御します。GA のヘルスチェック機能は、異常なノードによるサービス中断を防ぎます。この組み合わせにより、Web サービスにセキュアで高可用性のアクセラレーションソリューションを提供します。
シナリオ
Web サービスがドイツ (フランクフルト) リージョンの ECS インスタンスにデプロイされています。このサービスはカスタムドメイン名を使用し、HTTP ポート 80 でトラフィックを転送します。ほとんどのクライアントは中国 (香港) リージョンにいます。この Web サービスは以下の課題に直面しています。
Web サービスは頻繁にさまざまな Web 攻撃の標的となり、そのセキュリティと可用性に深刻な影響を与えています。
クロスボーダーのパブリックネットワークは不安定で、遅延、ジッター、パケット損失などの問題が頻繁に発生します。
バックエンドサーバーが不安定で、サービス中断のリスクがあります。
上の図はアーキテクチャを示しています。このデプロイメントは、クロスボーダー Web サービスが直面する課題を解決します。
WAF:カスタムドメイン名を WAF に追加すると、すべてのサービストラフィックが検査のために WAF に転送されます。WAF は Web 攻撃をフィルタリングし、通常のトラフィックのみを転送することで、Web サービスとデータのセキュリティを確保します。
GA:WAF が中国 (香港) のユーザーからのアクセスリクエストを検査・フィルタリングした後、リクエストは中国 (香港) の加速エリアを通じて Alibaba Cloud のアクセラレーションネットワークに入ります。GA はスマートルーティングと自動ネットワークスケジューリングを使用して、リクエストをドイツ (フランクフルト) の Web サービスに転送します。これにより、アクセス速度が大幅に向上します。さらに、ヘルスチェックを有効にすることで、異常なノードによるサービス中断を防ぎ、サービスの信頼性と可用性を向上させます。
前提条件
Web サービスがドイツ (フランクフルト) リージョンの Elastic Compute Service (ECS) インスタンス ECS01 と ECS02 にデプロイされていること。このトピックでは、オペレーティングシステムとして Alibaba Cloud Linux 3 を使用し、Nginx を使用してポート 80 で HTTP サービスを設定する例を説明します。
カスタムドメイン名に対して、2 つのバックエンドサーバーのパブリック IP アドレスを指す A レコードを作成して、DNS レコードが設定されていること。
Alibaba Cloud DNS 以外の DNS サービスを使用する場合は、ご利用の DNS プロバイダーが提供するドキュメントをご参照ください。
HTTPS ポート 443 でサービスを提供するには、まず証明書を作成してリクエストするか、サードパーティの証明書を SSL 証明書サービスにアップロードしてカスタムドメイン名にバインドする必要があります。
WAF インスタンスが有効化されていること。
このシナリオでは、中国本土以外のリージョンで従量課金の課金方法を使用する WAF 3.0 インスタンスを有効化します。
重要設定する GA の加速エリア (クライアントリージョン) に中国本土のリージョンが含まれる場合は、中国本土のリージョンでも WAF インスタンスを有効化する必要があります。WAF 保護が有効な間、カスタムドメイン名がICP 登録を完了し、その登録情報が有効であることを確認してください。
操作手順
ステップ 1:Global Accelerator の設定
このトピックでは、従量課金の標準 GA インスタンスを例として説明します。
Global Accelerator コンソールのページで、[標準従量課金インスタンスの作成]をクリックします。
[基本インスタンス設定] ステップで、パラメーターを設定し、[次へ] をクリックします。

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

[リスナーの設定] ステップで、ルーティングプロトコルとポートを設定し、[次へ] をクリックします。
この例では、[ルーティングタイプ] パラメーターを [インテリジェントルーティング] に、[プロトコル] を [HTTP] に、[ポート] を [80] に設定します。他のパラメーターはデフォルト値を使用するか、必要に応じて値を変更できます。詳細については、「インテリジェントルーティングリスナーの追加と管理」をご参照ください。
説明HTTPS ポート 443 を使用してサービスを提供したい場合は、[プロトコル] パラメーターに HTTPS を、[ポート] に 443 を選択し、リスナーに証明書を関連付け、エンドポイントグループの [ポートマッピング] パラメーターでリスナーポート 443 とバックエンドサービスポート 80 のマッピングを設定します。これにより、ユーザーは HTTPS を介して HTTP ウェブサイトに安全にアクセスできます。

[エンドポイントグループの設定] ページで、エンドポイントのバックエンドサービスを設定し、[次へ] をクリックします。
このシナリオでは、[リージョン] を [ドイツ (フランクフルト)] に設定します。[バックエンドサービス] には、ECS01 と ECS02 を設定します。[ヘルスチェック] スイッチをオンにします。その後、[クロスボーダーデータ転送に関するコンプライアンスコミットメント] を読んで選択します。詳細については、「その他のエンドポイントグループパラメーターの設定」をご参照ください。デフォルト値を維持するか、必要に応じて変更できます。


[設定の確認] ステップで、GA の設定を確認し、[送信] をクリックします。
[インスタンス] ページで、作成した GA インスタンスを見つけ、[CNAME] 列で GA インスタンスに割り当てられた CNAME ドメイン名を取得します。
バックエンドサーバーで、GA がバックエンドサービスに接続するために使用する CIDR ブロックからのトラフィックを許可します。
このシナリオでは、GA はプライベートネットワークを介してバックエンドの ECS インスタンスに接続します。ECS セキュリティグループにルールを追加して、vSwitch の CIDR ブロックからのトラフィックを許可する必要があります。vSwitch の CIDR ブロックに少なくとも 8 つの利用可能なプライベート IP アドレスがあることを確認してください。
ステップ 2:Web Application Firewall の設定
[Web Application Firewall 3.0] コンソールで、[オンボーディング] ページに移動します。[CNAME レコード] タブをクリックし、[追加] をクリックします。
ステップ 3:CNAME 解決の設定
カスタムドメイン名を WAF の CNAME ドメイン名を指すように CNAME レコードを追加して、DNS レコードを更新します。
このシナリオでは、すでにバックエンドサーバーを指す A レコードがある場合、まずテスト用に中国 (香港) リージョンに対して WAF の CNAME ドメイン名を指す CNAME レコードを追加できます。テストが成功した後、他のリージョンに徐々に展開するか、WAF を指す CNAME レコードのみを保持することができます。
[パブリックゾーン] ページで、対象のカスタムドメイン名を見つけ、[アクション] 列の [設定] をクリックします。
説明Alibaba Cloud に登録されていないドメイン名の場合、DNS 設定を行う前に、まず Alibaba Cloud DNS コンソールにドメイン名を追加する必要があります。
DNS 設定ページで、[レコードの追加] をクリックし、CNAME レコードを設定して、[OK] をクリックします。
このシナリオでは、[レコードタイプ] を [CNAME] に、[ホスト名] を [www] に、[クエリソース] を中国 (香港) に、[レコード値] を WAF の CNAME アドレスに設定します。詳細については、「その他の DNS レコードパラメーターの設定」をご参照ください。デフォルト値を維持するか、必要に応じて変更できます。

ステップ 4:結果の検証
加速エリア (このシナリオでは中国 (香港)) のコンピューターでブラウザを開きます。以下のようにして、GA と WAF の組み合わせによる保護と高速化の効果をテストできます。
WAF 保護の検証
簡単な Web 攻撃をシミュレートして、WAF 保護が有効であることを確認します。
たとえば、ブラウザのアドレスバーに <保護されたドメイン名><span class="ph" data-tag="ph" id="fe8efd6abfz6y"><code class="code" code-type="xCode" data-spm-anchor-id="a2c4g.11186623.0.i54.60327209q28jCE" data-tag="code" id="da7f9ca0b8nu1">/alert(xss) のようなサンプル攻撃リクエストを入力することで、Web アプリケーション攻撃保護をテストできます。WAF はブロックページを返します。

[Web Application Firewall 3.0] の [セキュリティレポート] ページで、保護記録を表示できます。

GA ヘルスチェックの有効性の検証
ブラウザで、ウェブサイトのカスタムドメイン名を入力して、ドイツ (フランクフルト) リージョンにデプロイされたウェブサイトにアクセスします。
テストの結果、カスタムドメイン名を使用してドイツ (フランクフルト) リージョンのウェブサイトにアクセスできることがわかります。ブラウザを複数回リフレッシュすると、応答するサーバーが ECS01 と ECS02 の間で切り替わります。


障害をシミュレートする:ECS01 サーバーを停止します。
しばらくして、GA インスタンスの [エンドポイントグループ] タブで、[ヘルスチェックステータス] を確認します。

ブラウザを複数回リフレッシュしても、サービスには正常にアクセスできますが、応答するサーバーは ECS02 のみです。

GA アクセラレーションの検証
このトピックでは、中国 (香港) の検出ポイントを例として説明します。GA を設定する前と後で、ネットワークプローブツールを使用して Web サービスのドメイン名をテストします。応答時間を確認してデータ遅延を測定できます。
GA を設定する前のネットワーク遅延をテストします。
このステップを実行する前に、以下を確認してください:
WAF のサーバーアドレスが 2 つのバックエンドサーバーのパブリック IP アドレスに設定されていること。クライアントリクエストは WAF で処理された後、直接バックエンドサービスに転送されます。
バックエンドサーバーのセキュリティソフトウェアまたはアクセス制御ポリシーを設定して、WAF のオリジン復帰 IP アドレス範囲からのインバウンドトラフィックを許可する必要があります。

GA を設定した後のネットワーク遅延をテストします。
このステップを実行する前に、WAF のサーバーアドレスが GA の CNAME ドメイン名に設定されていることを確認してください。

検証の結果、GA を使用すると、中国 (香港) のクライアントがドイツ (フランクフルト) の Web サービスにアクセスする際の遅延が減少することがわかります。
GA と WAF の実際の保護および高速化のパフォーマンスは、特定のサービステストによって異なります。
関連ドキュメント
GA の費用には以下が含まれます:従量課金 GA インスタンスの課金、CU 料金、およびデータ転送料金。
クロスボーダーシナリオでは、デフォルトでプレミアム帯域幅クロスボーダーアクセラレーションが使用されます。より高いネットワーク品質が必要な場合は、専用回線クロスボーダーアクセラレーションを使用します。詳細については、「アクセラレーション設定の選択」をご参照ください。
WAF の詳細については、以下をご参照ください:


