Show / Hide Table of Contents

Class PortMapping

Port mappings allow containers to access ports on the host container instance to send or receive traffic.

Inheritance
object
PortMapping
Implements
IPortMapping
Inherited Members
object.GetType()
object.MemberwiseClone()
object.ToString()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
Namespace: Amazon.CDK.AWS.ECS
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public class PortMapping : IPortMapping
Syntax (vb)
Public Class PortMapping Implements IPortMapping
Remarks

ExampleMetadata: infused

Examples
ContainerDefinition container;


            container.AddPortMappings(new PortMapping {
                ContainerPort = ContainerDefinition.CONTAINER_PORT_USE_RANGE,
                ContainerPortRange = "8080-8081"
            });

Synopsis

Constructors

PortMapping()

Port mappings allow containers to access ports on the host container instance to send or receive traffic.

Properties

AppProtocol

The protocol used by Service Connect.

ContainerPort

The port number on the container that is bound to the user-specified or automatically assigned host port.

ContainerPortRange

The port number range on the container that's bound to the dynamically mapped host port range.

HostPort

The port number on the container instance to reserve for your container.

Name

The name to give the port mapping.

Protocol

The protocol used for the port mapping.

Constructors

PortMapping()

Port mappings allow containers to access ports on the host container instance to send or receive traffic.

public PortMapping()
Remarks

ExampleMetadata: infused

Examples
ContainerDefinition container;


            container.AddPortMappings(new PortMapping {
                ContainerPort = ContainerDefinition.CONTAINER_PORT_USE_RANGE,
                ContainerPortRange = "8080-8081"
            });

Properties

AppProtocol

The protocol used by Service Connect.

public AppProtocol? AppProtocol { get; set; }
Property Value

AppProtocol

Remarks

Valid values are AppProtocol.http, AppProtocol.http2, and AppProtocol.grpc. The protocol determines what telemetry will be shown in the ECS Console for Service Connect services using this port mapping.

This field may only be set when the task definition uses Bridge or Awsvpc network modes.

Default: - no app protocol

ContainerPort

The port number on the container that is bound to the user-specified or automatically assigned host port.

public double ContainerPort { get; set; }
Property Value

double

Remarks

If you are using containers in a task with the awsvpc or host network mode, exposed ports should be specified using containerPort. If you are using containers in a task with the bridge network mode and you specify a container port and not a host port, your container automatically receives a host port in the ephemeral port range.

For more information, see hostPort. Port mappings that are automatically assigned in this way do not count toward the 100 reserved ports limit of a container instance.

If you want to expose a port range, you must specify CONTAINER_PORT_USE_RANGE as container port.

ContainerPortRange

The port number range on the container that's bound to the dynamically mapped host port range.

public string? ContainerPortRange { get; set; }
Property Value

string

Remarks

The following rules apply when you specify a containerPortRange:

    If you want to expose a single port, you must not set a range.

    HostPort

    The port number on the container instance to reserve for your container.

    public double? HostPort { get; set; }
    Property Value

    double?

    Remarks

    If you are using containers in a task with the awsvpc or host network mode, the hostPort can either be left blank or set to the same value as the containerPort.

    If you are using containers in a task with the bridge network mode, you can specify a non-reserved host port for your container port mapping, or you can omit the hostPort (or set it to 0) while specifying a containerPort and your container automatically receives a port in the ephemeral port range for your container instance operating system and Docker version.

    Name

    The name to give the port mapping.

    public string? Name { get; set; }
    Property Value

    string

    Remarks

    Name is required in order to use the port mapping with ECS Service Connect. This field may only be set when the task definition uses Bridge or Awsvpc network modes.

    Default: - no port mapping name

    Protocol

    The protocol used for the port mapping.

    public Protocol? Protocol { get; set; }
    Property Value

    Protocol?

    Remarks

    Valid values are Protocol.TCP and Protocol.UDP.

    Default: TCP

    Implements

    IPortMapping
    Back to top Generated by DocFX