技術系TIPS
PR

【AWS】EC2インスタンスタイプごとの最大のENIやIPアドレスの数

saratogax
記事内に商品プロモーションを含む場合があります

EKS(Kubernetes)を触っていると、EC2 で立てているノードの IP アドレス管理も気になってきます。

1 つのノードで、どのくらいの pod を動かすのか、主に CPU やメモリなどのリソース中心で考えてしまいますが、割り振れる IP アドレスの数も重要ですよね。

ということで、EC2 のインスタンスタイプごとに、以下の情報を調べてみました。

・最大の ENI の数
・1 つの ENI ごとの IP アドレスの数

ENI(ネットワークインタフェース)

ENI の情報は awc cli を使えばすぐにわかります。

You can use the describe-instance-types AWS CLI command to display information about an instance type, such as its supported network interfaces and IP addresses per interface. The following example displays this information for all C5 instances.

To retrieve network interface information using the AWS CLI

例えば、r5 系のインスタンスの場合は以下の通り。

$ aws ec2 describe-instance-types --filters "Name=instance-type,Values=r5.*" --query "InstanceTypes[].{Type: InstanceType, MaxENI: NetworkInfo.MaximumNetworkInterfaces, IPv4addr: NetworkInfo.Ipv4AddressesPerInterface}" --output table

結果は以下の通り。
(2024 年 5 月 31 日現在)

---------------------------------------
|        DescribeInstanceTypes        |
+----------+----------+---------------+
| IPv4addr | MaxENI   |     Type      |
+----------+----------+---------------+
|  50      |  15      |  r5.24xlarge  |
|  10      |  3       |  r5.large     |
|  30      |  8       |  r5.4xlarge   |
|  50      |  15      |  r5.metal     |
|  50      |  15      |  r5.16xlarge  |
|  30      |  8       |  r5.8xlarge   |
|  15      |  4       |  r5.xlarge    |
|  15      |  4       |  r5.2xlarge   |
|  30      |  8       |  r5.12xlarge  |
+----------+----------+---------------+

r5.xlarge の場合は、ENI が最大で 4 つ、ENI が追加されるごとに 15 個の IP アドレスが追加される計算になります。

やはり t3 系の小さなインスタンスタイプだと少ないですね。

$ aws ec2 describe-instance-types --filters "Name=instance-type,Values=t3.*" --query "InstanceTypes[].{Type: InstanceType, MaxENI: NetworkInfo.MaximumNetworkInterfaces, IPv4addr: NetworkInfo.Ipv4AddressesPerInterface}" --output table
--------------------------------------
|        DescribeInstanceTypes       |
+----------+----------+--------------+
| IPv4addr | MaxENI   |    Type      |
+----------+----------+--------------+
|  15      |  4       |  t3.2xlarge  |
|  15      |  4       |  t3.xlarge   |
|  12      |  3       |  t3.large    |
|  6       |  3       |  t3.medium   |
|  2       |  2       |  t3.nano     |
|  2       |  2       |  t3.micro    |
|  4       |  3       |  t3.small    |
+----------+----------+--------------+

ノードのIPアドレス設定

EKS のノードの場合、起動時に割り振られる IP アドレスの数は、aws-node の以下の環境変数によって状態が異なります。

WARM_ENI_TARGET
WARM_IP_TARGET
MINIMUM_IP_TARGET

なお、WARM_IP_TARGET が設定されている場合は、WARM_ENI_TARGET の設定が無効になるので WARM_IP_TARGET の扱いには注意が必要です。

このあたりの説明は以下の記事に詳しく書かれています。

なるべく IP アドレスを節約したい場合は、WARM_IP_TARGET を設定するといいですね。

ABOUT ME
saratoga
saratoga
フリーランスエンジニア
仕事にも趣味にも IT を駆使するフリーランスエンジニア。技術的な TIPS や日々の生活の中で深堀りしてみたくなったことを備忘録として残していきます。
記事URLをコピーしました