Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Connect ke kontainer
Untuk armada Amazon GameLift Servers kontainer, Anda dapat mengakses kontainer server game yang berjalan pada instance armada. Gunakan akses kontainer untuk memecahkan masalah sesi game, memeriksa log, dan men-debug masalah runtime.
Connect ke wadah
Sebelum Anda mulai:
Connect ke instance armada. Untuk petunjuk, lihat Connect ke instance armada.
Jalankan perintah berikut untuk membuat daftar kontainer yang sedang berjalan pada instance:
sudo docker ps
Output mencantumkan semua kontainer yang berjalan pada instance, termasuk kontainer server game dan Amazon GameLift Servers kontainer internal. Cari wadah dengan gambar server game Anda untuk mengidentifikasi wadah server game.
Contoh keluaran:
CONTAINER ID IMAGE COMMAND CREATED STATUS b9676e9489f5 game-server-container "/bin/sh -c ./$GAME_…" 2 days ago Up 2 days 1d1c8443efe2 support-container "/bin/sh -c ./$SUPPO…" 2 days ago Up 2 days
Untuk terhubung ke wadah server game, gunakan ID pendek kontainer dari CONTAINER ID kolom. Ini memberi Anda akses baca dan tulis penuh ke sistem file kontainer.
sudo docker exec -itcontainer-short-idsh
Connect ke wadah melalui konsol
Anda dapat terhubung ke kontainer server game dari Amazon GameLift Servers konsol menggunakan Amazon EC2 Systems Manager (SSM). Metode ini menyediakan akses aman tanpa memerlukan pengaturan tambahan atau manajemen kredensi. Anda dapat terhubung ke kontainer dari tab Komputasi atau tab Sesi permainan di halaman detail armada.
-
Di Amazon GameLift Servers konsol, pilih Kontainer terkelola dari panel navigasi, lalu Armada.
-
Pilih ID armada yang berisi wadah atau sesi permainan yang ingin Anda akses.
-
Pada halaman detail armada, pilih salah satu tab berikut:
Komputasi — Daftar kontainer yang berjalan di armada. Pilih wadah yang ingin Anda sambungkan.
Sesi permainan — Daftar sesi permainan untuk armada. Pilih sesi permainan untuk terhubung ke wadah hosting itu.
-
Pilih Hubungkan. Salin perintah yang ditampilkan untuk terhubung ke wadah, lalu pilih Connect lagi.
-
Dalam dialog koneksi, pilih Jalankan untuk membuat sesi SSM baru. Sistem mengotentikasi sesi Anda melalui AWS Key Management Service (AWS KMS) dan membuka terminal di browser Anda.
-
Setelah Anda terhubung ke instance, tempel perintah docker dari langkah 4 dan jalankan pada instance untuk mengakses wadah.
Connect ke kontainer hosting sesi permainan
Untuk terhubung ke wadah server game yang menghosting sesi game tertentu, ikuti langkah-langkah ini.
-
Dapatkan nama komputasi. Hubungi describe-game-sessionsuntuk mendapatkan sesi permainan.
ComputeNamePermintaan
aws gamelift describe-game-sessions \ --fleet-id fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa \ --game-session-id arn:aws:gamelift:us-west-2::gamesession/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa/gs-1111aaaa-2222-3333-4444-5555bbbb66ccRespons
{ "GameSessions": [ { "GameSessionId": "arn:aws:gamelift:us-west-2::gamesession/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa/gs-1111aaaa-2222-3333-4444-5555bbbb66cc", "FleetId": "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa", "ComputeName": "62c5ff7f7a9a445d84877074c80aeafc", "Status": "ACTIVE", . . . } ] }Perhatikan
ComputeNamenilai dari respons (misalnya,62c5ff7f7a9a445d84877074c80aeafc). -
Dapatkan akses komputasi dan atribut kontainer. Panggil get-compute-accessdengan ID armada dan hitung nama.
Tanggapan tersebut mencakup bidang-bidang berikut:
ContainerIdentifiers— TheContainerNamedanContainerRuntimeIduntuk setiap wadah.GameServerContainerGroupDefinitionArn— ARN dari definisi grup kontainer.Credentials- Kredensi sementara untuk terhubung ke instance.
Permintaan
aws gamelift get-compute-access \ --fleet-id fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa \ --compute-name 62c5ff7f7a9a445d84877074c80aeafcRespons
{ "ComputeName": "62c5ff7f7a9a445d84877074c80aeafc", "ContainerIdentifiers": [ { "ContainerName": "game-server", "ContainerRuntimeId": "02accb92cd9bef3373300e7151d5c2b3dcca3b06eff1bb4e345085fc008d4678" } ], "Credentials": { "AccessKeyId": "ASIAIOSFODNN7EXAMPLE", "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "SessionToken": "AQoDYXdzEJr...<remainder of session token>" }, "FleetId": "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa", "GameServerContainerGroupDefinitionArn": "arn:aws:gamelift:us-west-2::containergroupdefinition/MyGameServerGroup" } -
Hubungkan ke instans. Gunakan kredensil dari langkah 2 untuk terhubung ke instance armada. Untuk petunjuk mendetail, lihat Connect ke instance armada.
-
Temukan nama wadah server game. Panggil describe-container-group-definitionmenggunakan
GameServerContainerGroupDefinitionArndari langkah 2 untuk mengidentifikasi nama kontainer server game.Permintaan
aws gamelift describe-container-group-definition \ --name arn:aws:gamelift:us-west-2::containergroupdefinition/MyGameServerGroupRespons
{ "ContainerGroupDefinition": { "ContainerGroupDefinitionArn": "arn:aws:gamelift:us-west-2:123456789012:containergroupdefinition/MyGameServerGroup:3", "Name": "MyGameServerGroup", "ContainerGroupType": "GAME_SERVER", "GameServerContainerDefinition": { "ContainerName": "game-server", . . . }, . . . } }Perhatikan
GameServerContainerDefinition.ContainerNamenilainya (misalnya,game-server). -
Identifikasi ID runtime kontainer server game. Menggunakan nama kontainer server game dari langkah sebelumnya, temukan entri yang cocok di
ContainerIdentifiersdariget-compute-accessrespons di langkah 2. PerhatikanContainerRuntimeIdnilainya. -
Connect ke wadah. Gunakan
ContainerRuntimeIdsebagai ID kontainer dan jalankan perintah berikut:sudo docker exec -it 02accb92cd9bef3373300e7151d5c2b3dcca3b06eff1bb4e345085fc008d4678 sh