

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Sesuaikan dengan solusi hosting game Anda
<a name="customize-solution-intro"></a>

Dengan solusi hosting game dasar, gunakan topik berikut untuk menyesuaikan dan meningkatkannya untuk meningkatkan pengalaman pemain, mengoptimalkan biaya, dan menambahkan fungsionalitas tingkat lanjut. Bagian ini mencakup berbagai opsi penyesuaian yang diatur oleh komponen yang terutama mereka pengaruhi. Pilih penyesuaian yang paling sesuai dengan kebutuhan game dan basis pemain Anda.

**Topik**
+ [Kustomisasi pembuatan server game](customize-game-server-builds.md)
  + [Hubungkan server game yang Amazon GameLift Servers di-host ke AWS sumber daya lain](gamelift-sdk-server-resources.md)
  + [Biarkan server game Anda mengakses data Amazon GameLift Servers armada](gamelift-sdk-server-fleetinfo.md)
  + [Siapkan VPC peering untuk Amazon GameLift Servers](vpc-peering.md)
+ [Sesi pemain dan penyesuaian perjodohan](customize-player-sessions-matchmaking.md)
  + [Hasilkan pemain IDs](player-sessions-player-identifiers.md)
  + [Tambahkan FlexMatch perjodohan ke Amazon GameLift Servers](gamelift-match-intro.md)
+ [Kustomisasi penempatan sesi game](customize-game-session-placement.md)
  + [Sesuaikan antrian sesi permainan](queues-design.md)
  + [Memprioritaskan penempatan sesi game](queues-design-priority.md)
  + [Membangun antrian untuk Instans Spot](spot-tasks.md)
+ [Kustomisasi sumber daya hosting](fleets-design.md)
  + [Pilih sumber daya komputasi untuk armada terkelola](gamelift-compute.md)
  + [Sesuaikan armada Amazon GameLift Servers kontainer](containers-design-fleet.md)
  + [Kurangi biaya hosting game dengan armada Spot](fleets-spot.md)
  + [Optimalkan konfigurasi runtime server game pada managed Amazon GameLift Servers](fleets-multiprocess.md)
  + [Bekerja dengan Amazon GameLift Servers Agen](integration-dev-iteration-agent.md)
  + [Abstrak penunjukan Amazon GameLift Servers armada dengan alias](aliases-intro.md)

# Kustomisasi pembuatan server game
<a name="customize-game-server-builds"></a>

Kustomisasi pembuatan server game menawarkan peluang untuk meningkatkan fungsionalitas ke server game, termasuk memanfaatkan layanan lain AWS . Kustomisasi ini memperluas kemampuan server game Anda di luar hosting dasar untuk mendukung fitur dan integrasi canggih.

# Hubungkan server game yang Amazon GameLift Servers di-host ke AWS sumber daya lain
<a name="gamelift-sdk-server-resources"></a>

Saat membuat build server game untuk penyebaran di Amazon GameLift Servers armada, Anda mungkin ingin aplikasi di build game Anda berkomunikasi secara langsung dan aman dengan AWS sumber daya lain yang Anda miliki. Karena Amazon GameLift Servers mengelola armada hosting game Anda, Anda harus memberikan akses Amazon GameLift Servers terbatas ke sumber daya dan layanan ini.

Beberapa contoh skenario meliputi: 
+ Gunakan CloudWatch agen Amazon untuk mengumpulkan metrik, log, dan jejak dari armada EC2 terkelola dan armada Anywhere.
+ Kirim data log instance ke Amazon CloudWatch Logs.
+ Dapatkan file game yang disimpan di bucket Amazon Simple Storage Service (Amazon S3).
+ Membaca dan menulis data game (seperti mode permainan atau inventaris) yang disimpan dalam database Amazon DynamoDB atau layanan penyimpanan data lainnya.
+ Kirim sinyal langsung ke instance menggunakan Amazon Simple Queue Service (Amazon SQS).
+ Akses sumber daya khusus yang digunakan dan dijalankan di Amazon Elastic Compute Cloud (Amazon EC2).

