本記事について
この記事では3回目のANS-C01を受けるにあたって勉強した内容を整理するための記事です。
詳しくはこちらをご覧ください。
今回はCloud FrontやGlobal Acceleratorをはじめとしたエッジロケーションに展開されるサービスについての記事となります。
エッジロケーションとは
CDN(コンテンツデリバリネットワーク)によって低レイテンシな通信を実現させるためのサービス
- リージョンデータセンターよりも地理的に近い場所で情報をキャッシュできる。
- エッジロケーションを中継することで、リージョンデータセンターとの通信をユーザーと直接行うのではなく、AWSの専用線を使用した通信を行うことが出来る。
- リージョンデータセンター側のリソースの不可を軽減できる。(スパイクなアクセスにも対応可)
といった利点があります。
基本的に、各リージョンデータセンターにオリジンとなるサービスがあり、そこに向けて通信を連携させる目的のサービスとなります。
エッジロケーションで利用できるサービスは以下です。
- Cloud Front
- Global Accelerator
- WAF
- AWS shield
- Lambda@Edge
今回は特に特徴的なCloud Front, Global Acceleratorについて記載します。
また、エッジロケーションに似たようなサービスとしてoutpostsがあります。(ANS-C01試験にも出てくる。)
これは一定の条件を満たした任意のオンプレデータセンターにAWS管理の資源を置いてしまう、いわばリージョンやVPCを拡張するサービス(≒エッジロケーション)です。outpostsに置いたサーバーの管理もAWS側が行ってくれます。
これを使用するためにはオンプレとAWS間をDirect Connectで接続する必要があります。
Cloud Front
エッジロケーションにサービスをデプロイして使用します。
各リージョンのリソースをオリジンに指定し、ユーザーに一番近いエッジロケーションからオリジンへの通信をオフロードします。
主な特徴
- 対応プロトコルはHTTP/Sのみ(レイヤー7)
- 対応ポートは80/443
- webコンテンツのキャッシュが出来る
- AWSサービス以外のサービスをオリジンに指定可
- Cloud Front にもドメイン登録可。ただし、登録時はバージニア北部リージョンで証明書の登録を行うこと。
Global Accelerator
同じくエッジロケーションにサービスをデプロイして使用します。
パフォーマンスに基づいて最適なエンドポイントにユーザートラフィックをルーティングすることが可能。
Route53のレイテンシールーティングをグローバルサービスとしてやってくれるイメージ
主な特徴
- 対応プロトコルはTCP/UDP(レイヤー4)
- 対応ポートの制限なし(1~65535)
- コンテンツのキャッシュ能力はない
- 基本的に以下AWSサービスへのルーティングしかできない
- Network Load Balancer
- Application Load Balancer
- EC2 インスタンス
- Elastic IP アドレス
- AWS Global Accelerator として静的はIPアドレスを2つもつ。
まとめ
CloudFrontとGlobal Acceleratorの違いはELBにおけるALBとNLBの違いと似ていると感じた。(名前は全然違うけども)
ANS-C01の試験ではグローバルな通信(複数リージョン間でリソースをハンドリングするような通信)を行う場合はどのような構成の時、低レイテンシーな通信ができるか、みたいな設問があったが、基本的にGlobal Acceleratorを使用した構成が正解のような気がしている。