GameLift / Client / register_compute

register_compute#

GameLift.Client.register_compute(**kwargs)#

This operation has been expanded to use with the Amazon GameLift containers feature, which is currently in public preview.

Registers a compute resource in an Amazon GameLift fleet. Register computes with an Amazon GameLift Anywhere fleet or a container fleet.

For an Anywhere fleet or a container fleet that’s running the Amazon GameLift Agent, the Agent handles all compute registry tasks for you. For an Anywhere fleet that doesn’t use the Agent, call this operation to register fleet computes.

To register a compute, give the compute a name (must be unique within the fleet) and specify the compute resource’s DNS name or IP address. Provide a fleet ID and a fleet location to associate with the compute being registered. You can optionally include the path to a TLS certificate on the compute resource.

If successful, this operation returns compute details, including an Amazon GameLift SDK endpoint or Agent endpoint. Game server processes running on the compute can use this endpoint to communicate with the Amazon GameLift service. Each server process includes the SDK endpoint in its call to the Amazon GameLift server SDK action InitSDK().

To view compute details, call DescribeCompute with the compute name.

Learn more

See also: AWS API Documentation

Request Syntax

response = client.register_compute(
    FleetId='string',
    ComputeName='string',
    CertificatePath='string',
    DnsName='string',
    IpAddress='string',
    Location='string'
)
Parameters:
  • FleetId (string) –

    [REQUIRED]

    A unique identifier for the fleet to register the compute to. You can use either the fleet ID or ARN value.

  • ComputeName (string) –

    [REQUIRED]

    A descriptive label for the compute resource.

  • CertificatePath (string) – The path to a TLS certificate on your compute resource. Amazon GameLift doesn’t validate the path and certificate.

  • DnsName (string) – The DNS name of the compute resource. Amazon GameLift requires either a DNS name or IP address.

  • IpAddress (string) – The IP address of the compute resource. Amazon GameLift requires either a DNS name or IP address. When registering an Anywhere fleet, an IP address is required.

  • Location (string) – The name of a custom location to associate with the compute resource being registered. This parameter is required when registering a compute for an Anywhere fleet.

Return type:

dict

Returns:

Response Syntax

{
    'Compute': {
        'FleetId': 'string',
        'FleetArn': 'string',
        'ComputeName': 'string',
        'ComputeArn': 'string',
        'IpAddress': 'string',
        'DnsName': 'string',
        'ComputeStatus': 'PENDING'|'ACTIVE'|'TERMINATING',
        'Location': 'string',
        'CreationTime': datetime(2015, 1, 1),
        'OperatingSystem': 'WINDOWS_2012'|'AMAZON_LINUX'|'AMAZON_LINUX_2'|'WINDOWS_2016'|'AMAZON_LINUX_2023',
        'Type': 't2.micro'|'t2.small'|'t2.medium'|'t2.large'|'c3.large'|'c3.xlarge'|'c3.2xlarge'|'c3.4xlarge'|'c3.8xlarge'|'c4.large'|'c4.xlarge'|'c4.2xlarge'|'c4.4xlarge'|'c4.8xlarge'|'c5.large'|'c5.xlarge'|'c5.2xlarge'|'c5.4xlarge'|'c5.9xlarge'|'c5.12xlarge'|'c5.18xlarge'|'c5.24xlarge'|'c5a.large'|'c5a.xlarge'|'c5a.2xlarge'|'c5a.4xlarge'|'c5a.8xlarge'|'c5a.12xlarge'|'c5a.16xlarge'|'c5a.24xlarge'|'r3.large'|'r3.xlarge'|'r3.2xlarge'|'r3.4xlarge'|'r3.8xlarge'|'r4.large'|'r4.xlarge'|'r4.2xlarge'|'r4.4xlarge'|'r4.8xlarge'|'r4.16xlarge'|'r5.large'|'r5.xlarge'|'r5.2xlarge'|'r5.4xlarge'|'r5.8xlarge'|'r5.12xlarge'|'r5.16xlarge'|'r5.24xlarge'|'r5a.large'|'r5a.xlarge'|'r5a.2xlarge'|'r5a.4xlarge'|'r5a.8xlarge'|'r5a.12xlarge'|'r5a.16xlarge'|'r5a.24xlarge'|'m3.medium'|'m3.large'|'m3.xlarge'|'m3.2xlarge'|'m4.large'|'m4.xlarge'|'m4.2xlarge'|'m4.4xlarge'|'m4.10xlarge'|'m5.large'|'m5.xlarge'|'m5.2xlarge'|'m5.4xlarge'|'m5.8xlarge'|'m5.12xlarge'|'m5.16xlarge'|'m5.24xlarge'|'m5a.large'|'m5a.xlarge'|'m5a.2xlarge'|'m5a.4xlarge'|'m5a.8xlarge'|'m5a.12xlarge'|'m5a.16xlarge'|'m5a.24xlarge'|'c5d.large'|'c5d.xlarge'|'c5d.2xlarge'|'c5d.4xlarge'|'c5d.9xlarge'|'c5d.12xlarge'|'c5d.18xlarge'|'c5d.24xlarge'|'c6a.large'|'c6a.xlarge'|'c6a.2xlarge'|'c6a.4xlarge'|'c6a.8xlarge'|'c6a.12xlarge'|'c6a.16xlarge'|'c6a.24xlarge'|'c6i.large'|'c6i.xlarge'|'c6i.2xlarge'|'c6i.4xlarge'|'c6i.8xlarge'|'c6i.12xlarge'|'c6i.16xlarge'|'c6i.24xlarge'|'r5d.large'|'r5d.xlarge'|'r5d.2xlarge'|'r5d.4xlarge'|'r5d.8xlarge'|'r5d.12xlarge'|'r5d.16xlarge'|'r5d.24xlarge'|'m6g.medium'|'m6g.large'|'m6g.xlarge'|'m6g.2xlarge'|'m6g.4xlarge'|'m6g.8xlarge'|'m6g.12xlarge'|'m6g.16xlarge'|'c6g.medium'|'c6g.large'|'c6g.xlarge'|'c6g.2xlarge'|'c6g.4xlarge'|'c6g.8xlarge'|'c6g.12xlarge'|'c6g.16xlarge'|'r6g.medium'|'r6g.large'|'r6g.xlarge'|'r6g.2xlarge'|'r6g.4xlarge'|'r6g.8xlarge'|'r6g.12xlarge'|'r6g.16xlarge'|'c6gn.medium'|'c6gn.large'|'c6gn.xlarge'|'c6gn.2xlarge'|'c6gn.4xlarge'|'c6gn.8xlarge'|'c6gn.12xlarge'|'c6gn.16xlarge'|'c7g.medium'|'c7g.large'|'c7g.xlarge'|'c7g.2xlarge'|'c7g.4xlarge'|'c7g.8xlarge'|'c7g.12xlarge'|'c7g.16xlarge'|'r7g.medium'|'r7g.large'|'r7g.xlarge'|'r7g.2xlarge'|'r7g.4xlarge'|'r7g.8xlarge'|'r7g.12xlarge'|'r7g.16xlarge'|'m7g.medium'|'m7g.large'|'m7g.xlarge'|'m7g.2xlarge'|'m7g.4xlarge'|'m7g.8xlarge'|'m7g.12xlarge'|'m7g.16xlarge'|'g5g.xlarge'|'g5g.2xlarge'|'g5g.4xlarge'|'g5g.8xlarge'|'g5g.16xlarge',
        'GameLiftServiceSdkEndpoint': 'string',
        'GameLiftAgentEndpoint': 'string',
        'InstanceId': 'string',
        'ContainerAttributes': {
            'ContainerPortMappings': [
                {
                    'ContainerPort': 123,
                    'ConnectionPort': 123,
                    'Protocol': 'TCP'|'UDP'
                },
            ]
        }
    }
}

