LoginSignup
35
23

More than 5 years have passed since last update.

【初心者】AWS Global Accelerator を使ってみる

Posted at

目的

  • ALBにFQDNではなく、固定のIPアドレスでアクセスしたいという要件あり。Global Acceleratorでできるのではないかと思い検証することにした。

Global Acceleratorとは(自分の理解)

  • Global Acceleratorを使うと、クライアント(PCやスマホ)と、サーバ(ELB配下のWEBとか)の通信時に、AWSが用意するネットワークを通る区間が長くなるため、通常のインターネット経由よりも速くなる。
  • 固定のIPが払い出されるので、それをALBと紐づけることで、結果的にALBに固定IPでアクセスできるようになる。

やったこと

  • ALB + EC2(nginx) の作成
  • Global Accelerator と ALBの紐づけ(=ALBへの固定IPでのアクセス)
  • 通常のインターネット経由とGlobal Accelerator経由の速度の比較
  • ALBのアクセスログの確認

構成図

kousei.png

手順

  • ALB + EC2(nginx) を作成 (ohioリージョン)。
  • ACMで証明書を2個作成し、2つの証明書をそれぞれALBに適用。1個のALBに2個の証明書を付与する手順は以下サイトを参照。(ALBで複数のSSL/TLS証明書を設定できるSNIに対応しました
    • mksamba-web.aaa.com ⇒ インターネット経由で直接アクセスする用
    • mksamba-web-ga.aaa.com ⇒ Global Accelerator 経由でアクセスする用
  • Global Accelerator を申し込む。Global Acceleratorはohioリージョンにはなく、oregonリージョンになる。申し込むと固定IPが2個払い出され、それをohioリージョンに作成したALBとひもづける。この設定により、この2個のIPのどちらかをたたくとALBにGlobal Accelerator経由の経路でアクセス可能になる。
  • Route53 で以下のレコード登録を行う。これにより、https://mksaba-web.aaa.com では通常のインターネット経由で、https://mksaba-web-ga.aaa.com ではGlobal Accelerator 経由で同じALBにアクセス可能になる。
    • mksamba-web.aaa.com A "ALIAS ALB"
    • mksamba-web-ga.aaa.com A "GlobalAcceleratorのIP2個"

アクセス速度の比較

筆者のPC(東京都内)からインターネット経由とGlobal Accelerator経由でALBにアクセス(ping)して、速度の差異を確認した。(FQDN、IPアドレス等は架空のものに修正)

  • インターネット経由の場合:
C:\Users\mksamba>ping mksamba-web.aaa.com

mksamba-web.aaa.com [3.20.238.1]に ping を送信しています 32 バイトのデータ:
3.20.238.1 からの応答: バイト数 =32 時間 =250ms TTL=230
3.20.238.1 からの応答: バイト数 =32 時間 =180ms TTL=230
3.20.238.1 からの応答: バイト数 =32 時間 =265ms TTL=230
3.20.238.1 からの応答: バイト数 =32 時間 =207ms TTL=230

3.20.238.1 の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 180ms、最大 = 265ms、平均 = 225ms
  • Global Accelerator 経由の場合:
C:\Users\mksamba>ping mksamba-web-ga.aaa.com

mksamba-web-ga.aaa.com [13.245.141.1]に ping を送信しています 32 バイトのデータ:
13.245.141.1 からの応答: バイト数 =32 時間 =22ms TTL=115
13.245.141.1 からの応答: バイト数 =32 時間 =22ms TTL=115
13.245.141.1 からの応答: バイト数 =32 時間 =26ms TTL=115
13.245.141.1からの応答: バイト数 =32 時間 =24ms TTL=115

13.245.141.1 の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 22ms、最大 = 26ms、平均 = 23ms

Global Acceleratorを使用した場合の詳細の経路は不明だが、AWSの高速なネットワークを通る区間が長いと想定されるため、今回の比較ではかなり高速になっている。

ALBのアクセスログの確認

インターネット経由とGlobal Accelerator経由でhttpsアクセスした際のALBのアクセスログを確認する。(FQDN、IPアドレス等は架空のものに修正)

  • インターネット経由のアクセス
h2 2019-04-08T15:01:32.267255Z app/mksamba-alb/9a10856600279c13 100.100.100.1:58554 10.0.0.14:80 0.001 0.000 0.000 304 304 1426 102 "GET https://mksamba-web.aaa.com:443/ HTTP/2.0"

インターネット経由のアクセスの場合は、アクセス元のSRCIP(ここでは100.100.100/1)がログに記録される。

  • Global Accelerator経由のアクセス
h2 2019-04-08T15:01:41.921439Z app/mksamba-alb/9a10856600279c13 13.245.98.3:39591 10.0.0.14:80 0.001 0.001 0.000 304 304 1429 102 "GET https://mksamba-web-ga.aaa.kddi.com:443/ HTTP/2.0"

Global Accelerator経由のアクセスの場合は、Global Accelerator用にAWSが持っていると思われるアドレス(ここでは13.248.98.3)がログに保存される。アクセス元のSRCIPはALB側では分からない。

まとめ

  • Global Acceleratorを使えば、クライアント側からFQDNではなく、IP指定でALBにアクセスすることは可能。
  • ただし、Global Accelerator経由でアクセスされた場合、ALB側で実際のアクセス元のIPが分からない。そのためIPアドレスレンジでのアクセス制限をかけることができない。(2019/4時点での仕様)

参考にした記事

Application Load Balancer のアクセスログ
Global Acceleratorを使ってALBを固定IP化する #reinvent

35
23
2

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
35
23