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
| Member | Description |
|---|---|
OUTBOUND_ONLY | Allow all outbound traffic and disallow all inbound traffic. |
INBOUND_AND_OUTBOUND | Allow all outbound and inbound traffic. |
NONE | Disallow all outbound and inbound traffic. |
Referenced by
NatInstanceProps.defaultAllowedTrafficdefault_allowed_trafficdefaultAllowedTrafficDefaultAllowedTrafficDefaultAllowedTraffic