Response Structure

  • (dict) –

    • Compute (dict) –

      The details of the compute resource you registered.

      • FleetId (string) –

        A unique identifier for the fleet that the compute belongs to.

      • FleetArn (string) –

        The Amazon Resource Name (ARN) of the fleet that the compute belongs to.

      • ComputeName (string) –

        A descriptive label for the compute resource. For instances in a managed EC2 fleet, the compute name is the same value as the InstanceId ID.

      • ComputeArn (string) –

        The ARN that is assigned to a compute resource and uniquely identifies it. ARNs are unique across locations. Instances in managed EC2 fleets are not assigned a Compute ARN.

      • IpAddress (string) –

        The IP address of a compute resource. Amazon GameLift requires a DNS name or IP address for a compute.

      • DnsName (string) –

        The DNS name of a compute resource. Amazon GameLift requires a DNS name or IP address for a compute.

      • ComputeStatus (string) –

        Current status of the compute. A compute must have an ACTIVE status to host game sessions.

      • Location (string) –

        The name of the custom location you added to the fleet that this compute resource resides in.

      • CreationTime (datetime) –

        A time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

      • OperatingSystem (string) –

        The type of operating system on the compute resource.

        Note

        Amazon Linux 2 (AL2) will reach end of support on 6/30/2025. See more details in the Amazon Linux 2 FAQs. For game servers that are hosted on AL2 and use Amazon GameLift server SDK 4.x., first update the game server build to server SDK 5.x, and then deploy to AL2023 instances. See Migrate to Amazon GameLift server SDK version 5.

      • Type (string) –

        The Amazon EC2 instance type that the fleet uses. For registered computes in an Amazon GameLift Anywhere fleet, this property is empty.

      • GameLiftServiceSdkEndpoint (string) –

        The Amazon GameLift SDK endpoint connection for a registered compute resource in an Anywhere fleet. The game servers on the compute use this endpoint to connect to the Amazon GameLift service.

      • GameLiftAgentEndpoint (string) –

        The endpoint of the Amazon GameLift Agent.

      • InstanceId (string) –

        The InstanceID of the Instance hosting the compute for Container and Managed EC2 fleets.

      • ContainerAttributes (dict) –

        Some attributes of a container.

        • ContainerPortMappings (list) –

          Describes how container ports map to connection ports on the fleet instance. Incoming traffic connects to a game via a connection port. A ContainerPortMapping directs the traffic from a connection port to a port on the container that hosts the game session.

          • (dict) –

            This data type is used with the Amazon GameLift containers feature, which is currently in public preview.

            Defines how an internal-facing container port is mapped to an external-facing connection port on a fleet instance of compute type CONTAINER. Incoming traffic, such as a game client, uses a connection port to connect to a process in the container fleet. Amazon GameLift directs the inbound traffic to the container port that is assigned to the process, such as a game session, running on a container.

            Part of: ContainerAttributes

            • ContainerPort (integer) –

              The port opened on the container.

            • ConnectionPort (integer) –

              The port opened on the fleet instance. This is also called the “host port”.

            • Protocol (string) –

              The network protocol that this mapping supports.

Exceptions

  • GameLift.Client.exceptions.UnauthorizedException

  • GameLift.Client.exceptions.InvalidRequestException

  • GameLift.Client.exceptions.ConflictException

  • GameLift.Client.exceptions.InternalServiceException

  • GameLift.Client.exceptions.NotReadyException

  • GameLift.Client.exceptions.LimitExceededException