2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ALB の配置・IP 消費・ログ出力経路を理解する。

2
Last updated at Posted at 2024-01-21

私が所属する組織で、オンプレミス経験のあるインフラ担当者に向けて実施した AWS Application Load Balancer(ALB)の配置と挙動の説明を共有します。

本記事は、初学者向けの理解補助を目的としており、厳密な正確性よりも、オンプレミスの構成に置き換えたときにイメージしやすい説明を優先します。

わかること

この記事では、次の点を理解できます。

  • ALB の論理的な配置場所
  • ALB の ENI とサブネットの関係
  • ALB の IP アドレス消費
  • ALB のアクセスログの送信経路

構成図

以下は ALB の配置関係を簡略化した構成図です。実際の内部実装ではなく、理解を優先した論理イメージです。

image.png

ALB の論理的な配置場所

ALB の論理的な配置場所は、VPC です。サブネットではありません。

厳密に言うと、ALB の実体は、各アカウントの VPC 内ではなく、AWS が管理する基盤上で動作しています。一方で、利用者視点では、VPC 内に存在するコンポーネントとして扱うと理解しやすくなります。

ALB の ENI とサブネットの関係

ALB を作成すると、関連付けた各サブネットに ENI (Elastic Network Interface) が作成されます。ENI は、ALB が各サブネットで通信を行うために作成するネットワークインターフェースです。

作成される ENI の数は、トラフィック量に応じて自動で増減 (スケール) します。スケールの際、ENI は、各サブネットの IP アドレスを消費・解放します。その為、各サブネットの空き IP が不足していると、ALB がスケールできなくなることがあります。

AWS では、少なくとも 8 個程度の IP アドレスを各サブネットで ENI 用に確保することを推奨しています。

尚、ALB のスケール条件は、純粋なトラフィック量だけで決まるわけではなく、内部的な複数の要因によって判断されます。

ALB のアクセスログの送信経路

ALB のアクセスログは、VPC 内のネットワーク経路を通って S3 に送信されるわけではありません。

実際の送信元は、AWS が管理する基盤上にあるログ配信サービスです。アクセスログは、このサービスから各アカウントの S3 バケットへ直接配信されます。

その為、ログ出力を有効にするには、S3 バケット側で配信元であるログ配信サービスによる書き込みを許可する設定が必要になります。

情報:
以前は、S3 バケットポリシーにログ配信サービスの AWS アカウント ID を指定する必要がありましたが、現在はサービス主体を許可する方式に変更されています。

まとめ

  • 論理的な配置場所は VPC であり、サブネットではありません。
  • 各サブネットに通信のための ENI が作成され、負荷に応じて増減します。
  • アクセスログは VPC 内から送信されるのではなく、AWS 側の配信サービスから S3 に出力されます。

これらを押さえておくと、ALB の構成と挙動の全体像を正しく理解できます。

2
2
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
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?