[NET301] Improve performance and availability with AWS Global Accelerator(ネットワーキング)
投稿日: 2022/12/09

AWS Global Acceleratorの機能紹介とメリットに耳を傾けるセッションでした。

Agendaは以下の通りです。
- AWS Global Accelerator: Overview
- Simplifying multi-Region deployments
- Availability
- DDoS protections
- Customer case study: Okta
- Other new capabilities
- Deployment best practices

Global Acceleratorは、ニーズを解決するために以下の方法を使用しています。
- 予測可能なユーザーエクスペリエンス - >高性能高可用性のamazon global networkを提供
- Globalユーザーベースの地域ワークロードが提供可能か -> global static IPを使用したanycastサービスやALB、NLB、EC2、EIPなどの多様なエンドポイント
- 複数のリージョン展開が単純か - >最も近いリージョンにルーティング、DNSに依存しない高速フェイルオーバー
- edgeでのDDoS攻撃の軽減 - > AWS ShieldによるDDoSの軽減

Global Accelerator edge location は 48 か国 88 都市に 104 の POP が存在します。

米国の顧客がeu-west-1リージョンのエンドポイントに接続することを想定し、AWS Global AcceleratorとPulic Internetで接続する際の違いを示す指標です。

Global Accelerator の TCP termination 機能の説明です。
Global Accelerator は、エッジでの TCP termination 機能を使用して、エンドユーザーと最も近い AWS Edge ロケーション間の TCP 接続を確立することで、最初のセットアップ時間を短縮します。その後、Global Acceleratorは、EdgeロケーションとAWSリージョンのエンドポイント間の2番目のTCP接続を作成します。このプロセスにより、クライアントはGlobal Accelerator Edgeロケーションからより迅速な応答を取得し、Edgeロケーションからリージョンのエンドポイントへの接続がAWSグローバルネットワーク上で実行されるようにします。

Global Acceleratorがネットワークパフォーマンスを最大60%まで引き上げるという説明です。
- jumbo frameを使用してクライアントとアプリケーション間のデータ転送時間を短縮
- Large congestion windows – Public Internet経由よりも大量のデータ転送が可能
- Large receive side window and TCP buffers: より短い時間でより多くのデータを受信してバッファリングできる

Global Accelerator を使用する AWS サービスのリストは次のとおりです。
AWS Offerings
- ECR
- AWSマネジメントコンソール
- Cloudfront
- AWS Site-to-Site VPN
- S3
- Chime SDK
Other Amazon Product
- Amazon New World
- Amazon Alexa


エンドポイントの重みがどのように機能するかを説明します。
デフォルトは128で、特定のエンドポイントへのトラフィック転送を中断したい場合は、そのリソースの重みを0に変更するとトラフィックがブロックされます。


Traffic Dialを設定してエンドポイントグループに転送されるトラフィックの割合を制御する方法を説明しました。
特定のエンドポイントの値がゼロになると、そのエンドポイントグループに送信されるトラフィックはブロックされ、デフォルトではすべてのローカルエンドポイントグループに対して100%に設定されますが、パフォーマンステストまたはBlue / Green展開の実行時にトラフィック比率を調整するために使用されます。

DNSベースのフェイルオーバーは、TTLキャッシュの存在で、フェイルオーバーがGlobal Acceleratorに比べて遅いことを指標として確認できます。Global Acceleratorのフェイルオーバーは1秒以内と非常に高速です。


Global ISPは1週間平均190件以上のイベントが発生し、CSPより約8倍多く発生しています。


AWS Global Networkを使用するため、一般的なパブリックインターネットを使用するよりも経過するRouter Hopの数が少なく、お客様のアプリケーションまでの待ち時間を最小限に抑えます。

一般的なパブリックインターネットを通じるより、毎年500分以上の利用可能性を示しています(99.995%)。

Global AcceleratorはSPOFを防ぎ、高可用性と災害復旧のために設計されています。
Network Zone
- フォールトトレランスと隔離を提供するために、ネットワークゾーンを使用してIPアドレスを広報する。
- Acceleratorを作成すると、2つのglobal anycast static IPが割り当てられ、各IPアドレスはそれぞれ異なるNetwork Zoneに紐づけられます。
Cellular architecture, Shuffle Sharding
- Network Zoneは複数の顧客が共有して使用しますが、ある顧客の問題が他の顧客に与える影響を制限するために、各Network Zoneは4つのセルに分割され、Shuffle Shardingという追加の保護装置を使用します。


DDos Protection
Shield Advancedを使用して、Global Acceleratorで実行されているアプリケーションに対して強化されたレベルのDDoS保護を実現できます。
Shield Advancedを使用する利点
- DDoS関連使用量の増加に対するコスト保護
- AWS DDoS対応チーム24/7スタンバイ
- 洗練された保護
通常、Shield Standardはインフラストラクチャ(レイヤ3/4)のDDoS攻撃からGlobal Acceleratorを保護します。

Global AccelratorとAWS WAFを使用してレイヤ7層のDDoS防御を行うための構成図
AWS WAFについて
- OWASP10 Top 10、CVE、Botブロック
- IP reputation, limit access, rate limits 機能使用可能

New Reference Architecture
F5 BIGIPまたはNginx PlusソリューションをEC2にインストールしてEndpointとして使用する構成図

Global Acceleratorの新機能発表
- デュアルスタックアクセラレータを提供し、顧客リージョンのALBエンドポイントにIPv6トラフィックをルーティング可能
- IPv4トラフィックでIPv6ルーティング可能

- エンドポイントをすばやく作成/削除可能
- 以前は、エンドポイントの更新時にUpdateEndPointGroup APIを使用して完全なエンドポイントの完全なリストを提供する必要がありました。
- 以前よりも構成が簡単になり、API実行時間が50%短縮される効果がある

Global Acceleratorの主な考慮事項
- Connection Collisions
- TCP Keepalives
- Cross-zone load balancing on NLB Endpoints
- IP address space in your subnet
- Using your accelerator IP address


Conncection Collison シナリオ
競合理由:
- Global AcceleratorはALB、EC2インスタンスのIPアドレス保持
- クライアントは、2つの接続に異なる5-tuple(Source IP、Source Port、Destination IP、Destination Port、Protocol)を使用しますが、エンドポイントは両方の接続を使用します。

- シナリオ:keepaliveが有効になっていてもTCP接続がタイムアウトしました
- 理由:TCP termination機能がデフォルトで有効になっていて、エンドポイントがunhealthyとしてマークされていても、アイドルタイムアウトの340秒前にエンドポイントにトラフィックを転送し続けることができない場合、Global Acceleratorは接続を閉じます
- ベストプラクティス:アイドルタイムアウトが経過する前に少なくとも1バイトのデータを送信する必要があります

- NLBの場合、クロスゾーンロードバランシングとクライアントIP保存の両方が有効な場合、同じロードバランサの別のIPに接続するクライアントが同じ宛先にルーティングされる可能性があるため、クロスゾーンロードバランシングを無効にすることをお勧めします。
- Global Acceleratorはclient IP保存のためにENIを生成するため、Subnetに少なくとも1つのアイドルIPを確保しておくこと(ALB、EC2エンドポイントとして使用時)
- アクセラレータの両方のIPアドレスを使用する

結論:global acceleratorの基礎から詳細、特にトラブルシューティングのシナリオまで知り、global acceleratorの運用時に多くの役に立つと思い、有益なセッションでした。今後どのような新機能が出るか期待されるサービスです。