0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【AWS】ALB・NLB・CloudFront・Global Acceleratorを2つの軸で仕分けてみた

0
Posted at

はじめに

ALB・NLB・CloudFront・Global Accelerator は、次の2つの質問で4マスに仕分けられます。

  • 通信の中身(URLパスやHTTPヘッダー)まで読むか
  • 世界の入口(エッジ)に立つか、リージョンの中に立つか

対象読者: AWS SAA の勉強中で、この4つの比較表を見ても覚えられない人

SAA の問題を解いていて、この4つの区別が毎回あやふやになりました。比較表は何度も読んだのに覚えられない。振り返ると、比べる軸を持たないまま表を眺めていたのが原因でした。

参考文献

2つの軸

軸1: 中身を読むか(L7 か L4 か)

L7 のサービスは、URL パスや HTTP ヘッダーまで読んでから動きます。L4 のサービスは IP アドレスやポート番号といったトランスポート層までの情報で動き、URL パスや HTTP ヘッダーは読みません。層そのものの話は以前の記事で書いたので、ここでは割愛します。

軸2: どこに立つか(エッジかリージョンの中か)

エッジロケーションは、リージョンの外にある世界中の拠点です。エッジに立つサービスは、ユーザーの近くで通信を受けます。リージョンの中に立つサービスは、サーバーの手前で通信を配ります。エッジロケーションについても以前まとめました。

4マスに並べる

aws-4services-2axes.png

中身を読む(L7) 中身を読まない(L4)
エッジ CloudFront: コンテンツをキャッシュして近くで返す Global Accelerator: 固定IPで受けて、AWS のグローバルネットワークでリージョンまで運ぶ
リージョンの中 ALB: パスやホスト名でサーバーへ振り分ける NLB: 中身を見ずに高速に振り分ける。UDP も通せて、AZ ごとに静的IPを持てる

横に見ると、できることの違いがそのまま軸1から出てきます。ALB がパスで振り分けられ、CloudFront が URL ごとにキャッシュできるのは、中身を読むからです。NLB と Global Accelerator がゲームや VoIP のような HTTP 以外の通信を通せるのは、中身を読まないからです。

縦に見ると、4つは重ねて使うものだと分かります。通常の Standard accelerator が選ぶのは「どのリージョンのどの入口(エンドポイント)に届けるか」までです。リージョンの中で多数のサーバーへ配るのは ALB や NLB の仕事なので、後ろに置くのが基本の形です。

問題文のキーワード早見表

問題文にこう書かれていたら 答え
パス・ホスト名・HTTP ヘッダーで振り分け、Lambda をターゲットにする ALB
リージョン内で AZ ごとの静的IP(Elastic IP)が要る、TCP/UDP を超低レイテンシで負荷分散 NLB
キャッシュ、静的コンテンツ、動画配信 CloudFront
世界共通の固定IP、複数リージョン、HTTP 以外の通信(TCP/UDP)をエッジから高速化、DNS に頼らないリージョン切り替え Global Accelerator
AWS WAF を付けたい ALB か CloudFront(どちらも L7)

UDP は NLB と Global Accelerator のどちらも扱えます。UDP という言葉だけで決めず、「リージョンの中か、世界の入口か」で選びます。

紛らわしいのは固定IP

いちばん引っかかりやすいのは「固定IP」です。NLB にも Global Accelerator にも固定IPがあるので、問題文に「固定IP」とだけ書かれていると迷います。

ここで軸2が効きます。NLB の静的IPは、リージョンの中に AZ ごとに1つずつ持つものです。Global Accelerator の固定IP(IPv4 なら2つ)は、世界中のエッジが同じIPで受けます。問題文に「世界中のユーザー」や「複数リージョン」が出てきたら Global Accelerator を選びます。

おわりに

比較表を丸暗記するより、問題文を読んだらまず「中身を読む必要があるか」「世界の入口か」の2つを確かめるほうが、選択肢を早く絞れると思います。次は GWLB や Route 53 も同じ軸で置けるかを試してみます。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?