Connect to Windows Server 2016 GameLift Instance with SDK version 5

0

Is it possible to make an RDP connection to a Windows Server 2016 GameLift instance which runs a game server built with SDK version 5 and above?

Here are the steps I follow from the documentation here: https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-remote-access.html.

  1. I try to get the instance access details by calling the get-instance-access API. This throws an error and suggests me to use the get-compute-access API instead.
C:\Users\Merih>aws gamelift get-instance-access --fleet-id fleet-7aeb08ab-b5ac-47a2-a77e-f165ded62973 --instance-id i-0559c2e5e5b85679f

An error occurred (InvalidRequestException) when calling the GetInstanceAccess operation: This API does not support fleets using builds integrated with GameLift Server SDK 5 and above. Use the GetComputeAccess operation to access this fleet resource.
  1. When I call the get-compute-access API, I am returned the credentials which I believe can only be used with SSM. It cannot be used for an RDP session.
C:\Users\Merih>aws gamelift get-compute-access --fleet-id fleet-7aeb08ab-b5ac-47a2-a77e-f165ded62973 --compute-name i-0559c2e5e5b85679f
{
    "FleetId": "fleet-7aeb08ab-b5ac-47a2-a77e-f165ded62973",
    "Credentials": {
        "AccessKeyId": "omitted",
        "SecretAccessKey": "omitted",
        "SessionToken": "omitted"
    }
}
  1. I navigate to Session Manager in hoping that I can start a session. However the instance is not listed even though the required IAM role is attached to the instance with AmazonSSMManagedInstanceCore policy.

So, I hit this deadend and I cannot start an RDP session to my Windows Server 2016 GameLift instance.

I see a lot of posts from people who managed to connect to Linux hosts with SSM.

Is it really not possible to connect to Windows if you are using SDK version 5 and above?

Merih
demandé il y a 10 mois659 vues
2 réponses
0
Réponse acceptée

Hey Merih,

Yes, the expected method for accessing compute on SDK 5 fleets is through SSM; however, you won't be able to create an SSM session through the console. You should be able to connect via the aws cli:

// Step 1 : Acquire credentials to start a session
aws gamelift get-compute-access --fleet-id <fleet_id> --region <region_where_fleet_is_created> --compute-name <instance_id> 

// Step 2: Expected response
{
    "FleetId": "<FleetId>",
    "Credentials": {
        "AccessKeyId": "<ACCESS_KEY_ID_PLACEHOLDER>",
        "SecretAccessKey": "<SECRET_ACCESS_KEY_PLACEHOLDER>",
        "SessionToken": "<SESSION_TOKEN_PLACEHOLDER>"
    }
}

// Step 3: Export credentials obtained from previous call
export AWS_ACCESS_KEY_ID=<ACCESS_KEY_ID_PLACEHOLDER>
export AWS_SECRET_ACCESS_KEY=<SECRET_ACCESS_KEY_PLACEHOLDER>
export AWS_SESSION_TOKEN=<SESSION_TOKEN_PLACEHOLDER>

// Step 4: 
aws ssm start-session --target <instance_id> --region <location_where_instance_exists> 

Let us know if you're still having trouble even with the above steps, and I've reached out to the team about updating our documentation.

Regards!

AWS
répondu il y a 10 mois
profile picture
EXPERT
vérifié il y a un mois
  • That works perfectly. Thanks Jackson. Now, I need to debug an issue with my game server. How can I download files (e.g.: logs, crash dumps) to my local computer from the instance through an ssm session?

0

Hi Jackson!

I'm now able to connect to the instance and start a PowerShell session.

Thank you very much for your help.

Cheers,

Merih

Merih
répondu il y a 10 mois

Vous n'êtes pas connecté. Se connecter pour publier une réponse.

Une bonne réponse répond clairement à la question, contient des commentaires constructifs et encourage le développement professionnel de la personne qui pose la question.

Instructions pour répondre aux questions