aws-cdk-lib.aws_ec2.IpAddresses
static aws
class IpAddresses
Language | Type name |
---|---|
![]() | Amazon.CDK.AWS.EC2.IpAddresses |
![]() | github.com/aws/aws-cdk-go/awscdk/v2/awsec2#IpAddresses |
![]() | software.amazon.awscdk.services.ec2.IpAddresses |
![]() | aws_cdk.aws_ec2.IpAddresses |
![]() | aws-cdk-lib » aws_ec2 » IpAddresses |
An abstract Provider of IpAddresses.
Example
const vpc = new ec2.Vpc(this, 'TheVPC', {
// 'IpAddresses' configures the IP range and size of the entire VPC.
// The IP space will be divided based on configuration for the subnets.
ipAddresses: ec2.IpAddresses.cidr('10.0.0.0/21'),
// 'maxAzs' configures the maximum number of availability zones to use.
// If you want to specify the exact availability zones you want the VPC
// to use, use `availabilityZones` instead.
maxAzs: 3,
// 'subnetConfiguration' specifies the "subnet groups" to create.
// Every subnet group will have a subnet for each AZ, so this
// configuration will create `3 groups × 3 AZs = 9` subnets.
subnetConfiguration: [
{
// 'subnetType' controls Internet access, as described above.
subnetType: ec2.SubnetType.PUBLIC,
// 'name' is used to name this particular subnet group. You will have to
// use the name for subnet selection if you have more than one subnet
// group of the same type.
name: 'Ingress',
// 'cidrMask' specifies the IP addresses in the range of of individual
// subnets in the group. Each of the subnets in this group will contain
// `2^(32 address bits - 24 subnet bits) - 2 reserved addresses = 254`
// usable IP addresses.
//
// If 'cidrMask' is left out the available address space is evenly
// divided across the remaining subnet groups.
cidrMask: 24,
},
{
cidrMask: 24,
name: 'Application',
subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS,
},
{
cidrMask: 28,
name: 'Database',
subnetType: ec2.SubnetType.PRIVATE_ISOLATED,
// 'reserved' can be used to reserve IP address space. No resources will
// be created for this subnet, but the IP range will be kept available for
// future creation of this subnet, or even for future subdivision.
reserved: true
}
],
});
Methods
Name | Description |
---|---|
static aws | Used to provide centralized Ip Address Management services for your VPC. |
static cidr(cidrBlock) | Used to provide local Ip Address Management services for your VPC. |
IpamAllocation(props)
static awspublic static awsIpamAllocation(props: AwsIpamProps): IIpAddresses
Parameters
- props
Aws
Ipam Props
Returns
Used to provide centralized Ip Address Management services for your VPC.
Uses VPC Cidr allocations from AWS IPAM
See also: https://docs.aws.amazon.com/vpc/latest/ipam/what-it-is-ipam.html
static cidr(cidrBlock)
public static cidr(cidrBlock: string): IIpAddresses
Parameters
- cidrBlock
string
Returns
Used to provide local Ip Address Management services for your VPC.
VPC Cidr is supplied at creation and subnets are calculated locally