Amazon GameLift Serversmendukung metode ini untuk membangun akses:
+ [Akses AWS sumber daya dengan peran IAM](#gamelift-sdk-server-resources-roles)
+ [Akses AWS sumber daya dengan VPC peering](#gamelift-sdk-server-resources-vpc)

## Akses AWS sumber daya dengan peran IAM
<a name="gamelift-sdk-server-resources-roles"></a>

Gunakan peran IAM untuk menentukan siapa yang dapat mengakses sumber daya Anda dan menetapkan batasan pada akses tersebut. Pihak tepercaya dapat “mengambil” peran dan mendapatkan kredensil keamanan sementara yang memberi wewenang kepada mereka untuk berinteraksi dengan sumber daya. Ketika para pihak membuat permintaan API yang terkait dengan sumber daya, mereka harus menyertakan kredensialnya.

Untuk mengatur akses yang dikendalikan oleh peran IAM, lakukan tugas-tugas berikut: 

1. [Buat peran IAM](#gamelift-sdk-server-resources-roles-create)

1. [Memodifikasi aplikasi untuk memperoleh kredensional](#gamelift-sdk-server-resources-roles-apps)

1. [Kaitkan armada dengan peran IAM](#gamelift-sdk-server-resources-roles-fleet)

### Buat peran IAM
<a name="gamelift-sdk-server-resources-roles-create"></a>

Pada langkah ini, Anda membuat peran IAM, dengan serangkaian izin untuk mengontrol akses ke AWS sumber daya Anda dan kebijakan kepercayaan yang memberikan Amazon GameLift Servers hak untuk menggunakan izin peran tersebut.

Untuk petunjuk tentang cara mengatur peran IAM, lihat[Menyiapkan peran layanan IAM untuk Amazon GameLift Servers](setting-up-role.md). Saat membuat kebijakan izin, pilih layanan, sumber daya, dan tindakan tertentu yang perlu dikerjakan oleh aplikasi Anda. Sebagai praktik terbaik, batasi ruang lingkup izin sebanyak mungkin. 

Setelah Anda membuat peran, perhatikan nama sumber daya Amazon (ARN) peran tersebut. Anda membutuhkan peran ARN selama pembuatan armada.

### Memodifikasi aplikasi untuk memperoleh kredensional
<a name="gamelift-sdk-server-resources-roles-apps"></a>

Pada langkah ini, Anda mengonfigurasi aplikasi Anda untuk memperoleh kredensil keamanan untuk peran IAM dan menggunakannya saat berinteraksi dengan sumber daya Anda. AWS Lihat tabel berikut untuk menentukan cara memodifikasi aplikasi Anda berdasarkan (1) jenis aplikasi, dan (2) versi SDK server yang digunakan game Anda untuk berkomunikasiAmazon GameLift Servers.


|  | Aplikasi server game | Aplikasi lainnya | 
| --- | --- | --- | 
|  **Menggunakan server SDK versi 5.x**  |  Panggil metode SDK server `GetFleetRoleCredentials()` dari kode server game Anda.  |  Tambahkan kode ke aplikasi untuk menarik kredensional dari file bersama pada instance armada.  | 
|  **Menggunakan server SDK versi 4 atau sebelumnya**  |   Panggil AWS Security Token Service (AWS STS) `[AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)` dengan peran ARN.  |  Panggil AWS Security Token Service (AWS STS) `[AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)` dengan peran ARN.  | 

**catatan**  
Untuk armada kontainer, `FleetRoleArn` kredensi disuntikkan ke setiap wadah. Aplikasi Anda dapat menggunakan penyedia AWS kredensi default untuk mengakses kredensional ini. Anda masih dapat menelepon`GetFleetRoleCredentials()`, yang mengembalikan kredensi yang sama. Kredensi peran armada ini hanya dapat diakses di dalam kontainer.

Untuk game yang terintegrasi dengan server SDK 5.x, diagram ini menggambarkan bagaimana aplikasi dalam build game yang Anda gunakan dapat memperoleh kredensil untuk peran IAM.

![\[Panggilan game yang dapat dieksekusi. GetFleetRoleCredentials() File lain menggunakan kredenal bersama yang disimpan secara lokal.\]](http://docs.aws.amazon.com/id_id/gameliftservers/latest/developerguide/images/instance-role-creds_vsd.png)


#### Panggilan `GetFleetRoleCredentials()` (server SDK 5.x)
<a name="gamelift-sdk-server-resources-roles-apps-sdk5"></a>

Dalam kode server game Anda, yang seharusnya sudah terintegrasi dengan Amazon GameLift Servers server SDK 5.x, panggil `GetFleetRoleCredentials` ([C\$1\$1) ([C\$1](integration-server-sdk5-csharp-actions.md#integration-server-sdk5-csharp-getfleetrolecredentials)](integration-server-sdk5-cpp-actions.md#integration-server-sdk5-cpp-getfleetrolecredentials)) ([Unreal](integration-server-sdk5-unreal-actions.md#integration-server-sdk5-unreal-getfleetrolecredentials)) ([Go](integration-server-sdk-go-actions.md#integration-server-sdk-go-getfleetrolecredentials)) untuk mengambil satu set kredensi sementara. Saat kredensialnya kedaluwarsa, Anda dapat menyegarkannya dengan panggilan lain. `GetFleetRoleCredentials`

#### Gunakan kredenal bersama (server SDK 5.x)
<a name="gamelift-sdk-server-resources-roles-apps-sdk5-shared"></a>

Untuk aplikasi non-server yang digunakan dengan build server game menggunakan server SDK 5.x, tambahkan kode untuk mendapatkan dan menggunakan kredensil yang disimpan dalam file bersama. Amazon GameLift Serversmenghasilkan profil kredensional untuk setiap instance armada. Kredensialnya tersedia untuk digunakan oleh semua aplikasi pada instance. Amazon GameLift Serversterus menyegarkan kredensi sementara.

Anda harus mengonfigurasi armada untuk menghasilkan file kredensi bersama pada pembuatan armada.

Di setiap aplikasi yang perlu menggunakan file kredensi bersama, tentukan lokasi file dan nama profil, sebagai berikut: 

Windows:

```
[credentials]
shared_credential_profile= "FleetRoleCredentials"
shared_credential_file= "C:\\Credentials\\credentials"
```

Linux:

```
[credentials]
shared_credential_profile= "FleetRoleCredentials"
shared_credential_file= "/local/credentials/credentials"
```

**Contoh: Siapkan CloudWatch agen untuk mengumpulkan metrik untuk instance Amazon GameLift Servers armada**

Jika Anda ingin menggunakan CloudWatch agen Amazon untuk mengumpulkan metrik, log, dan jejak dari Amazon GameLift Servers armada Anda, gunakan metode ini untuk mengotorisasi agen agar memancarkan data ke akun Anda. Dalam skenario ini, ambil langkah-langkah berikut:

1. Ambil atau tulis `config.json` file CloudWatch agen.

1. Perbarui `common-config.toml` file untuk agen untuk mengidentifikasi nama file kredensional dan nama profil, seperti dijelaskan di atas.

1. Siapkan skrip instalasi build server game Anda untuk menginstal dan memulai CloudWatch agen.

#### Gunakan `AssumeRole()` (server SDK 4)
<a name="gamelift-sdk-server-resources-roles-apps-sdk4"></a>

Tambahkan kode ke aplikasi Anda untuk mengambil peran IAM dan mendapatkan kredensi untuk berinteraksi dengan sumber daya Anda. AWS Setiap aplikasi yang berjalan pada instance Amazon GameLift Servers armada dengan server SDK 4 atau sebelumnya dapat mengambil peran IAM. 

Dalam kode aplikasi, sebelum mengakses AWS sumber daya, aplikasi harus memanggil operasi `[AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)` API AWS Security Token Service (AWS STS) dan menentukan peran ARN. Operasi ini mengembalikan satu set kredensi sementara yang mengotorisasi aplikasi untuk mengakses sumber daya. AWS Untuk informasi selengkapnya, lihat [Menggunakan kredensil sementara dengan AWS sumber daya](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html) di Panduan Pengguna *IAM*.

### Kaitkan armada dengan peran IAM
<a name="gamelift-sdk-server-resources-roles-fleet"></a>

Setelah Anda membuat peran IAM dan memperbarui aplikasi di build server game Anda untuk mendapatkan dan menggunakan kredenal akses, Anda dapat menerapkan armada. Saat Anda mengonfigurasi armada baru, atur parameter berikut.

Untuk armada kontainer:
+  [FleetRoleArn](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_CreateContainerFleet.html#gameliftservers-CreateContainerFleet-request-FleetRoleArn)— Atur parameter ini ke ARN dari peran IAM.

Untuk jenis armada lainnya:
+  [ InstanceRoleArn](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_FleetAttributes.html#gamelift-Type-FleetAttributes-InstanceRoleArn)— Atur parameter ini ke ARN dari peran IAM.
+  [ InstanceRoleCredentialsProvider](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_FleetAttributes.html#gamelift-Type-FleetAttributes-InstanceRoleCredentialsProvider)— Untuk meminta Amazon GameLift Servers untuk menghasilkan file kredensi bersama untuk setiap instance armada, setel parameter ini ke. `SHARED_CREDENTIAL_FILE`

Anda harus menetapkan nilai-nilai ini ketika Anda membuat armada. Mereka tidak dapat diperbarui nanti.

## Akses AWS sumber daya dengan VPC peering
<a name="gamelift-sdk-server-resources-vpc"></a>

Anda dapat menggunakan peering Amazon Virtual Private Cloud (Amazon VPC) untuk berkomunikasi antara aplikasi yang berjalan pada Amazon GameLift Servers instans dan sumber daya lain. AWS VPC adalah jaringan pribadi virtual yang Anda tentukan yang mencakup serangkaian sumber daya yang dikelola melalui Anda. Akun AWS Setiap Amazon GameLift Servers armada memiliki VPC sendiri. Dengan VPC peering, Anda dapat membuat koneksi jaringan langsung antara VPC untuk armada Anda dan sumber daya lainnya. AWS 

Amazon GameLift Serversmerampingkan proses pengaturan koneksi peering VPC untuk server game Anda. Ini menangani permintaan peering, update tabel rute, dan mengkonfigurasi connection yang diperlukan. Untuk petunjuk tentang cara mengatur peering VPC untuk server game Anda, lihat. [Siapkan VPC peering untuk Amazon GameLift Servers](vpc-peering.md)

**catatan**  
Pengintip VPC tidak didukung untuk armada kontainer.

# Biarkan server game Anda mengakses data Amazon GameLift Servers armada
<a name="gamelift-sdk-server-fleetinfo"></a>

Ada beberapa situasi di mana pembuatan atau Amazon GameLift Servers Realtime skrip game kustom Anda mungkin memerlukan informasi tentang Amazon GameLift Servers armada. Misalnya, bangunan atau skrip game Anda mungkin menyertakan kode untuk:
+ Memantau aktivitas berdasarkan data armada.
+ Gulung metrik untuk melacak aktivitas berdasarkan data armada. (Banyak game menggunakan data ini untuk LiveOps kegiatan.)
+ Berikan data yang relevan ke layanan game khusus, seperti untuk perjodohan, penskalaan kapasitas tambahan, atau pengujian.

Informasi armada tersedia sebagai file JSON pada setiap instans di lokasi-lokasi berikut:
+ Windows: `C:\GameMetadata\gamelift-metadata.json`
+ Linux: `/local/gamemetadata/gamelift-metadata.json`

`gamelift-metadata.json`File tersebut mencakup [atribut sumber daya Amazon GameLift Servers armada](https://docs.aws.amazon.com/gamelift/latest/apireference/API_FleetAttributes.html).

Contoh file JSON:

```
{
    "buildArn":"arn:aws:gamelift:us-west-2:123456789012:build/build-1111aaaa-22bb-33cc-44dd-5555eeee66ff",
    "buildId":"build-1111aaaa-22bb-33cc-44dd-5555eeee66ff",
    "fleetArn":"arn:aws:gamelift:us-west-2:123456789012:fleet/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa",
    "fleetDescription":"Test fleet for Really Fun Game v0.8",
    "fleetId":"fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa",
    "name":"ReallyFunGameTestFleet08",
    "fleetType":"ON_DEMAND",
    "instanceRoleArn":"arn:aws:iam::123456789012:role/S3AccessForGameLift",
    "instanceType":"c5.large",
    "serverLaunchPath":"/local/game/reallyfungame.exe"
}
```

# Siapkan VPC peering untuk Amazon GameLift Servers
<a name="vpc-peering"></a>

Topik ini memberikan panduan tentang cara mengatur koneksi peering VPC antara server game Amazon GameLift Servers -host Anda dan non-sumber daya Anda lainnya. Amazon GameLift Servers Gunakan koneksi peering Amazon Virtual Private Cloud (VPC) untuk memungkinkan server game Anda berkomunikasi secara langsung dan pribadi dengan AWS sumber daya Anda yang lain, seperti layanan web atau repositori. Anda dapat membuat peering VPC dengan sumber daya apa pun yang berjalan AWS dan dikelola oleh AWS akun yang dapat Anda akses.

**catatan**  
Peering VPC adalah fitur lanjutan. Untuk mempelajari tentang opsi pilihan untuk memungkinkan server game Anda berkomunikasi secara langsung dan pribadi dengan AWS sumber daya Anda yang lain, lihat. [Hubungkan server game yang Amazon GameLift Servers di-host ke AWS sumber daya lain](gamelift-sdk-server-resources.md)

Jika Anda sudah terbiasa dengan peering Amazon VPCs dan VPC, pahamilah bahwa mengatur peering dengan server Amazon GameLift Servers game agak berbeda. Anda tidak memiliki akses ke VPC yang berisi server game Anda—itu dikendalikan oleh Amazon GameLift Servers layanan—sehingga Anda tidak dapat langsung meminta VPC mengintip untuk itu. Sebagai gantinya, Anda terlebih dahulu melakukan pra-otorisasi VPC dengan Amazon GameLift Servers non-sumber daya Anda untuk menerima permintaan peering dari layanan. Amazon GameLift Servers Kemudian Anda memicu Amazon GameLift Servers untuk meminta pengintip VPC yang baru saja Anda otorisasi. Amazon GameLift Serversmenangani tugas-tugas membuat koneksi peering, mengatur tabel rute, dan mengkonfigurasi koneksi.

## Menyiapkan peering VPC untuk armada yang sudah ada
<a name="vpc-peering-existing"></a>

1. 

**Dapatkan ID AWS akun dan kredensil.**

   Anda memerlukan ID dan kredensi masuk untuk akun berikut. AWS Anda dapat menemukan AWS akun IDs dengan masuk ke [Konsol Manajemen AWS](https://console.aws.amazon.com/)dan melihat pengaturan akun Anda. Untuk mendapatkan kredensial, buka konsol IAM.
   + AWS akun yang Anda gunakan untuk mengelola server Amazon GameLift Servers game Anda.
   + AWS akun yang Anda gunakan untuk mengelola Amazon GameLift Servers non-sumber daya Anda. 

   Jika Anda menggunakan akun yang sama untuk Amazon GameLift Servers dan Amazon GameLift Servers non-sumber daya, Anda memerlukan ID dan kredensional untuk akun itu saja.

1. 

**Dapatkan pengenal untuk setiap VPC.**

   Dapatkan informasi berikut untuk keduanya yang akan VPCs diintip: 
   + VPC untuk server Amazon GameLift Servers game Anda — Ini adalah ID Amazon GameLift Servers armada Anda. Server game Anda dikerahkan Amazon GameLift Servers pada armada instans EC2. Armada secara otomatis ditempatkan di VPC sendiri, yang dikelola oleh layanan. Amazon GameLift Servers Anda tidak memiliki akses langsung ke VPC, sehingga diidentifikasi oleh ID armada. 
   + VPC untuk Amazon GameLift Servers AWS non-sumber daya Anda — Anda dapat membuat VPC mengintip dengan sumber daya apa pun yang berjalan AWS dan dikelola oleh AWS akun yang dapat Anda akses. Jika Anda belum membuat VPC untuk sumber daya ini, lihat [Memulai Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/getting-started-ipv4.html). Setelah Anda membuat VPC, Anda dapat menemukan ID VPC dengan masuk ke VPC for [Konsol Manajemen AWS](https://console.aws.amazon.com/)Amazon dan melihat VPC Anda. VPCs
**catatan**  
Saat mengatur peering, keduanya VPCs harus ada di wilayah yang sama. VPC untuk server game Amazon GameLift Servers armada Anda berada di wilayah yang sama dengan armada.

1. 

**Mengotorisasi peering VPC.**

   Pada langkah ini, Anda melakukan pra-otorisasi permintaan future dari Amazon GameLift Servers untuk mengintip VPC dengan server game Anda dengan VPC Anda untuk non-sumber daya. Amazon GameLift Servers Tindakan ini memperbarui grup keamanan untuk VPC Anda.

   Untuk mengotorisasi peering VPC, panggil layanan [ CreateVpcPeeringAuthorizationAPI (](https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreateVpcPeeringAuthorization.html)) atau gunakan perintah CLI. AWS `create-vpc-peering-authorization` Lakukan panggilan ini menggunakan akun yang mengelola Amazon GameLift Servers non-sumber daya Anda. Tentukan informasi berikut:
   + ID VPC Peer — Ini untuk VPC dengan non-sumber daya Anda. Amazon GameLift Servers
   + Amazon GameLift Servers AWS ID akun — Ini adalah akun yang Anda gunakan untuk mengelola Amazon GameLift Servers armada Anda. 

   Setelah Anda mengesahkan peering VPC, otorisasi tetap berlaku selama 24 jam kecuali dicabut. Anda dapat mengelola otorisasi peering VPC menggunakan operasi berikut:
   + [DescribeVpcPeeringAuthorizations()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeVpcPeeringAuthorizations.html) (AWS CLI`describe-vpc-peering-authorizations`).
   + [DeleteVpcPeeringAuthorization()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DeleteVpcPeeringAuthorization.html) (AWS CLI`delete-vpc-peering-authorization`).

1. 

**Meminta koneksi peering.**

   Dengan otorisasi yang valid, Anda dapat meminta itu Amazon GameLift Servers membuat koneksi peering.

   Untuk meminta peering VPC, panggil layanan API [CreateVpcPeeringConnection()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreateVpcPeeringConnection.html) atau gunakan perintah CLI AWS . `create-vpc-peering-connection` Lakukan panggilan ini menggunakan akun yang mengelola server Amazon GameLift Servers game Anda. Gunakan informasi berikut untuk mengidentifikasi dua VPCs yang ingin Anda peer:
   + ID VPC rekan AWS dan ID akun — Ini adalah VPC untuk Amazon GameLift Servers non-sumber daya Anda dan akun yang Anda gunakan untuk mengelolanya. ID VPC harus sesuai dengan ID pada otorisasi peering yang valid. 
   + Fleet ID — Ini mengidentifikasi VPC untuk server game Amazon GameLift Servers Anda.

1. 

**Lacak status koneksi peering.**

   Meminta koneksi peering VPC adalah operasi asynchronous. Untuk melacak status permintaan peering dan menangani kasus sukses atau gagal, gunakan salah satu opsi berikut:
   + Polling terus menerus dengan `DescribeVpcPeeringConnections()`. Operasi ini mengambil catatan koneksi peering VPC, termasuk status permintaan. Jika koneksi peering berhasil dibuat, catatan koneksi juga berisi blok CIDR dari alamat IP privat yang ditetapkan ke VPC.
   + Menangani peristiwa armada yang terkait dengan koneksi peering VPC dengan [DescribeFleetEvents()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetEvents.html), termasuk peristiwa keberhasilan dan kegagalan. 

Setelah koneksi peering dibuat, Anda dapat mengelolanya menggunakan operasi berikut:
+ [DescribeVpcPeeringConnections()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeVpcPeeringConnections.html) (AWS CLI`describe-vpc-peering-connections`).
+ [DeleteVpcPeeringConnection()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DeleteVpcPeeringConnection.html) (AWS CLI`delete-vpc-peering-connection`).

## Mengatur peering VPC dengan armada baru
<a name="fleets-creating-aws-cli-vpc"></a>

Anda dapat membuat Amazon GameLift Servers armada baru dan meminta koneksi peering VPC secara bersamaan. 

1. 

**Dapatkan ID AWS akun dan kredensil.**

   Anda memerlukan ID dan kredensi masuk untuk dua akun berikut. AWS Anda dapat menemukan AWS akun IDs dengan masuk ke [Konsol Manajemen AWS](https://console.aws.amazon.com/)dan melihat pengaturan akun Anda. Untuk mendapatkan kredensial, buka konsol IAM.
   + AWS akun yang Anda gunakan untuk mengelola server Amazon GameLift Servers game Anda.
   + AWS akun yang Anda gunakan untuk mengelola Amazon GameLift Servers non-sumber daya Anda. 

   Jika Anda menggunakan akun yang sama untuk Amazon GameLift Servers dan Amazon GameLift Servers non-sumber daya, Anda memerlukan ID dan kredensional untuk akun itu saja.

1. 

**Dapatkan ID VPC untuk Amazon GameLift Servers AWS non-sumber daya Anda.**

   Jika Anda belum membuat VPC untuk sumber daya ini, lakukan sekarang (lihat [Memulai dengan Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/getting-started-ipv4.html)). Pastikan bahwa Anda membuat VPC baru di wilayah yang sama dengan tempat Anda berencana untuk membuat armada baru Anda. Jika Amazon GameLift Servers non-sumber daya Anda dikelola di bawah AWS akun atau user/user grup yang berbeda dari yang Anda gunakanAmazon GameLift Servers, Anda harus menggunakan kredensi akun ini saat meminta otorisasi pada langkah berikutnya. 

   Setelah Anda membuat VPC, Anda dapat menemukan ID VPC di konsol VPC Amazon dengan melihat. VPCs

1. 

**Otorisasi VPC mengintip dengan non-sumber daya. Amazon GameLift Servers**

   Saat Amazon GameLift Servers membuat armada baru dan VPC yang sesuai, itu juga mengirimkan permintaan untuk mengintip VPC untuk non-sumber daya Anda. Amazon GameLift Servers Anda harus melakukan pra-otorisasi permintaan tersebut. Langkah ini memperbarui grup keamanan untuk VPC Anda.

   Dengan menggunakan kredensi akun yang mengelola Amazon GameLift Servers non-resource Anda, panggil service API [ CreateVpcPeeringAuthorization()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreateVpcPeeringAuthorization.html) atau gunakan perintah CLI AWS . `create-vpc-peering-authorization` Tentukan informasi berikut:
   + ID VPC Peer — ID VPC dengan non-sumber daya Anda. Amazon GameLift Servers
   + Amazon GameLift Servers AWS ID akun — ID akun yang Anda gunakan untuk mengelola Amazon GameLift Servers armada Anda. 

   Setelah Anda mengesahkan peering VPC, otorisasi tetap berlaku selama 24 jam kecuali dicabut. Anda dapat mengelola otorisasi peering VPC menggunakan operasi berikut:
   + [DescribeVpcPeeringAuthorizations()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeVpcPeeringAuthorizations.html) (AWS CLI`describe-vpc-peering-authorizations`).
   + [DeleteVpcPeeringAuthorization()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DeleteVpcPeeringAuthorization.html) (AWS CLI`delete-vpc-peering-authorization`).

1. Ikuti instruksi untuk [membuat armada baru menggunakan AWS CLI](fleets-creating.md). Sertakan parameter tambahan berikut:
   + *peer-vpc-aws-account-id* — ID untuk akun yang Anda gunakan untuk mengelola VPC dengan Amazon GameLift Servers non-sumber daya Anda.
   + *peer-vpc-id*— ID VPC dengan Amazon GameLift Servers non-akun Anda.

Panggilan yang berhasil ke [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/gamelift/create-fleet.html) dengan parameter peering VPC menghasilkan armada baru dan permintaan peering VPC baru. Status armada diatur ke **Baru** dan proses aktivasi armada dimulakan. Status permintaan koneksi peering diatur ke **initiating-request**. Anda dapat melacak keberhasilan atau kegagalan permintaan peering dengan menelepon [describe-vpc-peering-connections](https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-vpc-peering-connections.html).

Saat meminta armada baru dan koneksi peering VPC, kedua tindakan tersebut bisa berhasil atau gagal. Jika armada gagal selama proses pembuatan, koneksi peering VPC tidak akan dibuat. Demikian juga, jika koneksi peering VPC gagal karena alasan apa pun, armada baru akan gagal berpindah dari status **Mengaktifkan** ke **Aktif**.

**catatan**  
Koneksi peering VPC baru tidak selesai sampai armada untuk aktif. Artinya koneksi tidak tersedia dan tidak dapat digunakan selama proses instalasi bangunan server game.

Contoh berikut membuat armada baru dan koneksi peering antara VPC yang telah dibuat sebelumnya dan VPC untuk armada baru. VPC yang telah ditetapkan sebelumnya diidentifikasi secara unik dengan kombinasi ID Amazon GameLift Servers AWS non-akun Anda dan ID VPC. 

```
$ AWS gamelift create-fleet
    --name "My_Fleet_1"
    --description "The sample test fleet"
    --ec2-instance-type "c5.large"
    --fleet-type "ON_DEMAND"
    --build-id "build-1111aaaa-22bb-33cc-44dd-5555eeee66ff"
    --runtime-configuration "GameSessionActivationTimeoutSeconds=300,
                             MaxConcurrentGameSessionActivations=2,
                             ServerProcesses=[{LaunchPath=C:\game\Bin64.dedicated\MultiplayerSampleProjectLauncher_Server.exe,
                                               Parameters=+sv_port 33435 +start_lobby,
                                               ConcurrentExecutions=10}]"
    --new-game-session-protection-policy "FullProtection"
    --resource-creation-limit-policy "NewGameSessionsPerCreator=3,
                                      PolicyPeriodInMinutes=15"
    --ec2-inbound-permissions "FromPort=33435,ToPort=33435,IpRange=0.0.0.0/0,Protocol=UDP" 
                              "FromPort=33235,ToPort=33235,IpRange=0.0.0.0/0,Protocol=UDP"
    --metric-groups  "EMEAfleets"
    --peer-vpc-aws-account-id "111122223333"
    --peer-vpc-id "vpc-a11a11a"
```

*Versi yang dapat disalin:*

```
AWS gamelift create-fleet --name "My_Fleet_1" --description "The sample test fleet" --fleet-type "ON_DEMAND" --metric-groups "EMEAfleets" --build-id "build-1111aaaa-22bb-33cc-44dd-5555eeee66ff" --ec2-instance-type "c5.large" --runtime-configuration "GameSessionActivationTimeoutSeconds=300,MaxConcurrentGameSessionActivations=2,ServerProcesses=[{LaunchPath=C:\game\Bin64.dedicated\MultiplayerSampleProjectLauncher_Server.exe,Parameters=+sv_port 33435 +start_lobby,ConcurrentExecutions=10}]" --new-game-session-protection-policy "FullProtection" --resource-creation-limit-policy "NewGameSessionsPerCreator=3,PolicyPeriodInMinutes=15" --ec2-inbound-permissions "FromPort=33435,ToPort=33435,IpRange=0.0.0.0/0,Protocol=UDP" "FromPort=33235,ToPort=33235,IpRange=0.0.0.0/0,Protocol=UDP" --peer-vpc-aws-account-id "111122223333" --peer-vpc-id "vpc-a11a11a"
```

## Memecahkan masalah peering VPC
<a name="vpc-peering-troubleshooting"></a>

Jika Anda mengalami kesulitan membuat koneksi peering VPC untuk server Amazon GameLift Servers game Anda, pertimbangkan akar penyebab umum ini: 
+ Otorisasi untuk koneksi yang diminta tidak ditemukan: 
  + Periksa status otorisasi VPC untuk non-VPC. Amazon GameLift Servers Mungkin tidak ada atau mungkin sudah kedaluwarsa.
  + Periksa wilayah dari dua yang VPCs Anda coba peer. Jika mereka tidak berada di wilayah yang sama, mereka tidak dapat di-peer. 
+ Blok CIDR (lihat [Konfigurasi koneksi peering VPC yang tidak valid](https://docs.aws.amazon.com/vpc/latest/peering/invalid-peering-configurations.html#overlapping-cidr)) dari keduanya tumpang tindih. VPCs Blok IPv4 CIDR yang ditugaskan ke peered tidak VPCs dapat tumpang tindih. Blok CIDR VPC untuk armada Amazon GameLift Servers Anda secara otomatis ditetapkan dan tidak dapat diubah, jadi Anda harus mengubah blok CIDR untuk VPC untuk non-sumber daya Anda. Amazon GameLift Servers Untuk menyelesaikan masalah ini: 
  + Cari blok CIDR ini untuk Amazon GameLift Servers armada Anda dengan menelepon`DescribeVpcPeeringConnections()`.
  + Buka konsol VPC Amazon, temukan VPC untuk Amazon GameLift Servers non-sumber daya Anda, dan ubah blok CIDR agar tidak tumpang tindih.
+ Armada baru tidak aktif (saat meminta peering VPC dengan armada baru). Jika armada baru gagal menjadi **Aktif**, tidak ada VPC untuk di-peer, sehingga koneksi peering tidak berhasil.

# Sesi pemain dan penyesuaian perjodohan
<a name="customize-player-sessions-matchmaking"></a>

Sesi pemain dan penyesuaian perjodohan memberi Anda kesempatan untuk mengembangkan alur kerja manajemen pemain yang canggih, termasuk sistem perjodohan bernuansa yang membantu Anda memberikan pengalaman multipemain yang seimbang dan menarik.

# Hasilkan pemain IDs
<a name="player-sessions-player-identifiers"></a>

Amazon GameLift Serversmenggunakan sesi pemain untuk mewakili pemain yang terhubung ke sesi permainan. Amazon GameLift Serversmembuat sesi pemain setiap kali pemain terhubung ke sesi permainan menggunakan klien game yang terintegrasi dengannyaAmazon GameLift Servers. Ketika seorang pemain meninggalkan permainan, sesi pemain berakhir. Amazon GameLift Serverstidak menggunakan kembali sesi pemain.

**penting**  
Saat menggunakan FlexMatch perjodohan, jika Anda membuat permintaan perjodohan baru yang berisi ID pemain yang sudah disertakan dalam permintaan perjodohan aktif yang ada, permintaan yang ada akan dibatalkan secara otomatis. Namun, `MatchmakingCancelled` acara tidak dikirim untuk permintaan yang dibatalkan. Untuk memantau status permintaan perjodohan yang ada, gunakan [DescribeMatchmaking](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeMatchmaking.html)untuk melakukan polling status permintaan pada interval yang jarang (30-60 detik). Permintaan yang dibatalkan akan menunjukkan status `CANCELLED` dengan `Cancelled due to duplicate player` alasannya.

Contoh kode berikut secara acak menghasilkan pemain IDs unik:

```
bool includeBrackets = false;
bool includeDashes = true;
string playerId = AZ::Uuid::CreateRandom().ToString<string>(includeBrackets, includeDashes);
```

Untuk informasi selengkapnya tentang sesi pemain, lihat[Sesi permainan dan pemain di Amazon GameLift Servers konsol](gamelift-console-game-player-sessions-metrics.md).

# Tambahkan FlexMatch perjodohan ke Amazon GameLift Servers
<a name="gamelift-match-intro"></a>

Gunakan Amazon GameLift Servers FlexMatch untuk menambahkan fungsionalitas perjodohan pemain ke game yang Anda Amazon GameLift Servers host. Anda dapat menggunakan FlexMatch dengan server game khusus atau Amazon GameLift ServersRealtime. 

FlexMatchmemasangkan layanan perjodohan dengan mesin aturan yang dapat disesuaikan. Anda merancang cara mencocokkan pemain berdasarkan atribut pemain dan mode permainan yang masuk akal untuk permainan Anda. FlexMatchmengelola mur dan baut mengevaluasi pemain yang mencari permainan, membentuk pertandingan dengan satu atau lebih tim, dan memulai sesi permainan untuk menjadi tuan rumah pertandingan. 

Untuk menggunakan FlexMatch layanan penuh, Anda harus menyiapkan sumber daya hosting Anda dengan antrian. Amazon GameLift Serversmenggunakan antrian untuk menemukan lokasi hosting terbaik untuk game di berbagai wilayah dan jenis komputasi. Secara khusus, Amazon GameLift Servers antrian dapat menggunakan data latensi, ketika disediakan oleh klien game, untuk menempatkan sesi permainan sehingga pemain mengalami latensi serendah mungkin saat bermain.

Untuk informasi selengkapnya tentang FlexMatch menyertakan bantuan mendetail dalam mengintegrasikan perjodohan ke dalam game Anda, lihat topik Panduan [Amazon GameLift ServersFlexMatchPengembang ini:](https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/)
+ [Bagaimana cara Amazon GameLift ServersFlexMatch kerja](https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-intro.html)
+ [FlexMatchlangkah-langkah integrasi](https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-tasks.html)

# Kustomisasi penempatan sesi game
<a name="customize-game-session-placement"></a>

Kustomisasi penempatan sesi permainan memberi Anda kesempatan untuk menyempurnakan sistem penempatan Anda untuk memberikan pengalaman gameplay terbaik bagi basis pemain Anda. Anda dapat mengoptimalkan penempatan untuk kompatibilitas dan preferensi pemain, serta untuk pertimbangan operasional seperti efisiensi biaya, distribusi geografis, dan ketahanan terhadap gangguan layanan.

# Sesuaikan antrian sesi permainan
<a name="queues-design"></a>

Topik ini menjelaskan cara menyesuaikan antrian sesi permainan Anda untuk membuat keputusan terbaik tentang penempatan sesi game. Untuk informasi lebih lanjut tentang antrian sesi permainan dan cara kerjanya, lihat. [Konfigurasikan penempatan sesi game](queues-intro.md)

Amazon GameLift ServersFitur-fitur ini membutuhkan antrian:
+ [Perjodohan dengan FlexMatch](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-tasks.html)
+ [Membangun antrian untuk Instans Spot](spot-tasks.md)

**Topics**
+ [Tentukan ruang lingkup antrian](queues-design-scope.md)
+ [Membangun antrian multi-lokasi](queues-design-multiregion.md)
+ [Evaluasi metrik antrean](queues-design-metrics.md)

# Tentukan ruang lingkup antrian
<a name="queues-design-scope"></a>

Populasi pemain game Anda mungkin memiliki kelompok pemain yang tidak boleh bermain bersama. Misalnya, jika Anda mempublikasikan game Anda dalam dua bahasa, setiap bahasa harus memiliki server game sendiri.

Untuk mengatur penempatan sesi permainan untuk populasi pemain Anda, buat antrian terpisah untuk setiap segmen pemain. Lingkup setiap antrian untuk menempatkan pemain ke server game yang benar. Beberapa cara umum untuk lingkup antrian meliputi:
+ **Berdasarkan lokasi geografis.** Saat menerapkan server game Anda di beberapa area geografis, Anda dapat membuat antrian untuk pemain di setiap lokasi untuk mengurangi latensi pemain.
+ **Dengan variasi build atau script.** Jika Anda memiliki lebih dari satu variasi server game, Anda mungkin mendukung grup pemain yang tidak dapat bermain dalam sesi game yang sama. Misalnya, build atau skrip server game mungkin mendukung berbagai bahasa atau jenis perangkat.
+ **Berdasarkan jenis acara.** Anda dapat membuat antrean khusus untuk mengelola game bagi peserta dalam turnamen atau kejadian khusus lainnya. 

## Desain beberapa antrian
<a name="queues-design-players"></a>

Tergantung pada permainan dan pemain Anda, Anda mungkin ingin membuat lebih dari satu antrian sesi permainan. Ketika layanan client game Anda meminta sesi game baru, itu menentukan antrean sesi game mana yang akan digunakan. Untuk membantu Anda menentukan apakah akan menggunakan beberapa antrian, pertimbangkan:
+ Variasi server game Anda. Anda dapat membuat antrian terpisah untuk setiap variasi server game Anda. Semua armada dalam antrian harus menyebarkan server game yang kompatibel. Ini karena pemain yang menggunakan antrian untuk bergabung dengan game harus dapat bermain di server game antrian mana pun.
+ Kelompok pemain yang berbeda. Anda dapat menyesuaikan cara Amazon GameLift Servers menempatkan sesi permainan berdasarkan grup pemain. Misalnya, Anda mungkin memerlukan antrean yang disesuaikan untuk mode game tertentu yang memerlukan tipe instans atau konfigurasi waktu aktif khusus. Atau, Anda mungkin ingin antrian khusus untuk mengelola penempatan untuk turnamen atau acara lainnya.
+ Metrik antrian sesi permainan. Anda dapat mengatur antrian berdasarkan cara Anda ingin mengumpulkan metrik penempatan sesi game. Untuk informasi selengkapnya, lihat [Amazon GameLift Serversmetrik untuk antrian](monitoring-cloudwatch.md#gamelift-metrics-queue).

# Membangun antrian multi-lokasi
<a name="queues-design-multiregion"></a>

Kami merekomendasikan desain multilokasi untuk semua antrean. Desain ini dapat meningkatkan kecepatan penempatan dan ketahanan hosting. Desain multi-lokasi diperlukan untuk menggunakan data latensi pemain untuk menempatkan pemain ke sesi permainan dengan latensi minimal. Jika Anda membangun antrian multi-lokasi yang menggunakan armada Spot Instance, ikuti petunjuknya. [Kurangi biaya hosting game dengan armada Spot](fleets-spot.md)

Salah satu cara untuk membuat antrian multi-lokasi adalah dengan menambahkan [armada multi-lokasi](gamelift-regions.md#gamelift-regions-hosting) ke antrian. Dengan begitu, antrian dapat menempatkan sesi permainan di salah satu lokasi armada. Anda juga dapat menambahkan armada lain dengan konfigurasi berbeda atau lokasi rumah untuk redundansi. Jika Anda menggunakan armada Instans Spot multi-lokasi, ikuti praktik terbaik dan sertakan armada Instans Sesuai Permintaan dengan lokasi yang sama.

Contoh berikut menguraikan proses merancang antrian multi-lokasi dasar. Dalam contoh ini, kita menggunakan dua armada: satu armada Instans Spot dan satu armada Instance On-Demand. Setiap armada memiliki yang berikut Wilayah AWS untuk lokasi penempatan:`us-east-1`,`us-east-2`,`ca-central-1`, dan`us-west-2`.

**Untuk membuat antrian multi-lokasi dasar dengan armada multi-lokasi**

1. Pilih lokasi untuk membuat antrian. Anda dapat meminimalkan latensi permintaan dengan menempatkan antrian di lokasi dekat tempat Anda menerapkan layanan klien. Dalam contoh ini, kita membuat antrian di`us-east-1`.

1. Buat antrian baru dan tambahkan armada multi-lokasi Anda sebagai tujuan antrian. Urutan tujuan menentukan bagaimana Amazon GameLift Servers menempatkan sesi game. Dalam contoh ini, kami mencantumkan armada Spot Instance terlebih dahulu dan armada Instance On-Demand kedua.

1. Tentukan urutan prioritas penempatan sesi permainan antrian. Urutan ini menentukan di mana antrian mencari server game yang tersedia terlebih dahulu. Dalam contoh ini, kita menggunakan urutan prioritas default.

1. Tentukan urutan lokasi. Jika Anda tidak menentukan urutan lokasi, Amazon GameLift Servers gunakan lokasi dalam urutan abjad.

![\[Tangkapan layar konsol yang menggambarkan lokasi antrian contoh dan urutan tujuan.\]](http://docs.aws.amazon.com/id_id/gameliftservers/latest/developerguide/images/queue-multi-location-1.png)


![\[Tangkapan layar konsol yang menggambarkan prioritas penempatan antrian contoh dan urutan Lokasi.\]](http://docs.aws.amazon.com/id_id/gameliftservers/latest/developerguide/images/queue-multi-location-2.png)


# Evaluasi metrik antrean
<a name="queues-design-metrics"></a>

Gunakan metrik untuk mengevaluasi seberapa baik performa antrean Anda. Anda dapat melihat metrik yang terkait dengan antrian di [Amazon GameLift Servers konsol ](https://console.aws.amazon.com/gamelift) atau di Amazon CloudWatch. Untuk daftar dan deskripsi metrik antrian, lihat. [Amazon GameLift Serversmetrik untuk antrian](monitoring-cloudwatch.md#gamelift-metrics-queue)

Metrik antrian dapat memberikan wawasan tentang hal-hal berikut:
+ **Performa antrian keseluruhan** — Metrik antrian menunjukkan seberapa berhasil antrian merespons permintaan penempatan. Metrik ini juga dapat membantu Anda mengidentifikasi kapan dan mengapa penempatan gagal. Untuk antrian dengan armada yang diskalakan secara manual, `QueueDepth` metrik `AverageWaitTime` dan dapat menunjukkan kapan Anda harus menyesuaikan kapasitas antrian.
+ **FleetIQ kinerja algoritma ** — Untuk permintaan penempatan menggunakan FleetIQ algoritma, metrik menunjukkan seberapa sering algoritma menemukan penempatan sesi permainan yang ideal. Penempatan dapat memprioritaskan penggunaan sumber daya dengan latensi pemain terendah atau sumber daya dengan biaya terendah. Ada juga metrik kesalahan yang mengidentifikasi alasan umum mengapa Amazon GameLift Servers tidak dapat menemukan penempatan yang ideal. Untuk informasi lebih lanjut tentang metrik, lihat [Monitor Amazon GameLift Servers dengan Amazon CloudWatch](monitoring-cloudwatch.md).
+ **Penempatan spesifik lokasi** — Untuk antrian multi-lokasi, metrik menunjukkan penempatan yang berhasil berdasarkan lokasi. Untuk antrian yang menggunakan FleetIQ algoritma, data ini memberikan wawasan yang berguna tentang di mana aktivitas pemain terjadi.

Saat mengevaluasi metrik untuk FleetIQ kinerja algoritma, pertimbangkan tips berikut:
+ Untuk melacak tingkat antrian menemukan penempatan yang ideal, gunakan `PlacementsSucceeded` metrik dalam kombinasi dengan FleetIQ metrik untuk latensi terendah dan harga terendah.
+ Untuk meningkatkan tingkat antrian dalam menemukan penempatan yang ideal, tinjau metrik kesalahan berikut:
  + Jika tinggi, sesuaikan penskalaan kapasitas untuk armada antrian. `FirstChoiceOutOfCapacity`
  + Jika metrik `FirstChoiceNotViable` kesalahan tinggi, lihat armada Instans Spot Anda. Armada Spot Instance dianggap tidak layak ketika tingkat interupsi untuk jenis instans tertentu terlalu tinggi. Untuk mengatasi masalah ini, ubah antrian untuk menggunakan armada Instance Spot dengan tipe instance yang berbeda. Sebaiknya sertakan armada Instans Spot dengan tipe instans yang berbeda di setiap lokasi.

# Memprioritaskan penempatan sesi game
<a name="queues-design-priority"></a>

Amazon GameLift Serversmenggunakan algoritma untuk menentukan bagaimana memprioritaskan tujuan antrian dan menentukan tempat untuk menempatkan sesi permainan baru. Algoritma ini didasarkan pada serangkaian kriteria yang diurutkan. Anda dapat menggunakan urutan prioritas default, atau membuat urutan sendiri. Anda dapat mengedit urutan prioritas antrian kapan saja. 

**Urutan prioritas default**

1. **Latensi** — Jika permintaan penempatan sesi permainan menyertakan data latensi spesifik lokasi untuk pemain, Amazon GameLift Servers hitung latensi pemain rata-rata di setiap lokasi dan mencoba menempatkan sesi permainan di lokasi armada dengan rata-rata terendah.

1. **Biaya** — Jika permintaan tidak menyertakan data latensi, atau jika beberapa armada memiliki latensi yang sama, maka Amazon GameLift Servers evaluasi biaya hosting setiap armada. Biaya hosting armada bervariasi berdasarkan jenis armada (Spot atau On-Demand), jenis instans, dan lokasi. 

1. **Tujuan** - Jika beberapa armada memiliki latensi dan biaya yang sama, maka Amazon GameLift Servers memprioritaskan armada berdasarkan urutan tujuan seperti yang tercantum dalam konfigurasi antrian.

1. **Lokasi** — Untuk antrian dengan armada multi-lokasi, jika semua kriteria lainnya sama, maka Amazon GameLift Servers prioritaskan lokasi armada berdasarkan urutan abjad.

## Sesuaikan cara antrian memprioritaskan penempatan sesi game
<a name="queues-design-priority-custom"></a>

Anda dapat memilih untuk menyesuaikan bagaimana antrian memprioritaskan kriteria penempatan. Antrian menerapkan prioritas khusus untuk semua permintaan penempatan sesi game yang diterimanya. 

**catatan**  
Jika Anda membuat konfigurasi prioritas khusus dan tidak menyertakan keempat kriteria, Amazon GameLift Servers secara otomatis menambahkan kriteria yang hilang dalam urutan default.

**Untuk menyesuaikan konfigurasi prioritas antrian**

Gunakan [Amazon GameLift Serverskonsol](https://console.aws.amazon.com/gamelift/) atau AWS Command Line Interface (AWS CLI) untuk membuat konfigurasi prioritas khusus. 

------
#### [ Console ]

Di [Amazon GameLift Serverskonsol](https://console.aws.amazon.com/gamelift/), Anda dapat menyesuaikan prioritas antrian saat membuat antrean baru atau memperbarui antrian yang ada. Pilih AWS Wilayah untuk bekerja.

Buka bilah navigasi kiri konsol dan pilih **Antrian**. **Pada halaman Antrian, pilih antrian yang ada dan pilih Edit.**

1. Pergi ke bagian **Prioritas penempatan sesi permainan**. Seret dan lepas setiap kriteria prioritas untuk membuat urutan yang Anda inginkan. 

1. Pergi ke bagian **Urutan lokasi**. Tambahkan lokasi apa pun yang ingin Anda prioritaskan. Daftar ini berguna ketika antrian memiliki armada dengan beberapa lokasi. Minimal, Anda harus menentukan satu lokasi. Lokasi yang Anda tentukan di sini diprioritaskan terlebih dahulu, diikuti oleh semua lokasi lain di tujuan antrian.

1. Pilih **Simpan perubahan**.

------
#### [ AWS CLI ]

Gunakan [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/gamelift/update-game-session-queue.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/gamelift/update-game-session-queue.html)perintah dengan `--priority-configuration` opsi untuk menyesuaikan urutan prioritas antrian. Amazon GameLift Serversmemperbarui antrian di AWS Wilayah default Anda saat ini, atau Anda dapat menambahkan `--region` tag untuk menentukan AWS Wilayah yang berbeda.

Contoh permintaan berikut menambahkan atau memperbarui konfigurasi prioritas untuk antrian tertentu

```
aws gamelift update-game-session-queue \ 
    --name "example-queue-with-priority"
    --priority-configuration PriorityOrder="COST','LOCATION","DESTINATION",LocationOrder="us-east-1","us-east-2","ca-central-1","us-west-2" \
```

------

## Prioritaskan penempatan berdasarkan latensi pemain
<a name="queues-design-priority-custom-latency"></a>

Jika Anda ingin memberikan pemain Anda pengalaman pemain terbaik dan memastikan latensi minimal, ambil langkah-langkah berikut saat mengatur sistem penempatan sesi permainan Anda: 
+ Atur antrian Anda untuk memprioritaskan latensi saat memilih tempat untuk menempatkan sesi permainan. Latensi berada di bagian atas daftar prioritas secara default. Anda juga dapat menyesuaikan konfigurasi prioritas antrian Anda dan memilih tempat untuk menempatkan latensi dalam urutan prioritas. 
+ Siapkan kebijakan latensi pemain untuk antrian Anda. Kebijakan latensi memungkinkan Anda menetapkan batasan keras pada jumlah latensi yang diizinkan dalam penempatan sesi game. Jika tidak Amazon GameLift Servers dapat menempatkan sesi permainan tanpa melebihi batas, permintaan penempatan akan habis waktu dan gagal. Anda dapat menyiapkan kebijakan latensi tunggal, atau Anda dapat membuat serangkaian kebijakan yang secara bertahap melonggarkan batas latensi dari waktu ke waktu. Dengan serangkaian kebijakan, Anda dapat menentukan batas latensi awal yang sangat rendah, dan masih mengakomodasi pemain dengan latensi yang lebih tinggi setelah penundaan singkat. Untuk detail tentang membuat kebijakan latensi, lihat[Buat kebijakan latensi pemain](queues-design-latency.md). 
+ Saat membuat permintaan penempatan sesi game (lihat [StartGameSessionPlacement](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_StartGameSessionPlacement.html)), sertakan data latensi untuk setiap pemain. Data latensi pemain mencakup nilai untuk setiap lokasi yang memungkinkan di mana sesi permainan dapat ditempatkan. Misalnya, untuk antrian yang menempatkan sesi game di Wilayah AWS us-east-2 dan ca-central-1, data latensi mungkin terlihat seperti ini: 

  ```
  "PlayerLatencies": [ 
      { "LatencyInMilliseconds": 100, "PlayerId": "player1", "RegionIdentifier": "us-east-2" },
      { "LatencyInMilliseconds": 100, "PlayerId": "player1", "RegionIdentifier": "ca-central-1" },
      { "LatencyInMilliseconds": 150, "PlayerId": "player2", "RegionIdentifier": "us-east-2" },
      { "LatencyInMilliseconds": 150, "PlayerId": "player2", "RegionIdentifier": "ca-central-1" }
    ]
  ```

  Untuk mendapatkan pengukuran latensi yang akurat, gunakan ping Amazon GameLift Servers beacon UDP. Titik akhir ini memungkinkan Anda mengukur latensi jaringan UDP aktual antara perangkat pemain dan masing-masing lokasi hosting potensial, menghasilkan keputusan penempatan yang lebih akurat daripada menggunakan ping ICMP. Untuk informasi lebih lanjut tentang penggunaan suar ping UDP untuk mengukur latensi, lihat. [UDP ping beacon](reference-udp-ping-beacons.md)

## Prioritaskan penempatan berdasarkan lokasi
<a name="queues-design-priority-custom-location"></a>

Anda dapat mengonfigurasi antrian untuk membuat penempatan sesi game berdasarkan daftar lokasi geografis yang diprioritaskan. Lokasi adalah salah satu kriteria yang menentukan bagaimana antrian memilih tempat untuk menempatkan sesi permainan baru. Secara default, lokasi diprioritaskan keempat, setelah latensi, biaya, dan tujuan.

Untuk penempatan sesi permainan, tujuan dan lokasi memiliki arti yang agak berbeda:
+ *Tujuan* mengacu pada armada tertentu dan mencakup semua sumber daya hosting armada, di mana pun mereka ditempatkan. Saat memprioritaskan berdasarkan tujuan, Amazon GameLift Servers mungkin membuat penempatan dengan lokasi mana pun di armada. Armada terkelola multi-lokasi dan armada Anywhere dapat memiliki sumber daya hosting yang dikerahkan ke satu atau beberapa lokasi.
+ *Lokasi* mengacu pada posisi geografis tertentu di mana sumber daya hosting armada dikerahkan. Armada dapat memiliki beberapa lokasi, yang mungkin termasuk Wilayah AWS, Local Zones, atau lokasi khusus (untuk armada Anywhere). Armada yang dikelola satu lokasi memiliki satu lokasi dan selalu merupakan Wilayah AWS lokasi. Armada yang dikelola multi-lokasi memiliki Wilayah asal dan dapat memiliki lokasi terpencil. Armada Anywhere memiliki satu atau lebih lokasi khusus.

Saat memprioritaskan penempatan berdasarkan lokasi, Amazon GameLift Servers cari tujuan antrian apa pun yang menyertakan lokasi prioritas dan cari sumber daya hosting yang tersedia. Jika ada beberapa tujuan dengan lokasi prioritas, Amazon GameLift Servers lanjutkan ke kriteria prioritas berikutnya (biaya, latensi, tujuan).

Ada beberapa cara yang dapat mempengaruhi bagaimana lokasi antrian diprioritaskan 
+ Konfigurasikan cara antrian menangani semua permintaan penempatan sesi game:
  + **Tambahkan konfigurasi prioritas ke antrian.** Konfigurasi prioritas antrian mencakup daftar lokasi yang diurutkan. Anda dapat menentukan satu atau beberapa lokasi untuk diprioritaskan. Daftar ini tidak mengecualikan lokasi mana pun, hanya memberi tahu Amazon GameLift Servers di mana harus mencari sumber daya hosting yang tersedia terlebih dahulu. Penggunaan umum untuk daftar lokasi yang dipesan adalah ketika Anda ingin menyalurkan sebagian besar lalu lintas ke satu atau lebih lokasi geografis tertentu dan menggunakan lokasi tambahan sebagai kapasitas cadangan. Tambahkan konfigurasi prioritas dengan menelepon [UpdateGameSessionQueue](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_UpdateGameSessionQueue.html).
  + **Tambahkan konfigurasi filter ke antrian.** Konfigurasi filter adalah daftar izinkan untuk antrian. Ini memberitahu Amazon GameLift Servers untuk mengabaikan lokasi yang tidak ada dalam daftar ketika mencari sumber daya hosting yang tersedia. Ada dua kegunaan umum untuk konfigurasi filter. Pertama, untuk armada dengan beberapa lokasi, Anda dapat menggunakan filter untuk mengecualikan beberapa lokasi armada. Kedua, Anda mungkin ingin untuk sementara melarang penempatan di lokasi tertentu; misalnya, lokasi mungkin mengalami masalah sementara. Karena Anda dapat memperbarui konfigurasi filter antrian kapan saja, Anda dapat dengan mudah menambah dan menghapus lokasi sesuai kebutuhan. Tambahkan konfigurasi filter dengan menelepon [UpdateGameSessionQueue](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_UpdateGameSessionQueue.html).
+ Gunakan instruksi khusus untuk permintaan penempatan individu:
  + **Sertakan daftar penggantian prioritas dalam permintaan penempatan sesi game.** Anda dapat memberikan daftar prioritas alternatif lokasi dengan [StartGameSessionPlacement](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_StartGameSessionPlacement.html)permintaan apa pun. Daftar ini secara efektif menggantikan prioritas antrian yang dikonfigurasi untuk lokasi untuk satu permintaan itu saja. Itu tidak memengaruhi permintaan lainnya. Fitur override ini memiliki beberapa persyaratan:
    + Gunakan daftar override hanya dengan antrian yang memiliki konfigurasi prioritas `LOCATION` sebagai prioritas pertama.
    + Jangan sertakan data latensi pemain dalam permintaan penempatan yang sama. Menyertakan data latensi menyiapkan konflik saat memprioritaskan lokasi yang tidak Amazon GameLift Servers dapat diselesaikan.
    + Putuskan bagaimana Anda Amazon GameLift Servers ingin melanjutkan jika tidak dapat menemukan sumber daya yang tersedia pada daftar penggantian prioritas. Pilih antara kembali ke lokasi antrian lainnya, atau batasi penempatan ke daftar penggantian. Secara default, Amazon GameLift Servers kembali mencoba penempatan di lokasi antrian lainnya.
    + Perbarui konfigurasi filter antrian sesuai kebutuhan, seperti menambahkan lokasi pada daftar penggantian. Daftar penggantian tidak membatalkan daftar filter. 

# Buat kebijakan latensi pemain
<a name="queues-design-latency"></a>

Jika permintaan penempatan Anda menyertakan data latensi pemain, Amazon GameLift Servers temukan sesi permainan di lokasi dengan latensi rata-rata terendah untuk semua pemain. Menempatkan sesi permainan berdasarkan latensi pemain rata-rata Amazon GameLift Servers mencegah menempatkan sebagian besar pemain dalam game dengan latensi tinggi. Namun, Amazon GameLift Servers tetap menempatkan pemain dengan latensi ekstrim. Untuk mengakomodasi pemain ini, buat kebijakan latensi pemain.

Kebijakan latensi pemain Amazon GameLift Servers mencegah menempatkan sesi permainan yang diminta di mana saja pemain dalam permintaan akan mengalami latensi di atas nilai maksimum. Kebijakan latensi pemain juga dapat Amazon GameLift Servers mencegah pencocokan permintaan sesi game dengan pemain latensi yang lebih tinggi.

**Tip**  
Untuk mengelola aturan khusus latensi, seperti mewajibkan latensi serupa di semua pemain dalam grup, Anda dapat menggunakannya [https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-intro.html](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-intro.html)untuk membuat aturan perjodohan berbasis latensi.

Misalnya, pertimbangkan antrian ini dengan batas waktu 5 menit dan kebijakan latensi pemain berikut:

1. Habiskan 120 detik untuk mencari lokasi di mana semua latensi pemain kurang dari 50 milidetik.

1. Habiskan 120 detik untuk mencari lokasi di mana semua latensi pemain kurang dari 100 milidetik.

1. Habiskan waktu antrian yang tersisa hingga batas waktu mencari lokasi di mana semua latensi pemain kurang dari 200 milidetik.

![\[Cuplikan layar konsol yang menggambarkan contoh kebijakan latensi yang secara bertahap rileks.\]](http://docs.aws.amazon.com/id_id/gameliftservers/latest/developerguide/images/queue-latency-policy.png)


# Membangun antrian untuk Instans Spot
<a name="spot-tasks"></a>

Anda dapat mencapai penghematan yang berpotensi signifikan dalam biaya hosting dengan menggunakan armada Spot. Untuk detail selengkapnya tentang armada Spot dan cara menggunakannya, lihat[Perbandingan Instans Sesuai Permintaan dengan Instans Spot](gamelift-compute.md#gamelift-compute-spot). 

Jika solusi hosting game Anda menyertakan armada Spot, Anda harus menggunakan antrian penempatan sesi game. Amazon GameLift Serversmenggunakan antrian untuk mencari di beberapa sumber daya hosting game dan memilih yang terbaik yang tersedia untuk menyelenggarakan sesi permainan baru. Dengan armada Spot, antrian sangat penting untuk meminimalkan biaya hosting dan menghindari kemungkinan gangguan Spot. Topik ini membantu Anda mengatur antrian tangguh yang dapat terus menjadi tuan rumah game untuk pemain bahkan jika terjadi gangguan, perlambatan, dan pemadaman. Anda dapat menyesuaikan bagaimana antrian memprioritaskan sumber daya hosting yang tersedia berdasarkan beberapa faktor termasuk biaya hosting.

Apakah Anda menggunakan FlexMatch untuk perjodohan? Anda dapat menggunakan antrian dengan armada Spot untuk membuat penempatan sesi permainan untuk pertandingan Anda.

## Tugas implementasi untuk armada Spot
<a name="spot-tasks-queue"></a>

Saat membuat atau memperbarui solusi hosting game Anda untuk menggunakan armada Spot, selesaikan tugas-tugas berikut. Untuk panduan lebih rinci tentang cara membuat antrean yang mengoptimalkan ketersediaan dan ketahanan Spot, lihat. [Kurangi biaya hosting game dengan armada Spot](fleets-spot.md)

1. **Pilih dan buat satu set tujuan armada untuk antrian sesi permainan Anda.**

   Mulailah dengan memutuskan di mana Anda ingin antrian Anda untuk menempatkan sesi permainan. Antrian dapat mencari di beberapa armada untuk menemukan penempatan terbaik. Setiap armada memiliki satu jenis instance tetapi dapat memiliki beberapa lokasi geografis. Antrian dengan armada yang menawarkan variasi di lokasi dan jenis instance lebih mungkin membuat penempatan yang berhasil. Lihat praktik terbaik ini untuk merancang antrean yang dioptimalkan SPOT yang efektif dan tangguh.

1. **Buat antrean sesi permainan yang dioptimalkan di Spot.** 

   Buat antrian dan konfigurasikan untuk armada Spot Anda. Lihat [Buat antrean sesi game](queues-creating.md) untuk bantuan membuat dan mengonfigurasi antrean baru. Anda dapat menggunakan Amazon GameLift Servers konsol atau AWS CLI untuk membuat atau mengedit antrian.
   + Tambahkan tujuan armada dari Langkah 1. 
   + Prioritaskan urutan tujuan yang sesuai. Secara default, Amazon GameLift Servers memprioritaskan berdasarkan biaya sebelum tujuan, sehingga pesanan tujuan hanya digunakan ketika biaya terendah antar tujuan sama.
   + Jika Anda ingin memprioritaskan biaya hosting game sebelum latensi pemain, berikan prioritas penempatan khusus. Lihat [Memprioritaskan penempatan sesi game](queues-design-priority.md).

1. **Perbarui komponen lain dalam solusi Anda untuk menggunakan antrian baru.**

   Ketika solusi Anda menggunakan antrean yang dioptimalkan SPOT untuk memulai sesi permainan baru, antrian secara otomatis menghindari penempatan sesi permainan dengan armada yang memiliki kemungkinan gangguan tinggi. Alih-alih mencari semua armada yang layak untuk sumber daya yang sesuai dengan prioritas yang Anda tetapkan, termasuk latensi pemain, biaya hosting, dan urutan tujuan. 
   + Jika Anda tidak menggunakan FlexMatch - Perbarui layanan backend Anda untuk menentukan antrean baru yang dioptimalkan SPOT dalam permintaan sesi game. Layanan backend membuat permintaan API ke Amazon GameLift Servers atas nama klien game Anda (menggunakan`StartGameSessionPlacement()`), dan setiap permintaan harus menentukan nama antrian. Untuk bantuan men-deploy penempatan sesi game di klien game Anda, lihat[Buat sesi permainan](gamelift-sdk-client-api.md#gamelift-sdk-client-api-create).
   + Jika Anda menggunakan FlexMatch - Perbarui konfigurasi perjodohan Anda untuk mengirim permintaan sesi game ke antrian baru yang dioptimalkan Spot. Ketika sistem perjodohan membentuk pertandingan pemain, ia mengirimkan permintaan penempatan sesi permainan ke antrian yang ditentukan untuk memulai sesi permainan baru untuk pertandingan. Hanya konfigurasi perjodohan dengan FlexMatch mode yang disetel ke “Dikelola” yang dapat menentukan antrian penempatan. Anda dapat memperbarui konfigurasi perjodohan menggunakan AWS CLI atau Amazon GameLift Servers konsol (lihat [Mengedit](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-create-configuration-edit.html) konfigurasi perjodohan).

1. **Tinjau kinerja armada dan antrian Spot Anda.** 

   Lihat Amazon GameLift Servers metrik di Amazon GameLift Servers konsol atau dengan Amazon CloudWatch untuk meninjau kinerja. Untuk informasi selengkapnya tentang Amazon GameLift Servers metrik, lihat[Monitor Amazon GameLift Servers dengan Amazon CloudWatch](monitoring-cloudwatch.md). Metrik kunci meliputi:
   + Tingkat interupsi — Gunakan `GameSessionInterruptions` metrik `InstanceInterruptions` dan untuk melacak jumlah dan frekuensi interupsi terkait SPOT untuk instance dan sesi permainan. Sesi permainan pada instance reklamasi memiliki status `TERMINATED` dan alasan status. `INTERRUPTED`
   + Efektivitas antrian — Lacak tingkat keberhasilan penempatan, waktu tunggu rata-rata, dan kedalaman antrian untuk mengonfirmasi bahwa armada Spot tidak memengaruhi kinerja antrian Anda.
   + Penggunaan armada — Pantau data tentang instance, sesi permainan, dan sesi pemain. Penggunaan untuk armada On-Demand Anda dapat menjadi indikator bahwa antrian menghindari penempatan ke armada Spot Anda untuk menghindari gangguan.

## Praktik terbaik untuk antrean dengan armada Spot
<a name="queues-design-spot"></a>

 Gunakan praktik terbaik berikut saat membuat armada dan antrian untuk instans Spot. 
+ **Perluas cakupan geografis antrian Anda.** Bahkan jika pemain Anda dikelompokkan dalam satu Wilayah AWS, tambahkan lokasi yang berdekatan ke armada Spot Anda. Pendekatan ini meningkatkan kemampuan antrian untuk mempertahankan kapasitas selama perlambatan regional, pemadaman, dan gangguan Spot. Armada multi-lokasi bekerja dengan instans Spot dan On-Demand.
+ **Diversifikasi cakupan tipe instans antrian Anda.** Amazon GameLift Serversmengevaluasi viabilitas Spot berdasarkan jenis instans, sehingga memiliki armada Spot dengan berbagai jenis instans mengurangi kemungkinan bahwa beberapa armada Spot tidak dapat hidup pada saat yang bersamaan. Sertakan setidaknya dua armada Spot dengan jenis instans berbeda di setiap lokasi. 
**catatan**  
Harga didasarkan pada contoh yang Anda gunakan, bukan jumlah armada. Menjalankan lima armada dengan 10 instance masing-masing sama dengan menjalankan satu armada dengan 50 instance dengan biaya yang sama. Harga bervariasi menurut jenis instans, ukuran, dan lokasi. 

  Kiat untuk mengelompokkan jenis instans Spot: 
  + Gunakan tipe instance dalam keluarga yang sama, seperti`m6g.medium`,`m6g.large`, dan`m6g.xlarge`. Jenis instans yang lebih besar harganya lebih mahal, tetapi juga dapat menyelenggarakan lebih banyak sesi permainan sekaligus.
  + Pilih jenis instance yang tersedia secara luas. Biasanya, keluarga generasi yang lebih tua (seperti C5, M5, dan R5) dan ukuran umum (seperti.large, .xlarge, dan .2xlarge) memiliki ketersediaan yang lebih baik.
  + Periksa riwayat harga 30-90 hari di Amazon GameLift Servers konsol. Cari tipe contoh dengan pola ketersediaan yang konsisten.
  + Gunakan Amazon GameLift Servers konsol, alat pembuatan armada, untuk menjelajahi cakupan lokasi untuk jenis instance.
+ **Tambahkan armada On-Demand untuk kapasitas cadangan.** Hosting game dapat beralih ke armada On-Demand setiap kali armada Spot tidak tersedia. Tempatkan setidaknya satu armada On-Demand di setiap lokasi untuk mempertahankan latensi pemain yang rendah. Tambahkan auto-scaling ke armada cadangan Sesuai Permintaan, sehingga Anda dapat memperkecilnya hingga dibutuhkan.
+ **Tetapkan alias ke semua tujuan armada.** Buat alias untuk setiap tujuan antrian Anda. Alias membuatnya lebih mudah dan lebih efisien kapan pun Anda perlu mengganti armada. 
+ **Menerapkan strategi prioritas antrian.** Anda dapat menyesuaikan cara antrian memprioritaskan tempat menempatkan sesi permainan (lihat [Memprioritaskan penempatan sesi game](queues-design-priority.md) untuk detail selengkapnya). Untuk antrian yang dioptimalkan SPOT, memprioritaskan berdasarkan biaya memastikan bahwa armada Spot berbiaya rendah digunakan bila memungkinkan. 

  Anda juga dapat memprioritaskan armada tertentu dengan menentukan urutan tujuan. Misalnya, beberapa pengguna menunjuk satu set armada utama untuk penggunaan reguler dan juga satu set armada sekunder sebagai cadangan. Dalam skenario ini, atur urutan tujuan antrian untuk mencantumkan armada utama terlebih dahulu. Kemudian konfigurasikan urutan prioritas antrian dengan tujuan diikuti dengan biaya.

# Kustomisasi sumber daya hosting
<a name="fleets-design"></a>

Bagian ini menyediakan opsi lanjutan untuk mengonfigurasi dan mengelola Amazon GameLift Servers infrastruktur Anda untuk memenuhi persyaratan kinerja, biaya, dan operasional tertentu. Secara khusus, topik di bagian ini menjelaskan bagaimana Anda dapat menyesuaikan sumber daya hosting Amazon GameLift Servers terkelola agar paling sesuai dengan game dan pemain Anda. 

Beberapa keputusan yang ingin Anda pertimbangkan: 
+ Di mana menyebarkan sumber daya hosting untuk pemain Anda? Latensi gameplay adalah faktor utama dalam memilih lokasi geografis armada Anda, tetapi ada faktor lain yang bervariasi menurut lokasi, termasuk ketersediaan dan biaya jenis sumber daya.
+ Jenis EC2 instance apa yang paling mendukung game Anda? Pilih dari jenis instans yang tersedia yang menggunakan kombinasi terbaik arsitektur komputasi, memori, penyimpanan, dan kapasitas jaringan. 
+ Berapa ukuran tipe instans yang Anda butuhkan? Pilih ukuran jenis instans berdasarkan kebutuhan sumber daya (memori dan CPU) perangkat lunak server game Anda dan faktor lainnya. 
+ Haruskah armada Anda menggunakan Instans Sesuai Permintaan atau Spot? Pertimbangkan apakah Anda dapat memanfaatkan harga Spot yang lebih rendah, dan apakah Amazon GameLift Servers cukup mengurangi kemungkinan gangguan Spot pada sesi permainan Anda.
+ Bagaimana Anda ingin perangkat lunak server game Anda berjalan pada setiap instance armada? Konfigurasi runtime memberi tahu perangkat lunak server Amazon GameLift Servers apa yang harus dijalankan dan bagaimana caranya.
+ Untuk armada kontainer, apakah konfigurasi default berfungsi untuk game Anda? Amazon GameLift Serversmelakukan banyak pekerjaan bagi Anda untuk mengoptimalkan konfigurasi armada kontainer Anda, tetapi Anda dapat menyesuaikan sebagian besar pengaturan konfigurasi.

# Pilih sumber daya komputasi untuk armada terkelola
<a name="gamelift-compute"></a>

Untuk hosting Amazon GameLift Servers terkelola, termasuk EC2 terkelola dan kontainer terkelola, layanan ini menyebarkan server game Anda ke armada sumber daya komputasi di. AWS Cloud Saat membuat armada terkelola, Anda ingin mengonfigurasi sumber daya hosting agar sesuai dengan game Anda. Topik ini membahas poin keputusan utama saat memilih dan mengonfigurasi armada hosting game Anda.

**catatan**  
Jika Anda sedang membangun solusi hybrid dengan Anywhere dan armada Amazon GameLift Servers terkelola, gunakan topik ini untuk merancang armada terkelola untuk melengkapi sumber daya yang dikelola sendiri. Lihat [Menyebarkan armada hosting untuk Amazon GameLift Servers](fleets-intro.md).

**Topics**
+ [Lokasi geografis](#gamelift-compute-location)
+ [Sistem operasi](#gamelift-compute-os)
+ [Tipe instans](#gamelift-compute-instance)
+ [Perbandingan Instans Sesuai Permintaan dengan Instans Spot](#gamelift-compute-spot)
+ [Kuota layanan](#gamelift-service-limits)

## Lokasi geografis
<a name="gamelift-compute-location"></a>

Pertimbangkan di mana Anda berencana untuk menyebarkan server game Anda. Secara umum, Anda ingin menempatkan server game Anda sedekat mungkin dengan pemain Anda untuk memberikan pengalaman pemain terbaik. Untuk hosting Amazon GameLift Servers terkelola, Anda dapat memilih untuk menempatkan server game di salah satu Local Zones yang didukung Wilayah AWS . Jika Anda sedang membangun solusi hybrid, pertimbangkan bagaimana penyebaran armada terkelola dapat melengkapi lokasi armada Amazon GameLift Servers Anywhere yang dikelola sendiri.

Untuk sebagian besar skenario pengembangan dan pengujian, penerapan ke satu lokasi masuk akal. Saat Anda bersiap untuk peluncuran dan seterusnya, ada banyak alasan untuk menyebarkan di beberapa lokasi geografis. Ini termasuk mendukung sekelompok pemain yang tersebar luas dan meningkatkan ketahanan dan keandalan hosting game secara keseluruhan. Beberapa lokasi juga dapat meningkatkan pengalaman pemain dengan mempercepat penempatan sesi permainan dan memungkinkan lebih banyak pilihan saat mengoptimalkan penempatan untuk latensi dan biaya.

Untuk daftar lokasi yang didukung oleh Amazon GameLift Servers dan informasi selengkapnya tentang lokasi untuk semua jenis armada, lihat[Amazon GameLift Serverslokasi layanan](gamelift-regions.md).

Armada multi-lokasi

Satu armada terkelola dapat menyebarkan sumber daya ke beberapa lokasi. Anda dapat secara manual mengatur kapasitas untuk setiap lokasi individu dalam armada multi-lokasi.

Keuntungan menggunakan armada multi-lokasi: 
+ Penyebaran dan manajemen armada yang disederhanakan — Anda menyediakan perangkat lunak server game dan konfigurasi armada, dan Amazon GameLift Servers menyebarkannya ke instance armada di beberapa lokasi (buat sekali, terapkan di mana saja). Dalam armada produksi, Anda dapat melihat dan mengelola semua lokasi dalam armada alih-alih harus mengelola beberapa armada yang masing-masing terletak di wilayah yang berbeda.
+ Ketersediaan Zona Lokal — Jika Anda ingin menggunakan Zona Lokal, Anda harus membuat armada multi-lokasi dengan lokasi Wilayah AWS rumah dan Local Zones sebagai lokasi terpencil. Local Zones adalah ekstensi Wilayah AWS yang dapat memberikan latensi yang lebih rendah ke area dan pelanggan yang membutuhkannya. Anda dapat menambahkan Zona Lokal ke armada multi-lokasi mana pun; Anda tidak perlu menyertakan induk Wilayah AWS Zona Lokal.
+ Kompatibilitas dengan antrian sesi permainan — Anda dapat membangun antrian penempatan sesi game dengan satu atau lebih armada multi-lokasi. Pendekatan ini memberikan fleksibilitas antrian saat memprioritaskan dan memilih lokasi untuk menyelenggarakan sesi permainan baru.
+ Pemanfaatan sumber daya yang efisien — Dengan auto-scaling diaktifkanAmazon GameLift Servers, dapat mengoptimalkan penskalaan kapasitas dengan lebih baik di semua lokasi dalam armada.

Kiat untuk menggunakan armada multi-lokasi: 
+ Periksa kuota pada jumlah lokasi per Wilayah AWS atau armada. Lihat [kuota Amazon GameLift Servers layanan](https://docs.aws.amazon.com/general/latest/gr/gamelift.html#limits_gamelift).
+ Tidak semua jenis instance tersedia di semua lokasi. Bergantung pada lokasi yang Anda pilih, Anda mungkin memiliki opsi tipe instans terbatas. Amazon GameLift ServersKonsol menyediakan alat yang berguna untuk membantu Anda menemukan keseimbangan lokasi dan jenis instance yang tepat. 
+ Pertimbangkan [UDP ping beacon](reference-udp-ping-beacons.md) untuk mengumpulkan data latensi pemain untuk semua lokasi armada Anda. Amazon GameLift Serversdapat menggunakan data ini untuk mengoptimalkan sesi permainan untuk latensi rendah dan mencegah pemain bergabung dengan sesi dengan latensi tinggi yang tidak dapat diterima. Titik akhir khusus ini menerima pesan UDP, alih-alih ping ICMP konvensional, sehingga memberikan pengukuran latensi yang akurat untuk membantu Anda memilih lokasi armada yang optimal.

## Sistem operasi
<a name="gamelift-compute-os"></a>

Semua instance dalam armada terkelola disebarkan dengan image mesin Amazon (AMI) yang menyediakan lingkungan runtime lengkap untuk perangkat lunak server game Anda. Untuk armada EC2 terkelola, Anda menentukan sistem operasi build server game saat Anda mengunggah build. Amazon GameLift Servers Untuk armada kontainer terkelola, Anda menentukan sistem operasi dalam definisi grup kontainer. Untuk informasi selengkapnya tentang versi AMI terbaru, lihat[Amazon GameLift ServersVersi AMI](reference-ec2-ami-version-history.md).

Versi AMI diperbarui secara berkala. Saat Anda membuat armada baru, Amazon GameLift Servers tetapkan AMI versi terbaru yang tersedia yang Anda pilih untuk pembuatan game Anda. Semua instance yang digunakan dalam armada tersebut menggunakan versi yang sama. Agar versi AMI Anda tetap up to date dengan pembaruan keamanan dan perangkat lunak terbaru, Anda perlu mengganti armada Anda secara teratur. Sebagai praktik terbaik, kami sarankan mengganti armada terkelola Anda setiap 30 hari untuk menjaga lingkungan runtime untuk server game Anda. Untuk panduan, lihat [Praktik terbaik keamanan untuk Amazon GameLift Servers](security-best-practices.md).

## Tipe instans
<a name="gamelift-compute-instance"></a>

Jenis instance armada terkelola menentukan jenis perangkat keras yang digunakan untuk semua instance armada, dan tipe instance umumnya tersedia dalam berbagai ukuran. Semua armada Amazon GameLift Servers terkelola menggunakan instans Amazon EC2, dan mendukung berbagai jenis instans yang menawarkan kombinasi daya komputasi, memori, penyimpanan, dan kemampuan jaringan yang berbeda. Ketersediaan jenis instans bervariasi tergantung pada lokasi yang Anda pilih. 

Amazon GameLift ServersKonsol menyediakan alat yang berguna untuk membantu Anda menemukan jenis instans yang tepat untuk build game dan lokasi penerapan Anda. Untuk armada kontainer terkelola, konsol ini juga menawarkan panduan tentang daya CPU dan kebutuhan memori game Anda.

Saat memilih dari jenis instans yang tersedia untuk game Anda, pertimbangkan:
+ Arsitektur komputasi server game Anda: x64 atau Arm (AWS Graviton).
**catatan**  
Instans Graviton Arm memerlukan build server untuk AMI Linux. Server SDK 5.1.1 atau yang lebih baru diperlukan untuk C\$1\$1 dan C\$1. Server SDK 5.0 atau yang lebih baru diperlukan untuk Go. Instans ini tidak memberikan out-of-the-box dukungan untuk instalasi Mono di Amazon Linux 2023 () AL2023 atau Amazon Linux 2 (). AL2 
+ Persyaratan komputasi, memori, dan penyimpanan build server game Anda. 
+ Ukuran jenis instans Anda. Selain memenuhi persyaratan perangkat lunak server game Anda yang dapat dieksekusi, ukuran jenis instans yang lebih besar dapat menjalankan beberapa and/or kontainer proses server game pada setiap instance. Faktor yang perlu dipertimbangkan termasuk biaya (apakah lebih murah untuk menjalankan beberapa contoh besar atau banyak contoh kecil). Pertimbangkan juga bagaimana kapasitas sesi game dapat dipengaruhi dengan menambahkan atau menghapus instance selama peristiwa penskalaan armada atau saat mematikan instance yang tidak sehat. Jika setiap instance menjalankan banyak proses server game secara bersamaan, menambahkan atau menghapus instance dapat secara signifikan memengaruhi kapasitas hosting ame. 

Untuk informasi selengkapnya tentang jenis instans, lihat Jenis [Instans Amazon EC2](https://aws.amazon.com/ec2/instance-types/).

## Perbandingan Instans Sesuai Permintaan dengan Instans Spot
<a name="gamelift-compute-spot"></a>

Instans On-Demand Amazon EC2 dan Instans Spot menawarkan perangkat keras dan kinerja yang sama, tetapi keduanya berbeda dalam ketersediaan dan biaya.

**Instans Sesuai Permintaan**  
Anda dapat memperoleh Instans On-Demand saat Anda membutuhkannya dan menyimpannya selama yang Anda inginkan. Instans On-Demand memiliki biaya tetap, artinya Anda hanya membayar untuk jumlah waktu yang Anda gunakan. Tidak ada komitmen jangka panjang.

**Instans Spot**  
Instans Spot dapat menawarkan alternatif hemat biaya untuk Instans On-Demand dengan memanfaatkan kapasitas komputasi yang tidak terpakai. AWS Harga Instans Spot berfluktuasi berdasarkan penawaran dan permintaan untuk setiap jenis instans di setiap lokasi. AWS dapat merebut kembali Instans Spot dengan pemberitahuan dua menit kapan pun diperlukan kapasitas kembali, dan sesi permainan yang aktif berjalan pada instance reklamasi akan terputus. 

Amazon GameLift Serversmenawarkan beberapa alat untuk membantu mengurangi kemungkinan gangguan Spot pada sesi permainan Anda. Algoritma viabilitas spot melacak data historis tipe instance untuk mengantisipasi kapan risiko interupsi mencapai titik kritis dan menghindari menempatkan sesi permainan baru pada Instans Spot jenis itu. Jika gangguan memang terjadi, server game Anda dapat menggunakan notifikasi untuk mengakhiri sesi permainan dengan anggun untuk pemain.

Hosting game dengan armada Spot harus menggunakan antrian untuk penempatan sesi game. Antrian dapat memprioritaskan penempatan sesi permainan berdasarkan kelayakan armada Spot, biaya, dan faktor lainnya. Lihat topik berikut untuk informasi selengkapnya tentang cara memanfaatkan Spot untuk hosting server game Anda: 
+ [Kurangi biaya hosting game dengan armada Spot](fleets-spot.md)
+ [Membangun antrian untuk Instans Spot](spot-tasks.md)

## Kuota layanan
<a name="gamelift-service-limits"></a>

Anda dapat melihat kuota layanan default untuk Amazon GameLift Servers dan status kuota saat ini untuk Anda Akun AWS menggunakan alat berikut:
+ Untuk informasi kuota layanan umumAmazon GameLift Servers, lihat [Amazon GameLift Serverstitik akhir dan kuota](https://docs.aws.amazon.com/general/latest/gr/gamelift.html) di. *Referensi Umum AWS*
+ Untuk daftar jenis instans yang tersedia per lokasi akun Anda, buka halaman [Kuota layanan](https://console.aws.amazon.com/gamelift/service-quotas) Amazon GameLift Servers konsol. Halaman ini juga menampilkan penggunaan akun Anda saat ini untuk setiap jenis instans di setiap lokasi.
+ Untuk daftar kuota akun Anda saat ini untuk jenis instans per Wilayah, jalankan perintah AWS Command Line Interface [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/gamelift/describe-ec2-instance-limits.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/gamelift/describe-ec2-instance-limits.html)(AWS CLI). Perintah ini mengembalikan jumlah instance aktif yang Anda miliki di Wilayah default (atau di Wilayah lain yang Anda tentukan).

[Saat Anda bersiap untuk meluncurkan game Anda, isi kuesioner peluncuran di konsol. Amazon GameLift Servers](https://console.aws.amazon.com/gamelift/) Amazon GameLift ServersTim menggunakan kuesioner peluncuran untuk menentukan kuota dan batas yang benar untuk permainan Anda.

# Sesuaikan armada Amazon GameLift Servers kontainer
<a name="containers-design-fleet"></a>

Topik di bagian ini menjelaskan beberapa fitur opsional untuk kontainer Amazon GameLift Servers terkelola. Anda dapat memilih untuk menggunakan salah satu atau semua fitur ini.

**Topics**
+ [Tetapkan batas sumber daya](#containers-design-fleet-limits)
+ [Memahami alokasi memori armada kontainer](#containers-design-fleet-memory-allocation)
+ [Mengkonfigurasi Akses NVMe Drive](#containers-design-fleet-nvme)
+ [Tentukan wadah penting](#containers-design-fleet-essential)
+ [Konfigurasikan koneksi jaringan](#containers-custom-network)
+ [Siapkan pemeriksaan kesehatan untuk kontainer](#containers-design-fleet-health)
+ [Tetapkan dependensi kontainer](#containers-design-fleet-dependencies)
+ [Konfigurasikan armada kontainer](#containers-design-fleet-config)

## Tetapkan batas sumber daya
<a name="containers-design-fleet-limits"></a>

Untuk setiap grup kontainer, Anda dapat menentukan berapa banyak memori dan daya komputasi yang dibutuhkan grup kontainer untuk menjalankan perangkat lunaknya. Amazon GameLift Serversbergantung pada informasi ini untuk mengelola sumber daya di seluruh grup kontainer. Ini juga menggunakan informasi ini untuk menghitung berapa banyak grup kontainer server game yang dapat dipegang oleh gambar armada. Anda juga dapat menetapkan batas untuk wadah individu.

Anda dapat menetapkan batas maksimum pada memori dan daya komputasi untuk grup kontainer. Secara default, sumber daya ini dibagikan oleh semua kontainer dalam grup. Anda dapat menyesuaikan manajemen sumber daya lebih lanjut dengan menetapkan batas untuk setiap kontainer. 

**Tetapkan batas opsional untuk kontainer individu**  
Menyetel batas sumber daya khusus kontainer memungkinkan Anda untuk memberikan kontrol yang lebih besar atas bagaimana kontainer individu dapat menggunakan sumber daya grup. Jika Anda tidak menetapkan batas khusus kontainer, semua kontainer dalam grup berbagi sumber daya grup. Berbagi menawarkan fleksibilitas yang lebih besar untuk menggunakan sumber daya di tempat yang dibutuhkan. Ini juga meningkatkan potensi proses untuk bersaing satu sama lain dan mengakibatkan kegagalan kontainer.  
Tetapkan salah satu `ContainerDefinition` properti berikut untuk wadah apa pun.  
+ `MemoryHardLimitMebibytes`— Tetapkan batas memori maksimum untuk wadah. Jika wadah melebihi batas ini, itu menghasilkan restart.
+ `Vcpu`limit — Cadangan jumlah minimum sumber daya vCPU untuk penggunaan eksklusif kontainer. Wadah selalu memiliki jumlah cadangan yang tersedia untuk itu. Ini dapat melebihi minimum ini kapan saja, jika sumber daya tambahan tersedia. (1024 unit CPU setara dengan 1 vCPU.)

**Tetapkan batas sumber daya total untuk grup kontainer**  
Jika Anda menetapkan batas untuk kontainer individual, Anda mungkin perlu memodifikasi berapa banyak memori dan sumber daya vCPU yang dibutuhkan grup kontainer. Tujuannya adalah untuk mengalokasikan sumber daya yang cukup untuk mengoptimalkan kinerja server game. Amazon GameLift Serversmenggunakan batasan ini untuk menghitung cara mengemas grup kontainer server game pada instance armada. Anda juga akan menggunakannya saat memilih jenis instance untuk armada kontainer.  
Hitung total memori dan vCPU yang dibutuhkan untuk grup kontainer. Pertimbangkan hal berikut:  
+ Apa saja proses yang berjalan di semua kontainer dalam grup kontainer? Tambahkan sumber daya yang diperlukan untuk proses ini. Catat batasan khusus wadah apa pun.
+ Berapa banyak proses server game bersamaan yang Anda rencanakan untuk dijalankan di setiap grup kontainer? Anda menentukan ini dalam gambar kontainer server game Anda. 
Berdasarkan perkiraan persyaratan grup kontainer Anda, tetapkan `ContainerGroupDefinition` properti berikut:   
+ `TotalMemoryLimitMebibytes`— Tetapkan batas memori maksimum untuk grup kontainer. Semua kontainer dalam grup berbagi memori yang dialokasikan. Jika Anda menetapkan batas kontainer individual, batas memori total harus sama dengan atau lebih besar dari batas memori spesifik kontainer tertinggi.
+ `TotalVcpuLimit`— Tetapkan batas vCPU maksimum untuk grup kontainer. Semua kontainer dalam grup berbagi sumber daya CPU yang dialokasikan. Jika Anda menetapkan batas kontainer individual, batas total CPU harus sama dengan atau lebih besar dari jumlah semua batas CPU khusus kontainer. Sebagai praktik terbaik, pertimbangkan untuk mengatur nilai ini untuk menggandakan jumlah batas CPU kontainer.

**Contoh skenario**  
Katakanlah kita mendefinisikan grup kontainer server game dengan tiga kontainer berikut:   
+ Container A adalah wadah server game kami. Kami memperkirakan kebutuhan sumber daya untuk satu server game di 512 MiB dan 1024 CPU. Kami berencana agar container menjalankan 1 proses server. Karena wadah ini menjalankan perangkat lunak kami yang paling penting, kami tidak menetapkan batas memori atau batas cadangan vCPU.
+ Container B adalah wadah pendukung dengan kebutuhan sumber daya diperkirakan 1024 MiB dan 1536 CPU. Kami menetapkan batas memori 2048 MiB, dan batas cadangan CPU 1024 CPU.
+ Container C adalah wadah pendukung lainnya. Kami menetapkan batas memori keras 512 MiB dan batas cadangan CPU 512 CPU.
Dengan menggunakan informasi ini, kami menetapkan batas total berikut untuk grup kontainer:  
+ Total batas memori: 7680 MiB. Nilai ini melebihi batas memori tertinggi (1024 MiB).
+ Total batas CPU: 13312 CPU. Nilai ini melebihi jumlah batas CPU (1024\$1512 CPU).

## Memahami alokasi memori armada kontainer
<a name="containers-design-fleet-memory-allocation"></a>

Saat Amazon GameLift Servers menerapkan grup kontainer pada instance armada, tidak semua memori instance tersedia untuk kontainer Anda. Amazon GameLift Serversmenyimpan sebagian dari memori instans untuk sistem operasi, agen Amazon ECS, dan layanan pendukung lainnya. Jumlah memori cadangan bervariasi berdasarkan total memori tipe instance. Memahami overhead ini membantu Anda mengonfigurasi definisi grup kontainer Anda untuk sepenuhnya memanfaatkan sumber daya yang tersedia.

### Rumus overhead memori
<a name="containers-design-fleet-memory-formula"></a>

Amazon GameLift Serversmenghitung memori yang tersedia untuk grup kontainer Anda menggunakan langkah-langkah berikut:

1. **Tentukan persentase buffer memori.** Amazon GameLift Serversmencadangkan persentase dari total memori instans berdasarkan tingkatan berikut:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/gameliftservers/latest/developerguide/containers-design-fleet.html)

1. **Hitung memori yang tersedia.** Kurangi memori cadangan dari total memori instance:

   `AvailableMemory = InstanceMemory - round(InstanceMemory × BufferPercentage)`

1. **Kurangi memori grup kontainer per instance.** Jika armada Anda menggunakan grup kontainer per-instance, kurangi `TotalMemoryLimitMebibytes` dari memori yang tersedia. Satu grup kontainer per instance berjalan pada setiap instance armada.

   `AvailableMemory = AvailableMemory - PerInstanceCGD.TotalMemoryLimitMebibytes`

1. **Akun untuk overhead router log.** Jika logging diaktifkan untuk armada, Amazon GameLift Servers cadangan tambahan 50 MiB per grup kontainer server game untuk router log.

1. **Hitung grup kontainer server game maksimum.** Jumlah maksimum grup kontainer server game yang sesuai dengan instance berdasarkan memori adalah:

   `MaxGroupsByMemory = floor(AvailableMemory / (GameServerCGD.TotalMemoryLimitMebibytes + LogRouterMemory))`

   `LogRouterMemory`Dimana 50 MiB jika logging diaktifkan, atau 0 jika logging dinonaktifkan.

**catatan**  
Memori hanyalah salah satu faktor yang menentukan berapa banyak grup kontainer server game yang cocok pada sebuah instance. Amazon GameLift Serversjuga mempertimbangkan kapasitas vCPU dan port koneksi yang tersedia, dan menggunakan minimum ketiga perhitungan.

### Contoh perhitungan memori
<a name="containers-design-fleet-memory-example"></a>

Pertimbangkan armada yang menggunakan `c5.xlarge` instance (total memori 8.192 MiB) dengan logging diaktifkan:

1. Memori instans adalah 8.192 MiB, yang jatuh di tingkat 5.000-9.999 (buffer 6%)

1. Memori cadangan = bulat (8,192 × 0,06) = 492 MiB

1. Memori yang tersedia = 8,192 - 492 = 7.700 MiB

1. Jika menggunakan grup kontainer per-instance dengan 512: Memori `TotalMemoryLimitMebibytes` yang tersedia = 7.700 - 512 = 7.188 MiB

1. Jika setiap grup kontainer server game memiliki `TotalMemoryLimitMebibytes` 1.024: MaxGroupsByMemory = lantai (7.188/(1.024 \$1 50)) = lantai (7.188/1.074) = 6

### Memori yang tersedia berdasarkan jenis instance
<a name="containers-design-fleet-memory-reference"></a>

Tabel berikut menunjukkan total memori dan memori yang tersedia (setelah Amazon GameLift Servers buffer) untuk jenis instance yang umum digunakan. Gunakan nilai-nilai ini sebagai titik awal saat mengonfigurasi definisi grup kontainer Anda. Kolom *memori yang tersedia* menunjukkan memori yang tersedia untuk semua grup kontainer pada instance, sebelum mengurangi grup kontainer per instance atau overhead router log.


| Tipe instans | Total memori (MiB) | Persentase penyangga | Memori yang tersedia (MiB) | 
| --- | --- | --- | --- | 
| c5.large | 4,096 | 8% | 3,768 | 
| c5.xlarge | 8,192 | 6% | 7,700 | 
| c5.2xlarge | 16,384 | 5% | 15,565 | 
| c5.4xlarge | 32,768 | 5% | 31.130 | 
| c5.9xlarge | 73,728 | 5% | 70,042 | 
| c5.12xlarge | 98,304 | 4% | 94,372 | 
| c5.18xlarge | 147,456 | 4% | 141,558 | 
| c5.24xlarge | 196.608 | 4% | 188.744 | 
| m5.large | 8,192 | 6% | 7,700 | 
| m5.xlarge | 16,384 | 5% | 15,565 | 
| m5.2xlarge | 32,768 | 5% | 31.130 | 
| m5.4xlarge | 65,536 | 5% | 62,259 | 
| m5.8xlarge | 131,072 | 4% | 125,829 | 
| m5.12xlarge | 196.608 | 4% | 188.744 | 
| r5.large | 16,384 | 5% | 15,565 | 
| r5.xlarge | 32,768 | 5% | 31.130 | 
| r5.2xlarge | 65,536 | 5% | 62,259 | 
| r5.4xlarge | 131,072 | 4% | 125,829 | 
| c6i.large | 4,096 | 8% | 3,768 | 
| c6i.xlarge | 8,192 | 6% | 7,700 | 
| c6i.2xlarge | 16,384 | 5% | 15,565 | 
| c6i.4xlarge | 32,768 | 5% | 31.130 | 
| c6i.8xlarge | 65,536 | 5% | 62,259 | 
| c7i.large | 4,096 | 8% | 3,768 | 
| c7i.xlarge | 8,192 | 6% | 7,700 | 
| c7i.2xlarge | 16,384 | 5% | 15,565 | 
| c7i.4xlarge | 32,768 | 5% | 31.130 | 
| c7i.8xlarge | 65,536 | 5% | 62,259 | 
| m7i.large | 8,192 | 6% | 7,700 | 
| m7i.xlarge | 16,384 | 5% | 15,565 | 
| m7i.2xlarge | 32,768 | 5% | 31.130 | 
| m7i.4xlarge | 65,536 | 5% | 62,259 | 
| m7i.8xlarge | 131,072 | 4% | 125,829 | 
| m7i.12xlarge | 196.608 | 4% | 188.744 | 
| r7i.large | 16,384 | 5% | 15,565 | 
| r7i.xlarge | 32,768 | 5% | 31.130 | 
| r7i.2xlarge | 65,536 | 5% | 62,259 | 
| r7i.4xlarge | 131,072 | 4% | 125,829 | 

Misalnya jenis yang tidak tercantum di sini, Anda dapat menghitung memori yang tersedia menggunakan rumus yang dijelaskan di atas. Periksa [dokumentasi jenis instans Amazon EC2 untuk mengetahui total memori jenis](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-instance-type-specifications.html) instans yang Anda pilih.

## Mengkonfigurasi Akses NVMe Drive
<a name="containers-design-fleet-nvme"></a>

Pada instance tipe-d, NVMe drive secara otomatis dipasang ke `/data` direktori selama startup host. Untuk mengaktifkan kontainer mengakses penyimpanan SSD, atur `ContainerGroupDefinition` properti berikut`MountPoints`:
+ `InstancePath`— Atur `/data` untuk mereferensikan NVMe drive yang dipasang secara otomatis pada instance host.
+ `AccessLevel`— Pilih tingkat akses yang sesuai untuk kebutuhan container Anda (misalnya, READ\$1ONLY atau READ\$1WRITE).
+ `ContainerPath`— (Opsional) Tentukan jalur di mana jalur instance akan dipasang di dalam wadah. Jika tidak ditentukan, defaultnya ke jalur instance.

Untuk informasi selengkapnya tentang titik pemasangan, lihat [ContainerMountPoint](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_ContainerMountPoint.html)di Referensi API GameLift Server Amazon.

## Tentukan wadah penting
<a name="containers-design-fleet-essential"></a>

Untuk grup kontainer per-instance, tetapkan setiap kontainer sebagai esensial atau non-esensial. Grup kontainer per instance harus memiliki setidaknya satu wadah pendukung penting. Wadah penting melakukan pekerjaan kritis dari kelompok kontainer. Wadah penting selalu diharapkan untuk berjalan. Jika gagal, seluruh grup kontainer akan dimulai ulang. 

Setel `ContainerDefinition` properti `Essential` ke true atau false untuk setiap kontainer.

## Konfigurasikan koneksi jaringan
<a name="containers-custom-network"></a>

Anda dapat menyesuaikan akses jaringan untuk memungkinkan lalu lintas eksternal terhubung ke kontainer apa pun dalam armada kontainer. Misalnya, Anda harus membuat koneksi jaringan ke wadah yang menjalankan proses server game Anda, sehingga klien game dapat bergabung dan memainkan game Anda. Klien game terhubung ke server game menggunakan port dan alamat IP.

Dalam armada kontainer, koneksi antara klien dan server tidak langsung. Secara internal, proses dalam wadah mendengarkan pada port *kontainer*. *Secara eksternal, lalu lintas masuk terhubung ke instance armada menggunakan port koneksi.* Amazon GameLift Serversmemelihara pemetaan antara port kontainer internal dan port koneksi yang menghadap ke luar, sehingga lalu lintas yang masuk diarahkan ke proses yang benar pada instance. 

Amazon GameLift Serversmenyediakan lapisan kontrol ekstra untuk koneksi jaringan Anda. Setiap armada kontainer memiliki pengaturan *izin masuk*, yang memungkinkan Anda mengontrol akses ke setiap port koneksi yang menghadap ke luar. Misalnya, Anda dapat menghapus izin untuk semua port koneksi untuk mematikan semua akses ke kontainer armada.

Anda dapat memperbarui izin masuk armada, port koneksi, dan port kontainer.

**Awas**  
Jika Anda memberikan kustom InstanceConnectionPortRange atau InstanceInboundPermissions, tidak Amazon GameLift Servers akan lagi mengelola salah satu nilai untuk armada Anda. Anda harus mengatur kedua bidang untuk menghindari perilaku yang tidak ditentukan.

**Atur rentang port kontainer**  
Konfigurasikan rentang port kontainer sebagai bagian dari setiap definisi kontainer. Ini adalah parameter yang diperlukan untuk definisi grup kontainer. Anda perlu mengkonfigurasi port yang cukup untuk mengakomodasi semua proses yang berjalan secara bersamaan yang memerlukan akses eksternal. Beberapa kontainer tidak membutuhkan port apa pun.  
Wadah server game Anda, yang menjalankan server game Anda, membutuhkan port untuk setiap proses server game yang berjalan secara bersamaan. Proses server game mendengarkan pada port yang ditetapkan dan melaporkannya keAmazon GameLift Servers.

**Atur rentang port koneksi**  
Konfigurasikan armada kontainer Anda dengan satu set port koneksi. Port koneksi menyediakan akses eksternal ke instance armada yang menjalankan kontainer Anda. Amazon GameLift Serversmenetapkan port koneksi dan memetakannya ke port kontainer sesuai kebutuhan.  
Secara default, Amazon GameLift Servers menghitung jumlah port yang diperlukan untuk semua grup kontainer dan menetapkan rentang port untuk mengakomodasi mereka. Kami sangat menyarankan Anda menggunakan nilai Amazon GameLift Servers terhitung, yang diperbarui saat Anda menerapkan pembaruan ke definisi grup kontainer. Jika Anda perlu menyesuaikan rentang port koneksi, gunakan panduan berikut.  
Saat Anda membuat armada kontainer, tentukan rentang port koneksi (lihat [ ContainerFleet: InstanceConnectionPortRange](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_ContainerFleet.html)). Pastikan rentang memiliki port yang cukup untuk dipetakan ke setiap port kontainer yang ditentukan di semua kontainer di kedua grup kontainer di armada. Untuk menghitung port koneksi minimum yang diperlukan, gunakan rumus berikut:   
`[Total number of container ports defined for containers in the game server container group] * [Number of game server container groups per instance] + [Total number of container ports defined for containers in the per-instance container group]`  
Sebagai praktik terbaik, gandakan jumlah minimum port koneksi.   
Jumlah port koneksi berpotensi membatasi jumlah grup kontainer server game per instance. Jika armada hanya memiliki port koneksi yang cukup untuk satu grup kontainer server game per instance, Amazon GameLift Servers akan menyebarkan hanya satu grup kontainer server game, bahkan jika instance memiliki daya komputasi yang cukup untuk beberapa grup kontainer server game.

**Tetapkan izin masuk**  
Izin masuk mengontrol akses eksternal ke armada kontainer dengan menentukan port koneksi mana yang akan dibuka untuk lalu lintas masuk. Anda dapat menggunakan pengaturan ini untuk mengaktifkan dan menonaktifkan akses jaringan armada sesuai kebutuhan.   
Secara default, Amazon GameLift Servers menghitung jumlah port yang diperlukan untuk semua grup kontainer dan menetapkan rentang port untuk mengakomodasi mereka. Kami sangat menyarankan Anda menggunakan nilai Amazon GameLift Servers terhitung, yang diperbarui saat Anda menerapkan pembaruan ke definisi grup kontainer. Jika Anda perlu menyesuaikan rentang port koneksi, gunakan panduan berikut.  
Saat Anda membuat armada kontainer, tentukan satu set izin masuk (lihat [ ContainerFleet: InstanceInboundPermissions](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_ContainerFleet.html)). Port izin masuk harus sesuai dengan rentang port koneksi armada.   
Karena port kontainer dipilih secara acak dari InstanceConnectionPortRange, untuk menjamin bahwa koneksi sesi dapat dibuat, semua port di InstanceConnectionPortRange harus dicakup oleh port di InstanceInboundPermissions

**Contoh skenario**  
Contoh ini menggambarkan cara mengatur ketiga properti koneksi jaringan.  
+ Grup kontainer server game armada kami memiliki 1 kontainer, yang menjalankan 1 proses server game. 

  Dalam definisi grup kontainer server game, kami menetapkan `PortConfiguration` parameter untuk wadah ini sebagai berikut:

  ```
  "PortConfiguration": {
    "ContainerPortRanges": [ { "FromPort": 10, "ToPort": 20, "Protocol": "TCP"} ]  }
  ```
+ Armada kami juga memiliki grup kontainer per instance dengan 1 kontainer. Ini memiliki 1 proses yang membutuhkan akses jaringan. Dalam definisi kontainer per-instance, kami menetapkan `PortConfiguration` parameter untuk wadah ini sebagai berikut:

  ```
  "PortConfiguration": {
    "ContainerPortRanges": [ { "FromPort": 25, "ToPort": 25, "Protocol": "TCP"} ]  }
  ```
+ Armada kami dikonfigurasi dengan 20 grup kontainer server game per instance armada. Dengan informasi ini, kita dapat menggunakan rumus untuk menghitung jumlah port koneksi yang kita butuhkan: 
  + Minimum: **21 port** [1 port kontainer server game \$1 20 grup kontainer server game per instance\$11 port kontainer per instance]
  + Praktik terbaik: **42 port** [port minimum\$1 2]

  Saat membuat armada kontainer, kami mengatur `InstanceConnectionPortRange` parameter sebagai berikut:

  ```
  "InstanceConnectionPortRange": { "FromPort": 1010, "ToPort": 1071 }
  ```
+ Kami ingin mengizinkan akses ke semua port koneksi yang tersedia. Saat membuat armada kontainer, kami mengatur `InstanceInboundPermissions` parameter sebagai berikut: 

  ```
  "InstanceInboundPermissions": [ 
    {"FromPort": 1010, "ToPort": 1071, "IpRange": "10.24.34.0/23", "Protocol": "TCP"} ]
  ```

## Siapkan pemeriksaan kesehatan untuk kontainer
<a name="containers-design-fleet-health"></a>

Sebuah kontainer secara otomatis restart jika mengalami kegagalan terminal dan berhenti berjalan. Jika kontainer dianggap penting, ia meminta seluruh grup kontainer untuk memulai ulang. 

Semua wadah server game secara otomatis dianggap penting. Support container dapat ditunjuk penting, tetapi mereka harus memiliki mekanisme untuk melaporkan kesehatan. Anda juga dapat mengatur pemeriksaan kesehatan untuk wadah pendukung yang tidak penting.

Anda dapat menentukan kriteria khusus tambahan untuk mengukur kesehatan kontainer dan menggunakan pemeriksaan kesehatan untuk menguji kriteria tersebut. Untuk menyiapkan pemeriksaan kesehatan kontainer, Anda dapat mendefinisikannya dalam gambar kontainer Docker atau dalam definisi kontainer Anda. Jika Anda menetapkan pemeriksaan kesehatan dalam definisi kontainer, itu akan mengganti pengaturan apa pun dalam gambar kontainer.

Tetapkan `SupportContainerDefinition` properti berikut untuk pemeriksaan kesehatan kontainer: 
+ `Command`— Berikan perintah yang memeriksa beberapa aspek kesehatan wadah. Anda memutuskan kriteria apa yang akan digunakan untuk mengukur kesehatan. Perintah harus menghasilkan nilai keluar 1 (tidak sehat) atau 0 (sehat). 
+ `StartPeriod`— Tentukan penundaan awal sebelum kegagalan pemeriksaan kesehatan mulai menghitung. Penundaan ini memberi waktu penampung untuk mem-bootstrap prosesnya.
+ `Interval`— Putuskan seberapa sering menjalankan perintah pemeriksaan kesehatan. Seberapa cepat Anda ingin mendeteksi dan menyelesaikan kegagalan kontainer?
+ `Timeout`— Putuskan berapa lama menunggu keberhasilan atau kegagalan sebelum mencoba kembali perintah pemeriksaan kesehatan. Berapa lama perintah pemeriksaan kesehatan harus diselesaikan?
+ `Retries`— Berapa kali perintah pemeriksaan kesehatan harus dicoba lagi sebelum mendaftarkan kegagalan?

## Tetapkan dependensi kontainer
<a name="containers-design-fleet-dependencies"></a>

Dalam setiap grup kontainer Anda dapat mengatur dependensi antar kontainer berdasarkan status kontainer. Ketergantungan berdampak ketika kontainer dependen dapat memulai atau mematikan berdasarkan status wadah lain. 

Kasus penggunaan utama untuk dependensi adalah membuat urutan startup dan shutdown untuk grup kontainer. 

Misalnya, Anda mungkin ingin Container A dimulai terlebih dahulu dan berhasil diselesaikan sebelum Container B dan C dimulai. Untuk mencapai hal ini, pertama buat dependensi untuk Container B pada Container A, dengan syarat bahwa Container A harus berhasil diselesaikan. Kemudian buat dependensi untuk Container C pada Container A dengan kondisi yang sama. Urutan startup terjadi dalam urutan terbalik untuk shutdown.

## Konfigurasikan armada kontainer
<a name="containers-design-fleet-config"></a>

Saat Anda membuat armada kontainer, pertimbangkan poin keputusan berikut. Sebagian besar poin ini bergantung pada arsitektur dan konfigurasi kontainer Anda.

**Tentukan di mana Anda ingin menyebarkan armada Anda**  
Secara umum, Anda ingin menyebarkan armada Anda secara geografis di dekat pemain Anda untuk meminimalkan latensi. Anda dapat menyebarkan armada kontainer Anda ke semua Wilayah AWS yang Amazon GameLift Servers mendukung. Jika Anda ingin menyebarkan server game yang sama ke lokasi geografis tambahan, Anda dapat menambahkan lokasi terpencil ke armada termasuk Wilayah AWS dan Local Zones. Untuk armada multi-lokasi, Anda dapat menyesuaikan kapasitas secara independen di setiap lokasi armada. Untuk informasi selengkapnya tentang lokasi armada yang didukung, lihat[Amazon GameLift Serverslokasi layanan](gamelift-regions.md).  
Pertimbangkan [UDP ping beacon](reference-udp-ping-beacons.md) untuk mengumpulkan data latensi jaringan di berbagai lokasi geografis untuk mengantisipasi latensi antara perangkat pemain dan lokasi armada potensial. Titik akhir khusus ini menerima pesan UDP, alih-alih ping ICMP konvensional, sehingga memberikan pengukuran latensi yang akurat untuk membantu Anda memilih lokasi armada yang optimal.

**Pilih jenis dan ukuran instans untuk armada Anda**  
Amazon GameLift Serversmendukung berbagai jenis instans Amazon EC2, yang semuanya tersedia untuk digunakan dengan armada kontainer. Ketersediaan dan harga jenis instans bervariasi menurut lokasi. Anda dapat melihat daftar jenis instans yang didukung, yang difilter berdasarkan lokasi, di Amazon GameLift Servers konsol (di bawah **Resources, Instance, dan kuota layanan**).   
Saat memilih jenis instance, pertama-tama pertimbangkan keluarga instance. Keluarga instans menawarkan berbagai kombinasi kemampuan CPU, memori, penyimpanan, dan jaringan. Dapatkan informasi lebih lanjut tentang [keluarga instans EC2](https://aws.amazon.com/ec2/instance-types/). Dalam setiap keluarga Anda memiliki berbagai ukuran instans untuk dipilih. Pertimbangkan masalah berikut saat memilih ukuran instans:   
+ Berapa ukuran instans minimum yang dapat mendukung beban kerja Anda? Gunakan informasi ini untuk menghilangkan jenis instance apa pun yang terlalu kecil.
+ Ukuran tipe instance apa yang cocok untuk arsitektur kontainer Anda? Idealnya, Anda ingin memilih ukuran yang dapat menampung beberapa salinan grup kontainer server game Anda dengan ruang terbuang minimal.
+ Granularitas penskalaan apa yang masuk akal untuk game Anda? Kapasitas armada skala melibatkan penambahan atau penghapusan instance, dan setiap instance mewakili kemampuan untuk menyelenggarakan sejumlah sesi permainan tertentu. Pertimbangkan berapa banyak kapasitas yang ingin Anda tambahkan atau hapus dengan setiap instance. Jika permintaan pemain bervariasi ribuan dari menit ke menit, maka mungkin masuk akal untuk menggunakan contoh yang sangat besar yang dapat menampung ratusan atau ribuan sesi permainan. Sebaliknya, Anda mungkin lebih memilih kontrol penskalaan yang lebih halus dengan tipe instance yang lebih kecil.
+ Apakah ada penghematan biaya yang tersedia berdasarkan ukuran? Anda mungkin menemukan bahwa biaya jenis instans tertentu bervariasi menurut lokasi karena ketersediaan.

**Atur pengaturan armada opsional lainnya**  
Anda dapat menggunakan fitur opsional berikut saat mengonfigurasi armada kontainer:   
+ Siapkan server game Anda untuk mengakses AWS sumber daya lain. Lihat [Hubungkan server game yang Amazon GameLift Servers di-host ke AWS sumber daya lain](gamelift-sdk-server-resources.md).
+ Lindungi sesi permainan dengan pemain aktif agar tidak berhenti sebelum waktunya selama acara penurunan skala.
+ Batasi jumlah sesi permainan yang dapat dibuat oleh satu individu di armada dalam rentang waktu terbatas.

# Kurangi biaya hosting game dengan armada Spot
<a name="fleets-spot"></a>

Saat menghosting server game multipemain menggunakan hosting Amazon GameLift Servers terkelola, instance Spot dapat memberikan alternatif hemat biaya untuk instance On-Demand. Model harga Spot menawarkan perangkat keras dan kinerja yang sama dengan On-Demand tetapi dengan potensi penghematan biaya yang signifikan (hingga 70-90%). Namun, mereka datang dengan batasan: ketika AWS membutuhkan kapasitas kembali, itu dapat merebut kembali contoh ini dengan pemberitahuan interupsi dua menit. 

Amazon GameLift Serversmengurangi risiko gangguan untuk hosting server game. Amazon GameLift Serversmemprediksi kemungkinan interupsi pada jenis instans Spot dan menghindari menempatkan sesi permainan pada setiap instance yang berisiko. Jika gangguan langka terjadi, notifikasi memungkinkan Anda untuk mengakhiri sesi permainan dengan anggun untuk pemain.

## Cara Amazon GameLift Servers bekerja dengan armada Spot
<a name="spot-fleet-howitworks"></a>

Saat Anda menyiapkan armada Spot untuk hosting game, Amazon GameLift Servers terus-menerus mengevaluasi jenis dan lokasi instans armada Spot Anda untuk kelayakan hosting game. 
+ Algoritma viabilitas Spot menganalisis pola ketersediaan terkini dan tingkat interupsi historis jenis instans Spot berdasarkan lokasi.
+ Berdasarkan analisis ini, Amazon GameLift Servers mengidentifikasi jenis dan lokasi instans Spot di mana ada potensi gangguan sesi permainan yang tidak dapat diterima. Dibutuhkan tindakan berikut: 
  + Ini menandai kombinasi jenis instance dan lokasi sebagai sementara tidak layak.
  + Ini menghilangkan lokasi armada Spot yang tidak layak dari pertimbangan saat menempatkan sesi permainan baru. Akibatnya, sesi permainan hanya ditempatkan di lokasi armada Spot yang memiliki kemungkinan besar hosting server game tanpa gangguan.
  + Ini menguras lokasi armada Spot dari instance yang ada, bahkan jika AWS tidak merebut kembali mereka, jadi Anda tidak membayar untuk instance yang tidak dapat digunakan untuk hosting game. Jika perlindungan sesi game diaktifkan, instance dimatikan hanya setelah sesi permainan aktif selesai.
+ Amazon GameLift Serversterus-menerus mengevaluasi kembali jenis dan lokasi instans armada Spot Anda untuk kelayakan hosting game. Ketika jenis instans yang sebelumnya tidak layak menjadi layak kembali berdasarkan data historis yang diperbarui, Anda dapat meningkatkan lagi armada Spot, dan Amazon GameLift Servers akan melanjutkan penempatan sesi permainan dengannya.

## Pertimbangan desain
<a name="spot-fleet-design"></a>

Saat merancang solusi Anda untuk menggunakan armada Spot, pertimbangkan masalah berikut:
+ **Nilai durasi sesi permainan** — Durasi rata-rata sesi permainan Anda dapat memengaruhi seberapa baik Spot bekerja untuk game Anda. Dengan sesi permainan yang lebih pendek, perputaran yang lebih cepat membuat sesi game berjalan pada jenis instans yang layak berdasarkan data historis terbaru. Sesi permainan yang lebih lama terus berjalan pada jenis instans tanpa mengevaluasi data kelayakan terbaru, menjalankan risiko gangguan yang lebih besar dari waktu ke waktu.
+ **Evaluasi ketersediaan tipe instans** — Tidak setiap lokasi armada menawarkan setiap jenis instans sebagai Spot. Saat memilih jenis instans untuk armada Spot Anda, gunakan alat pembuatan armada Amazon GameLift Servers konsol untuk membantu Anda menemukan jenis instans Spot di lokasi yang Anda butuhkan. Dengan alat ini, Anda dapat memilih lokasi armada Anda dan kemudian melihat ketersediaan jenis instance di seluruh lokasi tersebut.
+ **Buat armada Spot multi-lokasi** — Anda dapat membuat armada Spot dengan beberapa lokasi. Armada Spot multi-lokasi tunggal menyebarkan instance dengan tipe instans yang sama ke beberapa atau Local Wilayah AWS Zones. Algoritma viabilitas Spot mengevaluasi viabilitas berdasarkan jenis dan lokasi instans. Jika lokasi armada Spot dievaluasi sebagai tidak layak, itu tidak berdampak pada lokasi lain di armada, yang masih dapat digunakan untuk menyelenggarakan sesi permainan.
+ **Buat antrian dengan keragaman armada Spot** — Jika Anda menggunakan armada Spot untuk hosting game, Anda perlu mengatur antrean penempatan sesi game. Untuk setiap permintaan sesi permainan baru, antrian mencari sumber daya hosting game yang tersedia dan memilih opsi terbaik. Dengan armada Spot, Anda menginginkan antrian yang dapat mencari di beberapa armada yang bervariasi di lokasi dan jenis instans, dan Anda ingin menyertakan setidaknya satu armada Sesuai Permintaan sebagai kapasitas cadangan. Antrian multi-armada yang dirancang dengan baik yang menawarkan beragam opsi penempatan sangat tahan terhadap gangguan, perlambatan, dan pemadaman. Untuk panduan tambahan tentang mendesain antrian untuk Spot, lihat[Membangun antrian untuk Instans Spot](spot-tasks.md).
+ **Tangani interupsi dengan anggun** — Siapkan server game Anda untuk meminimalkan dampak pemain jika terjadi gangguan Spot. Saat AWS merebut kembali instance Spot, Amazon GameLift Servers meneruskan notifikasi penghentian ke semua proses server yang terpengaruh menggunakan fungsi callback SDK server. `onProcessTerminate()` Game Anda perlu menerapkan panggilan balik ini untuk mengakhiri sesi permainan dengan anggun. Untuk informasi selengkapnya, lihat [Menanggapi notifikasi shutdown proses server](gamelift-sdk-server-api.md#gamelift-sdk-server-terminate).
**catatan**  
AWS melakukan segala upaya untuk memberikan notifikasi sebelum merebut kembali sebuah instance, tetapi ada kemungkinan bahwa Instans Spot AWS mengklaim kembali sebelum peringatan tiba. Anda juga harus mempersiapkan server game Anda untuk menangani gangguan yang tidak terduga.
+ **Konfigurasikan auto-scaling untuk armada cadangan Anda untuk mempertahankan layanan selama gangguan Spot.** Auto-scaling pelacakan target mempertahankan buffer kapasitas dan menskalakan secara otomatis sesuai permintaan. Dengan auto-scaling, armada cadangan (Spot atau On-Demand) akan mulai meningkatkan kapasitas setiap kali mereka mulai menerima lebih banyak permintaan sesi game. 

  Untuk mengganti kapasitas yang hilang dengan cepat saat armada Spot menjadi tidak layak, mekanisme penskalaan khusus dapat menggunakan metrik antrian dan armada yang tersedia untuk memulai skala cepat armada cadangan. Deteksi kapan armada Spot menjadi tidak layak dengan metrik seperti`FirstChoiceOutOfCapacity`,, dan. `FirstChoiceNotViable` `PercentAvailableGameSessions` Perkirakan kebutuhan kapasitas penggantian dengan menganalisis data `PlacementsStarted` metrik terbaru. Setelah menskalakan armada cadangan untuk menangani permintaan langsung, auto-scaling normal dapat mengambil alih.
+ **Integrasi dengan FlexMatch** — Jika solusi Anda menggunakan FlexMatch mak comblang, tidak ada persyaratan khusus untuk armada Spot. Anda dapat mengonfigurasi mak comblang untuk menggunakan antrian dengan armada Spot. Amazon GameLift ServersSecara otomatis memprioritaskan penempatan pertandingan di seluruh armada Spot dan On-Demand, termasuk saat menempatkan sesi permainan baru dan saat mengisi kembali slot pemain kosong di sesi permainan yang ada.

# Optimalkan konfigurasi runtime server game pada managed Amazon GameLift Servers
<a name="fleets-multiprocess"></a>

Anda dapat menyiapkan konfigurasi runtime armada EC2 terkelola untuk menjalankan beberapa proses server game per instance. Ini menggunakan sumber daya hosting Anda dengan lebih efisien.

## Bagaimana armada mengelola beberapa proses
<a name="fleets-multiprocess-howitworks"></a>

Amazon GameLift Serversmenggunakan konfigurasi runtime armada untuk menentukan jenis dan jumlah proses yang akan dijalankan pada setiap instance. Konfigurasi runtime berisi setidaknya satu konfigurasi proses server yang mewakili satu server game yang dapat dieksekusi. Anda dapat menentukan konfigurasi proses server tambahan untuk menjalankan jenis proses lain yang terkait dengan game Anda. Setiap konfigurasi proses server berisi informasi berikut:
+ Nama file dan jalur yang dapat dieksekusi di bangunan game Anda.
+ (Opsional) Parameter yang akan diteruskan ke proses saat peluncuran.
+ Jumlah proses untuk berjalan secara konkuren.

Ketika sebuah instance dalam armada diaktifkan, ia meluncurkan serangkaian proses server yang ditentukan dalam konfigurasi runtime. Dengan banyak proses, Amazon GameLift Servers terhuyung-huyung peluncuran setiap proses. Proses server memiliki rentang hidup yang terbatas. Saat mereka berakhir, Amazon GameLift Servers meluncurkan proses baru untuk mempertahankan jumlah dan jenis proses server yang ditentukan dalam konfigurasi runtime.

Anda dapat mengubah konfigurasi waktu aktif kapan saja dengan menambahkan, mengubah, atau menghapus konfigurasi proses server. Setiap instance secara teratur memeriksa pembaruan konfigurasi runtime armada untuk mengimplementasikan perubahan. Berikut cara Amazon GameLift Servers mengadopsi perubahan konfigurasi runtime:

1. Instance mengirimkan Amazon GameLift Servers permintaan ke konfigurasi runtime versi terbaru.

1. Instance membandingkan proses aktifnya dengan konfigurasi runtime terbaru, dan kemudian melakukan hal berikut:
   + Jika konfigurasi runtime yang diperbarui menghapus jenis proses server, maka proses server aktif jenis ini terus berjalan hingga berakhir. Instance tidak menggantikan proses server ini.
   + Jika konfigurasi runtime yang diperbarui mengurangi jumlah proses bersamaan untuk jenis proses server, maka kelebihan proses server jenis ini terus berjalan hingga berakhir. Instance tidak menggantikan proses server berlebih ini.
   + Jika konfigurasi runtime yang diperbarui menambahkan jenis proses server baru atau meningkatkan proses bersamaan untuk tipe yang ada, maka instance memulai proses server baru, hingga maksimum. Amazon GameLift Servers Dalam hal ini, instance meluncurkan proses server baru saat proses yang ada berakhir.

## Optimalkan armada untuk beberapa proses
<a name="fleets-multiprocess-changes"></a>

Untuk menggunakan beberapa proses pada armada, lakukan hal berikut:
+ [Buat build](gamelift-build-intro.md) yang berisi executable server game yang ingin Anda terapkan ke armada, lalu unggah build tersebut. Amazon GameLift Servers Semua server game dalam build harus berjalan pada platform yang sama dan menggunakan SDK server untukAmazon GameLift Servers.
+ Buat konfigurasi waktu aktif dengan satu atau lebih konfigurasi proses server dan beberapa proses konkuren.
+ Integrasikan klien game dengan versi AWS SDK 2016-08-04 atau yang lebih baru.

Untuk mengoptimalkan kinerja armada, kami sarankan Anda melakukan hal berikut:
+ Menangani skenario shutdown proses server sehingga Amazon GameLift Servers dapat mendaur ulang proses secara efisien. Contoh:
  + Tambahkan prosedur shutdown ke kode server game Anda yang memanggil API `ProcessEnding()` server.
  + Menerapkan fungsi callback `OnProcessTerminate()` dalam kode server game Anda untuk menangani permintaan penghentian dariAmazon GameLift Servers.
+ Pastikan itu Amazon GameLift Servers dimatikan dan meluncurkan kembali proses server yang tidak sehat. Laporkan status kesehatan kembali Amazon GameLift Servers dengan menerapkan fungsi `OnHealthCheck()` callback dalam kode server game Anda. Amazon GameLift Serverssecara otomatis mematikan proses server yang dilaporkan tidak sehat selama tiga laporan berturut-turut. Jika Anda tidak menerapkan`OnHealthCheck()`, maka Amazon GameLift Servers asumsikan bahwa proses server sehat, kecuali proses gagal merespons komunikasi.

## Pilih jumlah proses per instance
<a name="fleets-multiprocess-number"></a>

Saat memutuskan jumlah proses bersamaan yang akan dijalankan pada sebuah instance, ingatlah hal berikut:
+ Amazon GameLift Serversmembatasi setiap instance ke [jumlah maksimum proses bersamaan](https://docs.aws.amazon.com/general/latest/gr/gamelift.html#limits_gamelift). Jumlah semua proses bersamaan untuk konfigurasi proses server armada tidak dapat melebihi kuota ini.
+ Untuk mempertahankan tingkat kinerja yang dapat diterima, jenis instans Amazon EC2 mungkin membatasi jumlah proses yang dapat berjalan secara bersamaan. Uji konfigurasi yang berbeda untuk game Anda untuk menemukan jumlah proses yang tepat untuk jenis instans pilihan Anda.
+ Amazon GameLift Serverstidak menjalankan lebih banyak proses bersamaan daripada jumlah total yang dikonfigurasi. Ini berarti bahwa transisi dari konfigurasi runtime sebelumnya ke konfigurasi baru mungkin terjadi secara bertahap.

# Bekerja dengan Amazon GameLift Servers Agen
<a name="integration-dev-iteration-agent"></a>

Amazon GameLift ServersAgen mengawasi jalannya proses server game di Amazon GameLift Servers armada Anda. Agen digunakan untuk setiap komputasi dalam armada, dan menyediakan manajemen proses otomatis, manajemen hosting, dan logging untuk komputasi. Untuk menggunakan Agen, Anda harus memiliki build server game yang terintegrasi dengan SDK server untuk Amazon GameLift Servers versi 5.x atau yang lebih baru. 

Amazon GameLift ServersAgen tersedia secara eksternal untuk digunakan dengan Amazon GameLift Servers armada yang tidak dikelola armada. EC2 ( EC2 Armada terkelola menangani tugas Agen secara otomatis.) Anda dapat memilih untuk menjalankan Amazon GameLift Servers armada, termasuk armada Anywhere, dengan atau tanpa Agen. Tanpa Agen, Anda harus memberikan solusi alternatif untuk menyelesaikan tugas yang diperlukan. 

Saat diterapkan ke komputasi, Amazon GameLift Servers Agen harus diluncurkan sebelum proses server game dimulai. Saat diluncurkan, Agen menyelesaikan tugas-tugas berikut:
+ Mendaftarkan komputasi dengan armada Amazon GameLift Servers Anywhere menggunakan API. [RegisterCompute](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_RegisterCompute.html)
+ Memanggil [GetComputeAuthToken](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_GetComputeAuthToken.html)API untuk mengambil token otorisasi dan menyimpannya untuk digunakan oleh proses server yang berjalan pada komputasi.
+ Menetapkan variabel lingkungan WebSocket URL untuk komputasi, dan membuat WebSocket koneksi ke layanan. Amazon GameLift Servers
+ Meminta versi terbaru dari konfigurasi runtime armada dari Amazon GameLift Servers layanan. 
+ Memulai dan menghentikan proses server sesuai dengan instruksi konfigurasi runtime.

Kode sumber dan instruksi pembuatan untuk Amazon GameLift Servers Agen tersedia di [Amazon GameLift ServersAgen](https://github.com/aws/amazon-gamelift-agent) GitHub.

## Tentang Agen
<a name="gamelift-agent-usage"></a>

Amazon GameLift ServersAgen dirancang untuk menangani tugas-tugas berikut untuk armada Anda:

**Manajemen proses**
+ Memulai proses server baru seperti yang didefinisikan dalam instruksi runtime. Agen mungkin menggunakan konfigurasi runtime kustom yang diterapkan dengan Agen. Atau, Anda dapat memberikan `RuntimeConfiguration` sebagai bagian dari definisi armada Anda. Pendekatan ini memiliki keuntungan karena Anda dapat memodifikasi konfigurasi runtime armada kapan saja. Agen secara berkala meminta konfigurasi runtime yang diperbarui dari layanan. Amazon GameLift Servers
+ Memantau aktivasi proses server dan menghentikan proses ketika mereka tidak aktif tepat waktu.
+ Mengirim detak jantung ke. Amazon GameLift Servers Jika Agen gagal mengirim detak jantung, perhitungan mungkin ditandai sebagai basi.
+ Melaporkan Amazon GameLift Servers kapan proses server berakhir. Amazon GameLift Serversmenggunakan informasi ini untuk memantau ketersediaan server game untuk penempatan sesi game.
+ Memancarkan peristiwa armada untuk proses server, termasuk: 
  + `SERVER_PROCESS_INVALID_PATH`: Parameter peluncuran proses server game tidak dikonfigurasi dengan benar.
  + `SERVER_PROCESS_TERMINATED_UNHEALTHY`: Proses server game tidak melaporkan pemeriksaan kesehatan yang valid dalam waktu 3 menit setelah pengaktifan dan oleh karena itu dihentikan.
  + `SERVER_PROCESS_FORCE_TERMINATED`: Proses server game tidak keluar dengan bersih setelah `OnProcessTerminate()` dikirim dalam waktu 30 detik.
  + `SERVER_PROCESS_CRASHED`: Proses server game macet karena beberapa alasan.

**Manajemen komputasi**
+ Menerima pesan dari Amazon GameLift Servers layanan untuk mematikan komputasi.
+ Meminta komputasi untuk dihentikan oleh. Amazon GameLift Servers

**Pencatatan log**
+ Mengunggah log ke bucket Amazon S3 di AWS akun Anda.

# Abstrak penunjukan Amazon GameLift Servers armada dengan alias
<a name="aliases-intro"></a>

Amazon GameLift Servers*Alias* digunakan untuk mengabstraksi tujuan hosting. Tujuan hosting memberi tahu Amazon GameLift Servers di mana mencari sumber daya yang tersedia untuk menyelenggarakan sesi permainan baru bagi pemain. Alias berguna dalam skenario berikut: 
+ Jika game Anda tidak menggunakan antrian multi-armada untuk penempatan sesi game, game akan meminta sesi permainan baru dengan menentukan ID armada. Amazon GameLift Servers Selama masa permainan, Anda akan mengganti armada beberapa kali, untuk memperbarui build server, memperbarui perangkat keras dan sistem operasi hosting, atau menyelesaikan masalah kinerja. Gunakan alias untuk mengabstraksi ID armada sehingga Anda dapat dengan mulus mengalihkan lalu lintas pemain dari armada yang ada ke armada baru. 
+ Jika Anda ingin melakukan sesuatu selain membuat sesi permainan baru saat klien game memintanya. Misalnya, Anda mungkin ingin mengarahkan pemain yang menggunakan out-of-date klien ke situs web peningkatan.

Alias harus menentukan strategi routing. Ada dua jenis. Strategi perutean *sederhana* merutekan lalu lintas pemain ke ID armada tertentu, yang dapat Anda perbarui untuk mengarahkan lalu lintas. Strategi perutean *terminal* meneruskan pesan kembali ke klien alih-alih membuat sesi permainan baru. Anda dapat mengubah strategi routing alias kapan saja.

Jika Anda menggunakan antrian untuk penempatan sesi game, Anda tidak memerlukan alias untuk mengarahkan lalu lintas saat mengganti armada. Dengan antrian, Anda cukup menambahkan armada baru dan menghapus armada lama. Tindakan ini tidak terlihat oleh pemain, karena permintaan sesi permainan baru secara otomatis dipenuhi menggunakan armada baru. Itu tidak memengaruhi sesi permainan yang ada. Anda dapat mengidentifikasi tujuan antrian dengan menggunakan ID armada atau alias. 



**Topics**
+ [Buat sebuah Amazon GameLift Servers alias](aliases-creating.md)

# Buat sebuah Amazon GameLift Servers alias
<a name="aliases-creating"></a>

Topik ini menjelaskan cara membuat Amazon GameLift Servers alias untuk digunakan dengan penempatan sesi game. 

**Untuk membuat alias**

Gunakan salah satu Amazon GameLift Servers konsol atau AWS Command Line Interface (AWS CLI) untuk membuat alias. 

------
#### [ Console ]

Di [Amazon GameLift Servers konsol](https://console.aws.amazon.com/gamelift/), gunakan panel navigasi untuk membuka halaman **Alias**.

1.  Pilih **Buat alias**.

1. Masukkan **nama** alias. Sebaiknya sertakan karakteristik yang berarti dalam nama alias untuk membantu saat melihat daftar alias.

1. Masukkan alias **Deskripsi** sesuai kebutuhan.

1. Pilih **strategi Routing** untuk alias.

   1. Jika Anda memilih strategi perutean **sederhana**, pilih ID armada dari daftar untuk dikaitkan dengan alias ini. Daftar ini mencakup semua armada dalam eith yang saat ini dipilih. Wilayah AWS Anda harus membuat alias di Wilayah yang sama dengan armada.

   1. Jika Anda memilih strategi perutean **Terminal**, masukkan nilai string yang Anda inginkan Amazon GameLift Servers untuk kembali ke klien game sebagai tanggapan atas permintaan sesi permainan. Permintaan dengan alias terminal melempar pengecualian dengan pesan yang disematkan.

1. (Opsional) Tambahkan **Tag** ke sumber daya alias. Setiap tag terdiri dari kunci dan nilai opsional, yang keduanya Anda tentukan. Tetapkan tag ke AWS sumber daya yang ingin Anda kategorikan dengan cara yang berguna, seperti berdasarkan tujuan, pemilik, atau lingkungan. Pilih **Tambahkan tag baru** untuk setiap tag yang ingin Anda tambahkan. 

1. Saat Anda siap untuk menyebarkan armada baru, pilih **Buat**.

------
#### [ AWS CLI ]

Gunakan [https://docs.aws.amazon.com/cli/latest/reference/gamelift/create-alias.html](https://docs.aws.amazon.com/cli/latest/reference/gamelift/create-alias.html)perintah untuk membuat alias.Amazon GameLift Servers membuat sumber daya alias di default Anda saat ini Wilayah AWS (atau Anda dapat menambahkan tag --region untuk menentukan yang berbeda Wilayah AWS).

Minimal, sertakan nama alias dan strategi perutean. Untuk strategi routing sederhana, tentukan ID armada di Region yang sama dengan alias. Untuk strategi routing terminal, berikan string pesan.

------