Skip to content

Instantly share code, notes, and snippets.

@mvisonneau
Last active December 19, 2022 10:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mvisonneau/5522653b8ed7e60e3564d2fbc6d7912c to your computer and use it in GitHub Desktop.
Save mvisonneau/5522653b8ed7e60e3564d2fbc6d7912c to your computer and use it in GitHub Desktop.
dynamically regenerate eni-max-pods.txt
export AWS_DEFAULT_REGION=eu-west-1
aws ec2 describe-instance-types \
| jq -r --arg FIRST_INTERFACE_INDEX 1 \
'.InstanceTypes[] |
"\(.InstanceType) \(((.NetworkInfo.MaximumNetworkInterfaces-($FIRST_INTERFACE_INDEX|tonumber))*.NetworkInfo.Ipv4AddressesPerInterface)-1)"' \
| sort
# You can also use this uglier one to cap to a certain amount (eg: 110)
# We also remove 2 IPs which are used for cilium router & health
aws ec2 describe-instance-types \
| jq -r \
--arg FIRST_INTERFACE_INDEX 0 \
--arg HOST_NETWORK_PODS_PER_HOST 2 \
'.InstanceTypes[] |
"\(.InstanceType) \(if ((.NetworkInfo.MaximumNetworkInterfaces-($FIRST_INTERFACE_INDEX|tonumber))*(.NetworkInfo.Ipv4AddressesPerInterface-1))+($HOST_NETWORK_PODS_PER_HOST|tonumber) < 110 then ((.NetworkInfo.MaximumNetworkInterfaces-($FIRST_INTERFACE_INDEX|tonumber))*(.NetworkInfo.Ipv4AddressesPerInterface-1))+($HOST_NETWORK_PODS_PER_HOST|tonumber)-2 else 110 end)"' \
| sort
# Variant with support for prefix delegation & customizable maximum pods per instance value
aws ec2 describe-instance-types \
| jq -r \
--arg FIRST_INTERFACE_INDEX 1 \
--arg HOST_NETWORK_PODS_PER_HOST 2 \
--arg PREFIX_DELEGATION 16 \
--arg MAX_PODS_PER_INSTANCE 128 \
'.InstanceTypes[] |
"\(.InstanceType) \(if ((.NetworkInfo.MaximumNetworkInterfaces-($FIRST_INTERFACE_INDEX|tonumber))*(.NetworkInfo.Ipv4AddressesPerInterface-1)*($PREFIX_DELEGATION|tonumber))+($HOST_NETWORK_PODS_PER_HOST|tonumber) < ($MAX_PODS_PER_INSTANCE|tonumber) then ((.NetworkInfo.MaximumNetworkInterfaces-($FIRST_INTERFACE_INDEX|tonumber))*(.NetworkInfo.Ipv4AddressesPerInterface-1)*($PREFIX_DELEGATION|tonumber))+($HOST_NETWORK_PODS_PER_HOST|tonumber)-2 else $MAX_PODS_PER_INSTANCE end)"' \
| sort
a1.2xlarge 56
a1.4xlarge 110
a1.large 27
a1.medium 6
a1.metal 110
a1.xlarge 56
c1.medium 10
c1.xlarge 56
c3.2xlarge 56
c3.4xlarge 110
c3.8xlarge 110
c3.large 27
c3.xlarge 56
c4.2xlarge 56
c4.4xlarge 110
c4.8xlarge 110
c4.large 27
c4.xlarge 56
c5.12xlarge 110
c5.18xlarge 110
c5.24xlarge 110
c5.2xlarge 56
c5.4xlarge 110
c5.9xlarge 110
c5.large 27
c5.metal 110
c5.xlarge 56
c5a.12xlarge 110
c5a.16xlarge 110
c5a.24xlarge 110
c5a.2xlarge 56
c5a.4xlarge 110
c5a.8xlarge 110
c5a.large 27
c5a.xlarge 56
c5ad.12xlarge 110
c5ad.16xlarge 110
c5ad.24xlarge 110
c5ad.2xlarge 56
c5ad.4xlarge 110
c5ad.8xlarge 110
c5ad.large 27
c5ad.xlarge 56
c5d.12xlarge 110
c5d.18xlarge 110
c5d.24xlarge 110
c5d.2xlarge 56
c5d.4xlarge 110
c5d.9xlarge 110
c5d.large 27
c5d.metal 110
c5d.xlarge 56
c5n.18xlarge 110
c5n.2xlarge 56
c5n.4xlarge 110
c5n.9xlarge 110
c5n.large 27
c5n.metal 110
c5n.xlarge 56
c6a.12xlarge 110
c6a.16xlarge 110
c6a.24xlarge 110
c6a.2xlarge 56
c6a.32xlarge 110
c6a.48xlarge 110
c6a.4xlarge 110
c6a.8xlarge 110
c6a.large 27
c6a.metal 110
c6a.xlarge 56
c6g.12xlarge 110
c6g.16xlarge 110
c6g.2xlarge 56
c6g.4xlarge 110
c6g.8xlarge 110
c6g.large 27
c6g.medium 6
c6g.metal 110
c6g.xlarge 56
c6gd.12xlarge 110
c6gd.16xlarge 110
c6gd.2xlarge 56
c6gd.4xlarge 110
c6gd.8xlarge 110
c6gd.large 27
c6gd.medium 6
c6gd.metal 110
c6gd.xlarge 56
c6gn.12xlarge 110
c6gn.16xlarge 110
c6gn.2xlarge 56
c6gn.4xlarge 110
c6gn.8xlarge 110
c6gn.large 27
c6gn.medium 6
c6gn.xlarge 56
c6i.12xlarge 110
c6i.16xlarge 110
c6i.24xlarge 110
c6i.2xlarge 56
c6i.32xlarge 110
c6i.4xlarge 110
c6i.8xlarge 110
c6i.large 27
c6i.metal 110
c6i.xlarge 56
c6id.12xlarge 110
c6id.16xlarge 110
c6id.24xlarge 110
c6id.2xlarge 56
c6id.32xlarge 110
c6id.4xlarge 110
c6id.8xlarge 110
c6id.large 27
c6id.metal 110
c6id.xlarge 56
c7g.12xlarge 110
c7g.16xlarge 110
c7g.2xlarge 56
c7g.4xlarge 110
c7g.8xlarge 110
c7g.large 27
c7g.medium 6
c7g.xlarge 56
cc2.8xlarge 110
d2.2xlarge 56
d2.4xlarge 110
d2.8xlarge 110
d2.xlarge 56
d3.2xlarge 16
d3.4xlarge 36
d3.8xlarge 57
d3.xlarge 8
d3en.12xlarge 87
d3en.2xlarge 16
d3en.4xlarge 36
d3en.6xlarge 56
d3en.8xlarge 76
d3en.xlarge 8
dl1.24xlarge 110
f1.16xlarge 110
f1.2xlarge 56
f1.4xlarge 110
g2.2xlarge 56
g2.8xlarge 110
g3.16xlarge 110
g3.4xlarge 110
g3.8xlarge 110
g3s.xlarge 56
g4ad.16xlarge 110
g4ad.2xlarge 6
g4ad.4xlarge 27
g4ad.8xlarge 56
g4ad.xlarge 6
g4dn.12xlarge 110
g4dn.16xlarge 56
g4dn.2xlarge 27
g4dn.4xlarge 27
g4dn.8xlarge 56
g4dn.metal 110
g4dn.xlarge 27
g5.12xlarge 110
g5.16xlarge 110
g5.24xlarge 110
g5.2xlarge 56
g5.48xlarge 110
g5.4xlarge 110
g5.8xlarge 110
g5.xlarge 56
g5g.16xlarge 110
g5g.2xlarge 56
g5g.4xlarge 110
g5g.8xlarge 110
g5g.metal 110
g5g.xlarge 56
h1.16xlarge 110
h1.2xlarge 56
h1.4xlarge 110
h1.8xlarge 110
i2.2xlarge 56
i2.4xlarge 110
i2.8xlarge 110
i2.xlarge 56
i3.16xlarge 110
i3.2xlarge 56
i3.4xlarge 110
i3.8xlarge 110
i3.large 27
i3.metal 110
i3.xlarge 56
i3en.12xlarge 110
i3en.24xlarge 110
i3en.2xlarge 56
i3en.3xlarge 56
i3en.6xlarge 110
i3en.large 27
i3en.metal 110
i3en.xlarge 56
i4i.16xlarge 110
i4i.2xlarge 56
i4i.32xlarge 110
i4i.4xlarge 110
i4i.8xlarge 110
i4i.large 27
i4i.metal 110
i4i.xlarge 56
im4gn.16xlarge 110
im4gn.2xlarge 56
im4gn.4xlarge 110
im4gn.8xlarge 110
im4gn.large 27
im4gn.xlarge 56
inf1.24xlarge 110
inf1.2xlarge 36
inf1.6xlarge 110
inf1.xlarge 36
is4gen.2xlarge 56
is4gen.4xlarge 110
is4gen.8xlarge 110
is4gen.large 27
is4gen.medium 6
is4gen.xlarge 56
m1.large 27
m1.medium 10
m1.small 6
m1.xlarge 56
m2.2xlarge 110
m2.4xlarge 110
m2.xlarge 56
m3.2xlarge 110
m3.large 27
m3.medium 10
m3.xlarge 56
m4.10xlarge 110
m4.16xlarge 110
m4.2xlarge 56
m4.4xlarge 110
m4.large 18
m4.xlarge 56
m5.12xlarge 110
m5.16xlarge 110
m5.24xlarge 110
m5.2xlarge 56
m5.4xlarge 110
m5.8xlarge 110
m5.large 27
m5.metal 110
m5.xlarge 56
m5a.12xlarge 110
m5a.16xlarge 110
m5a.24xlarge 110
m5a.2xlarge 56
m5a.4xlarge 110
m5a.8xlarge 110
m5a.large 27
m5a.xlarge 56
m5ad.12xlarge 110
m5ad.16xlarge 110
m5ad.24xlarge 110
m5ad.2xlarge 56
m5ad.4xlarge 110
m5ad.8xlarge 110
m5ad.large 27
m5ad.xlarge 56
m5d.12xlarge 110
m5d.16xlarge 110
m5d.24xlarge 110
m5d.2xlarge 56
m5d.4xlarge 110
m5d.8xlarge 110
m5d.large 27
m5d.metal 110
m5d.xlarge 56
m5dn.12xlarge 110
m5dn.16xlarge 110
m5dn.24xlarge 110
m5dn.2xlarge 56
m5dn.4xlarge 110
m5dn.8xlarge 110
m5dn.large 27
m5dn.metal 110
m5dn.xlarge 56
m5n.12xlarge 110
m5n.16xlarge 110
m5n.24xlarge 110
m5n.2xlarge 56
m5n.4xlarge 110
m5n.8xlarge 110
m5n.large 27
m5n.metal 110
m5n.xlarge 56
m5zn.12xlarge 110
m5zn.2xlarge 56
m5zn.3xlarge 110
m5zn.6xlarge 110
m5zn.large 27
m5zn.metal 110
m5zn.xlarge 56
m6a.12xlarge 110
m6a.16xlarge 110
m6a.24xlarge 110
m6a.2xlarge 56
m6a.32xlarge 110
m6a.48xlarge 110
m6a.4xlarge 110
m6a.8xlarge 110
m6a.large 27
m6a.metal 110
m6a.xlarge 56
m6g.12xlarge 110
m6g.16xlarge 110
m6g.2xlarge 56
m6g.4xlarge 110
m6g.8xlarge 110
m6g.large 27
m6g.medium 6
m6g.metal 110
m6g.xlarge 56
m6gd.12xlarge 110
m6gd.16xlarge 110
m6gd.2xlarge 56
m6gd.4xlarge 110
m6gd.8xlarge 110
m6gd.large 27
m6gd.medium 6
m6gd.metal 110
m6gd.xlarge 56
m6i.12xlarge 110
m6i.16xlarge 110
m6i.24xlarge 110
m6i.2xlarge 56
m6i.32xlarge 110
m6i.4xlarge 110
m6i.8xlarge 110
m6i.large 27
m6i.metal 110
m6i.xlarge 56
m6id.12xlarge 110
m6id.16xlarge 110
m6id.24xlarge 110
m6id.2xlarge 56
m6id.32xlarge 110
m6id.4xlarge 110
m6id.8xlarge 110
m6id.large 27
m6id.metal 110
m6id.xlarge 56
mac1.metal 110
p2.16xlarge 110
p2.8xlarge 110
p2.xlarge 56
p3.16xlarge 110
p3.2xlarge 56
p3.8xlarge 110
p3dn.24xlarge 110
p4d.24xlarge 110
r3.2xlarge 56
r3.4xlarge 110
r3.8xlarge 110
r3.large 27
r3.xlarge 56
r4.16xlarge 110
r4.2xlarge 56
r4.4xlarge 110
r4.8xlarge 110
r4.large 27
r4.xlarge 56
r5.12xlarge 110
r5.16xlarge 110
r5.24xlarge 110
r5.2xlarge 56
r5.4xlarge 110
r5.8xlarge 110
r5.large 27
r5.metal 110
r5.xlarge 56
r5a.12xlarge 110
r5a.16xlarge 110
r5a.24xlarge 110
r5a.2xlarge 56
r5a.4xlarge 110
r5a.8xlarge 110
r5a.large 27
r5a.xlarge 56
r5ad.12xlarge 110
r5ad.16xlarge 110
r5ad.24xlarge 110
r5ad.2xlarge 56
r5ad.4xlarge 110
r5ad.8xlarge 110
r5ad.large 27
r5ad.xlarge 56
r5b.12xlarge 110
r5b.16xlarge 110
r5b.24xlarge 110
r5b.2xlarge 56
r5b.4xlarge 110
r5b.8xlarge 110
r5b.large 27
r5b.metal 110
r5b.xlarge 56
r5d.12xlarge 110
r5d.16xlarge 110
r5d.24xlarge 110
r5d.2xlarge 56
r5d.4xlarge 110
r5d.8xlarge 110
r5d.large 27
r5d.metal 110
r5d.xlarge 56
r5dn.12xlarge 110
r5dn.16xlarge 110
r5dn.24xlarge 110
r5dn.2xlarge 56
r5dn.4xlarge 110
r5dn.8xlarge 110
r5dn.large 27
r5dn.metal 110
r5dn.xlarge 56
r5n.12xlarge 110
r5n.16xlarge 110
r5n.24xlarge 110
r5n.2xlarge 56
r5n.4xlarge 110
r5n.8xlarge 110
r5n.large 27
r5n.metal 110
r5n.xlarge 56
r6g.12xlarge 110
r6g.16xlarge 110
r6g.2xlarge 56
r6g.4xlarge 110
r6g.8xlarge 110
r6g.large 27
r6g.medium 6
r6g.metal 110
r6g.xlarge 56
r6gd.12xlarge 110
r6gd.16xlarge 110
r6gd.2xlarge 56
r6gd.4xlarge 110
r6gd.8xlarge 110
r6gd.large 27
r6gd.medium 6
r6gd.metal 110
r6gd.xlarge 56
r6i.12xlarge 110
r6i.16xlarge 110
r6i.24xlarge 110
r6i.2xlarge 56
r6i.32xlarge 110
r6i.4xlarge 110
r6i.8xlarge 110
r6i.large 27
r6i.metal 110
r6i.xlarge 56
r6id.12xlarge 110
r6id.16xlarge 110
r6id.24xlarge 110
r6id.2xlarge 56
r6id.32xlarge 110
r6id.4xlarge 110
r6id.8xlarge 110
r6id.large 27
r6id.metal 110
r6id.xlarge 56
t1.micro 2
t2.2xlarge 42
t2.large 33
t2.medium 15
t2.micro 2
t2.nano 2
t2.small 9
t2.xlarge 42
t3.2xlarge 56
t3.large 33
t3.medium 15
t3.micro 2
t3.nano 2
t3.small 9
t3.xlarge 56
t3a.2xlarge 56
t3a.large 33
t3a.medium 15
t3a.micro 2
t3a.nano 2
t3a.small 6
t3a.xlarge 56
t4g.2xlarge 56
t4g.large 33
t4g.medium 15
t4g.micro 2
t4g.nano 2
t4g.small 9
t4g.xlarge 56
u-12tb1.112xlarge 110
u-3tb1.56xlarge 110
u-6tb1.112xlarge 110
u-6tb1.56xlarge 110
u-9tb1.112xlarge 110
vt1.24xlarge 110
vt1.3xlarge 56
vt1.6xlarge 110
x1.16xlarge 110
x1.32xlarge 110
x1e.16xlarge 110
x1e.2xlarge 56
x1e.32xlarge 110
x1e.4xlarge 56
x1e.8xlarge 56
x1e.xlarge 27
x2gd.12xlarge 110
x2gd.16xlarge 110
x2gd.2xlarge 56
x2gd.4xlarge 110
x2gd.8xlarge 110
x2gd.large 27
x2gd.medium 6
x2gd.metal 110
x2gd.xlarge 56
x2idn.16xlarge 110
x2idn.24xlarge 110
x2idn.32xlarge 110
x2idn.metal 110
x2iedn.16xlarge 110
x2iedn.24xlarge 110
x2iedn.2xlarge 56
x2iedn.32xlarge 110
x2iedn.4xlarge 110
x2iedn.8xlarge 110
x2iedn.metal 110
x2iedn.xlarge 56
x2iezn.12xlarge 110
x2iezn.2xlarge 56
x2iezn.4xlarge 110
x2iezn.6xlarge 110
x2iezn.8xlarge 110
x2iezn.metal 110
z1d.12xlarge 110
z1d.2xlarge 56
z1d.3xlarge 110
z1d.6xlarge 110
z1d.large 27
z1d.metal 110
z1d.xlarge 56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment