Class NatInstanceProviderV2

java.lang.Object
software.amazon.jsii.JsiiObject
software.amazon.awscdk.services.ec2.NatProvider
software.amazon.awscdk.services.ec2.NatInstanceProviderV2
All Implemented Interfaces:
IConnectable, software.amazon.jsii.JsiiSerializable

@Generated(value="jsii-pacmak/1.98.0 (build 00b106d)", date="2024-05-08T21:35:06.209Z") @Stability(Stable) public class NatInstanceProviderV2 extends NatProvider implements IConnectable
Modern NAT provider which uses NAT Instances.

The instance uses Amazon Linux 2023 as the operating system.

Example:

 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);
 }
 
  • Field Details

  • Constructor Details

    • NatInstanceProviderV2

      protected NatInstanceProviderV2(software.amazon.jsii.JsiiObjectRef objRef)
    • NatInstanceProviderV2

      protected NatInstanceProviderV2(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • NatInstanceProviderV2

      @Stability(Stable) public NatInstanceProviderV2(@NotNull NatInstanceProps props)
      Parameters:
      props - This parameter is required.
  • Method Details

    • configureNat

      @Stability(Stable) public void configureNat(@NotNull ConfigureNatOptions options)
      Called by the VPC to configure NAT.

      Don't call this directly, the VPC will call it automatically.

      Specified by:
      configureNat in class NatProvider
      Parameters:
      options - This parameter is required.
    • configureSubnet

      @Stability(Stable) public void configureSubnet(@NotNull PrivateSubnet subnet)
      Configures subnet with the gateway.

      Don't call this directly, the VPC will call it automatically.

      Specified by:
      configureSubnet in class NatProvider
      Parameters:
      subnet - This parameter is required.
    • getConfiguredGateways

      @Stability(Stable) @NotNull public List<GatewayConfig> getConfiguredGateways()
      Return list of gateways spawned by the provider.
      Specified by:
      getConfiguredGateways in class NatProvider
    • getConnections

      @Stability(Stable) @NotNull public Connections getConnections()
      Manage the Security Groups associated with the NAT instances.
      Specified by:
      getConnections in interface IConnectable
    • getGatewayInstances

      @Stability(Stable) @NotNull public List<Instance> getGatewayInstances()
      Array of gateway instances spawned by the provider after internal configuration.
    • getSecurityGroup

      @Stability(Stable) @NotNull public ISecurityGroup getSecurityGroup()
      The Security Group associated with the NAT instances.