[アップデート] Amazon Route 53 ヘルスチェック用のIP範囲が、AWSマネージドプレフィックスリストに対応しました

2023.09.09

はじめに

Amazon Route 53ヘルスチェック用のIPアドレス範囲は、AWS Managed Prefix List(AWSマネージドプレフィックスリスト)でサポートされました。

マネージドプレフィックスリストとは、1つ以上のCIDRブロックのセットのことです。プレフィクスリストを使用すると、セキュリティグループやルートテーブルなどの設定と管理が容易になります。

マネージドプレフィックスリストには、以下の2つの種類があります。

  • カスタマーマネージドプレフィックスリスト
    • ユーザーが定義・管理するIPアドレス範囲のセットです。プレフィックスリストを他のAWSアカウントと共有も可能です。
  • AWSマネージドプレフィックスリスト
    • AWSサービスのIPアドレス範囲のセットです。ユーザー側で、AWSマネージドプレフィックスリストの作成、変更、共有、削除はできません。

今回のアップデートによって、Route 53ヘルスチェック対象のサーバーは、容易にRoute 53ヘルスチェック用のIPアドレスのみに制限できるようになりました。

従来方法で実現させるためには、下記ドキュメントに記載されたRoute 53ヘルスチェック用のIPアドレス範囲を1つ1つ対象サーバーのセキュリティグループに追加する必要があり、骨が折れる作業でした。

また、IPアドレス範囲も変わることがありますので、そのたびにユーザー側でメンテナンスも必要でした。

AWSマネージドプレフィックスリストを利用することで、IPアドレス範囲の変更された際、ユーザー側ではなくAWS側でメンテナンスしてくれるので、管理が楽になります。

試してみた

Route 53ヘルスチェック用のAWSマネージドプレフィックスリストには、以下の2つがありました。

  • com.amazonaws.ap-northeast-1.ipv6.route53-healthchecks
  • com.amazonaws.ap-northeast-1.route53-healthchecks

IPv6 用もあるようですね。

IPv4 用は、こちらです。com.amazonaws.ap-northeast-1.route53-healthchecks

今回は、NginxがインストールされたEC2インスタンスに対して、Route 53ヘルスチェックを行います。

そのため、EC2インスタンスのセキュリティグループのインバウンドルールに、com.amazonaws.ap-northeast-1.route53-healthchecksを許可します。

Route 53 ヘルスチェックを作成します。EC2インスタンスのパブリックIPが52.69.103.243ですので、そのIPアドレスを指定します。

数分後、ヘルスチェックが正常であることが確認できました。

ヘルスチェッカーのIPは、Route 53ヘルスチェック用のAWSマネージドプレフィックスリスト範囲内であることが分かります。

EC2インスタンス内のNginxのアクセスログも確認してみます。

下記がアクセスログですが、Route 53ヘルスチェックのIPアドレスは、AWSマネージドプレフィックスリストのIPアドレス範囲内であると確認できました。

54.244.52.205 - - [08/Sep/2023:20:53:50 +0000] "GET / HTTP/1.1" 200 615 "-" "Amazon-Route53-Health-Check-Service (ref 961a4dee-6d0d-4111-bd67-ca0c718d5adc; report http://amzn.to/1vsZADi)" "-"
54.241.32.109 - - [08/Sep/2023:20:53:51 +0000] "GET / HTTP/1.1" 200 615 "-" "Amazon-Route53-Health-Check-Service (ref 961a4dee-6d0d-4111-bd67-ca0c718d5adc; report http://amzn.to/1vsZADi)" "-"
54.245.168.45 - - [08/Sep/2023:20:53:51 +0000] "GET / HTTP/1.1" 200 615 "-" "Amazon-Route53-Health-Check-Service (ref 961a4dee-6d0d-4111-bd67-ca0c718d5adc; report http://amzn.to/1vsZADi)" "-"
54.183.255.141 - - [08/Sep/2023:20:53:52 +0000] "GET / HTTP/1.1" 200 615 "-" "Amazon-Route53-Health-Check-Service (ref 961a4dee-6d0d-4111-bd67-ca0c718d5adc; report http://amzn.to/1vsZADi)" "-"
54.251.31.141 - - [08/Sep/2023:20:53:53 +0000] "GET / HTTP/1.1" 200 615 "-" "Amazon-Route53-Health-Check-Service (ref 961a4dee-6d0d-4111-bd67-ca0c718d5adc; report http://amzn.to/1vsZADi)" "-"
54.255.254.237 - - [08/Sep/2023:20:53:53 +0000] "GET / HTTP/1.1" 200 615 "-" "Amazon-Route53-Health-Check-Service (ref 961a4dee-6d0d-4111-bd67-ca0c718d5adc; report http://amzn.to/1vsZADi)" "-"
54.252.254.205 - - [08/Sep/2023:20:53:54 +0000] "GET / HTTP/1.1" 200 615 "-" "Amazon-Route53-Health-Check-Service (ref 961a4dee-6d0d-4111-bd67-ca0c718d5adc; report http://amzn.to/1vsZADi)" "-"
107.23.255.13 - - [08/Sep/2023:20:53:57 +0000] "GET / HTTP/1.1" 200 615 "-" "Amazon-Route53-Health-Check-Service (ref 961a4dee-6d0d-4111-bd67-ca0c718d5adc; report http://amzn.to/1vsZADi)" "-"
54.243.31.237 - - [08/Sep/2023:20:53:58 +0000] "GET / HTTP/1.1" 200 615 "-" "Amazon-Route53-Health-Check-Service (ref 961a4dee-6d0d-4111-bd67-ca0c718d5adc; report http://amzn.to/1vsZADi)" "-"
15.177.62.223 - - [08/Sep/2023:20:53:58 +0000] "GET / HTTP/1.1" 200 615 "-" "Amazon-Route53-Health-Check-Service (ref 961a4dee-6d0d-4111-bd67-ca0c718d5adc; report http://amzn.to/1vsZADi)" "-"

もちろん、私のPCからのアクセスは、EC2インスタンスのセキュリティグループのインバウンドルールで許可していないのでアクセスできません。

AWSマネージドプレフィックスリストの重み

AWSマネージドプレフィックスリストでは、重みを考慮する必要があります。

Route 53ヘルスチェック用のAWSマネージドプレフィックスリストは、両者とも重みが25あります。

  • com.amazonaws.region.ipv6.route53-healthchecks
  • com.amazonaws.region.route53-healthchecks

つまり、Route 53ヘルスチェック用のAWSマネージドプレフィックスリストをセキュリティグループで利用すると、利用可能なルール数のうち25個を消費されます。

利用可能なルール数は、デフォルトでは、セキュリティグループは60個で、ルートテーブルは50個ですので、利用する際は注意しましょう。

最後に

今回のアップデートでは、Route 53ヘルスチェック用のAWSマネージドプレフィックスリストがサポートされました。

ユーザーは Route 53ヘルスチェック用のIPアドレス範囲を手動で許可したり、IPアドレス範囲の変更時、ユーザー側で変更する必要がなくなり管理が楽になります。

現在、EC2インスタンスなどのサーバーのセキュリティグループに対して、Route 53ヘルスチェックのIPアドレス範囲を手動で追加されている場合、AWSマネージドプレフィックスリストのご検討をされるとよいと思います。

参考