Help Center> Cloud Container Engine> User Guide (Paris Regions)> Network> Accessing Public Networks from a Container
Updated on 2024-01-26 GMT+08:00

Accessing Public Networks from a Container

Containers can access public networks in either of the following ways:

  • Bind an EIP to the node where the container is located.
  • Configure SNAT rules through NAT Gateway.

You can use NAT Gateway to enable container pods in a VPC to access public networks. NAT Gateway provides source network address translation (SNAT), which translates private IP addresses to a public IP address by binding an elastic IP address (EIP) to the gateway, providing secure and efficient access to the Internet. Figure 1 shows the SNAT architecture. The SNAT function allows the container pods in a VPC to access the Internet without being bound to an EIP. SNAT supports a large number of concurrent connections, which makes it suitable for applications involving a large number of requests and connections.

Figure 1 SNAT

To enable a container pod to access the Internet, perform the following steps:

  1. Assign an EIP.

    1. Log in to the management console.
    2. Click in the upper left corner of the management console and select a region and a project.
    3. Click at the upper left corner and choose Networking > Elastic IP in the expanded list.
    4. On the EIPs page, click Assign EIP.
    5. Configure parameters as required.

      Set Region to the region where container pods are located.

  2. Create a NAT gateway.

    1. Log in to the management console.
    2. Click in the upper left corner of the management console and select a region and a project.
    3. Click at the upper left corner and choose Networking > NAT Gateway in the expanded list.
    4. On the displayed page, click Create Public NAT Gateway in the upper right corner.
    5. Configure parameters as required.

      Select the same VPC.

  3. Configure an SNAT rule and bind the EIP to the subnet.

    1. Log in to the management console.
    2. Click in the upper left corner of the management console and select a region and a project.
    3. Click at the upper left corner and choose Networking > NAT Gateway in the expanded list.
    4. On the page displayed, click the name of the NAT gateway for which you want to add the SNAT rule.
    5. On the SNAT Rules tab page, click Add SNAT Rule.
    6. Configure parameters as required.

    SNAT rules take effect by CIDR block. As different container network models use different communication modes, the subnet needs to be selected according to the following rules:

    • Tunnel network and VPC network: Select the subnet where the node is located, that is, the subnet selected during node creation.
    • Cloud Native Network 2.0: Select the subnet where the container is located, that is, the container subnet selected during cluster creation.

    If there are multiple CIDR blocks, you can create multiple SNAT rules or customize a CIDR block as long as the CIDR block contains the container subnet (Cloud Native 2.0 Network) or the node subnet.

    After the SNAT rule is configured, workloads can access public networks from the container. Public networks can be pinged from the container.