Skip to content
v2.277.0

NatTrafficDirection Enum ​

Direction of traffic to allow all by default.

Example ​

ts
const natGatewayProvider = ec2.NatProvider.instanceV2({
  instanceType: new ec2.InstanceType('t3.small'),
  defaultAllowedTraffic: ec2.NatTrafficDirection.NONE,
});
const vpc = new ec2.Vpc(this, 'Vpc', { natGatewayProvider });

const securityGroup = new ec2.SecurityGroup(this, 'SecurityGroup', {
  vpc,
  allowAllOutbound: false,
});
securityGroup.addEgressRule(ec2.Peer.anyIpv4(), ec2.Port.tcp(443));
for (const gatewayInstance of natGatewayProvider.gatewayInstances) {
   gatewayInstance.addSecurityGroup(securityGroup);
}
python
nat_gateway_provider = ec2.NatProvider.instance_v2(
    instance_type=ec2.InstanceType("t3.small"),
    default_allowed_traffic=ec2.NatTrafficDirection.NONE
)
vpc = ec2.Vpc(self, "Vpc", nat_gateway_provider=nat_gateway_provider)

security_group = ec2.SecurityGroup(self, "SecurityGroup",
    vpc=vpc,
    allow_all_outbound=False
)
security_group.add_egress_rule(ec2.Peer.any_ipv4(), ec2.Port.tcp(443))
for gateway_instance in nat_gateway_provider.gateway_instances:
    gateway_instance.add_security_group(security_group)
java
NatInstanceProviderV2 natGatewayProvider = NatProvider.instanceV2(NatInstanceProps.builder()
        .instanceType(new InstanceType("t3.small"))
        .defaultAllowedTraffic(NatTrafficDirection.NONE)
        .build());
Vpc vpc = Vpc.Builder.create(this, "Vpc").natGatewayProvider(natGatewayProvider).build();

SecurityGroup securityGroup = SecurityGroup.Builder.create(this, "SecurityGroup")
        .vpc(vpc)
        .allowAllOutbound(false)
        .build();
securityGroup.addEgressRule(Peer.anyIpv4(), Port.tcp(443));
for (Object gatewayInstance : natGatewayProvider.getGatewayInstances()) {
    gatewayInstance.addSecurityGroup(securityGroup);
}
csharp
// Install: dotnet add package Amazon.CDK.Lib
var natGatewayProvider = NatProvider.InstanceV2(new NatInstanceProps {
    InstanceType = new InstanceType("t3.small"),
    DefaultAllowedTraffic = NatTrafficDirection.NONE
});
var vpc = new Vpc(this, "Vpc", new VpcProps { NatGatewayProvider = natGatewayProvider });

var securityGroup = new SecurityGroup(this, "SecurityGroup", new SecurityGroupProps {
    Vpc = vpc,
    AllowAllOutbound = false
});
securityGroup.AddEgressRule(Peer.AnyIpv4(), Port.Tcp(443));
for (var gatewayInstance in natGatewayProvider.GatewayInstances)
{
    gatewayInstance.AddSecurityGroup(securityGroup);
}
go
// Install: go get github.com/aws/aws-cdk-go/awscdk/v2
natGatewayProvider := ec2.NatProvider_InstanceV2(&NatInstanceProps{
	InstanceType: ec2.NewInstanceType(jsii.String("t3.small")),
	DefaultAllowedTraffic: ec2.NatTrafficDirection_NONE,
})
vpc := ec2.NewVpc(this, jsii.String("Vpc"), &VpcProps{
	NatGatewayProvider: NatGatewayProvider,
})

securityGroup := ec2.NewSecurityGroup(this, jsii.String("SecurityGroup"), &SecurityGroupProps{
	Vpc: Vpc,
	AllowAllOutbound: jsii.Boolean(false),
})
securityGroup.AddEgressRule(ec2.Peer_AnyIpv4(), ec2.Port_Tcp(jsii.Number(443)))
for _, gatewayInstance := range natGatewayProvider.gatewayInstances {
	gatewayInstance.AddSecurityGroup(securityGroup)
}

Members ​

MemberDescription
OUTBOUND_ONLYAllow all outbound traffic and disallow all inbound traffic.
INBOUND_AND_OUTBOUNDAllow all outbound and inbound traffic.
NONEDisallow all outbound and inbound traffic.

Referenced by ​

  • NatInstanceProps.defaultAllowedTrafficdefault_allowed_trafficdefaultAllowedTrafficDefaultAllowedTrafficDefaultAllowedTraffic