- 新しい順
- 投票が多い順
- コメントが多い順
結局、以下のようにL1からIPv6ブロックを削除することで対応しました ただし、この方法の場合、L2ではIPv6ブロックの割り当てが残ったままなので、参照により不具合が発生することがありえると考えています 正しい対処法がわかるようでしたら教えていただけますと幸いです。
from typing import cast for isolated_subnet in vpc.isolated_subnets: subnet = cast(ec2.Subnet, isolated_subnet) cfn_subnet = cast(ec2.CfnSubnet, subnet.node.default_child) cfn_subnet.ipv6_cidr_block = None
デュアルスタックVPC内でIPv4アドレスのみを持つサブネットを作成するには、ipv6_assign_address_on_creation=False を設定するだけで十分です。これはあなたのコード例の Isolated サブネット設定で既に行われています。
AWS CDKでは、ipv6_assign_address_on_creation=False を設定することで、そのサブネットに対してIPv6アドレスが自動的に割り当てられなくなります。デュアルスタックVPCを作成する際、VPC自体はIPv4とIPv6の両方のCIDRブロックを持ちますが、各サブネットでIPv6を使用するかどうかは個別に制御できます。
あなたの現在のコード設定では、IsolatedサブネットはIPv4アドレスのみを使用し、IPv6アドレスは割り当てられません。Public サブネットと Private サブネットは ipv6_assign_address_on_creation=True と設定されているため、IPv6アドレスが割り当てられます。
この設定で、Isolated サブネットはデュアルスタックVPC内でIPv4のみのサブネットとして機能します。
Sources
Create a VPC - Amazon Virtual Private Cloud
Example dual-stack VPC configuration - Amazon Virtual Private Cloud

この方法では、Amazon EC2インスタンス起動時に自動的にIPv6アドレスが割り当てられることはありません。しかしながら、IPv6アドレスのブロックは依然としてこのサブネットに割り当てが行われます。 このため、私の要求を実現することができません。