

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

# Amazon GameLift Serversarmada kontainer terkelola
<a name="fleets-intro-containers"></a>

Amazon GameLift Serversarmada kontainer terkelola menyediakan sumber daya berbasis cloud untuk menghosting perangkat lunak server game kontainer Anda. Dengan armada kontainer terkelola, Anda mendapatkan fleksibilitas, keamanan, dan keandalan AWS Cloud sumber daya, yang dioptimalkan untuk hosting game multipemain. Amazon GameLift Serversmenyediakan alat manajemen host yang kuat.

**Percepat orientasi dengan alat ini untuk kontainer terkelola:**  
[Kit starter kontainer](https://github.com/aws/amazon-gamelift-toolkit/tree/main/containers-starter-kit) merampingkan integrasi dan pengaturan armada. Ini menambahkan fitur manajemen sesi permainan penting ke server game Anda, dan menggunakan templat yang telah dikonfigurasi sebelumnya untuk membangun armada kontainer dan pipeline penyebaran otomatis untuk server game Anda. Setelah penerapan, gunakan Amazon GameLift Servers konsol dan alat API untuk memantau kinerja armada, mengelola sesi game, dan menganalisis metrik. 
Untuk pengembang Unreal Engine atau Unity, gunakan [Amazon GameLift Serversplugin dan server mesin game SDKs untuk mengintegrasikan server](https://github.com/amazon-gamelift/) game Anda dan membangun armada kontainer dari dalam lingkungan pengembangan mesin game Anda. Alur kerja terpandu plugin membantu Anda membuat solusi yang cepat dan sederhana dengan hosting berbasis cloud menggunakan kontainer terkelola. Anda dapat membangun fondasi ini untuk membuat solusi hosting khusus untuk game Anda.

 Armada kontainer terkelola adalah sekumpulan instans Amazon Elastic Compute Cloud (Amazon EC2) yang menjalankan Linux, yang Amazon GameLift Servers memiliki dan beroperasi berdasarkan konfigurasi Anda. Instans ini secara fisik terletak di Zona yang didukung Wilayah AWS atau Local Zones. Saat Anda membuat armada kontainer, Anda memilih jenis EC2 instans yang memenuhi persyaratan server game Anda untuk daya komputasi, memori, penyimpanan, kemampuan jaringan.

Untuk armada kontainer terkelola, Anda menyimpan gambar kontainer berbasis Linux di repositori Amazon Elastic Container Registry (Amazon ECR) Registry (Amazon Elastic Container Registry) dan membuat definisi grup kontainer untuk menggambarkan arsitektur kontainer Anda. Saat Anda membuat armada, Amazon GameLift Servers berikan instance armada dengan versi terbaru Linux Amazon Machine Image (AMI) dan gunakan definisi grup kontainer untuk menyebarkan gambar kontainer Anda. Semua instance dalam armada kontainer akan menggunakan versi AMI yang sama, meskipun Anda memperbarui definisi grup kontainer atau mengubah gambar kontainer.

**catatan**  
Sebagai praktik terbaik, kami sarankan mengganti armada Anda setiap 30 hari untuk menjaga lingkungan yang aman dan up-to-date runtime untuk server game yang Anda host. Ini membutuhkan pembuatan armada baru dan memigrasikan lalu lintas pemain ke sana. Untuk panduan lebih lanjut, lihat[Praktik terbaik keamanan untuk Amazon GameLift Servers](security-best-practices.md).

Setelah menerapkan instance kontainer, kontainer mulai meluncurkan proses server game. Setiap proses server game membuat koneksi ke Amazon GameLift Servers layanan, melaporkan kesiapan untuk menyelenggarakan sesi permainan, dan mulai mengkomunikasikan status kesehatan. Amazon GameLift Serverskemudian dapat meminta proses server untuk memulai sesi permainan.

Selain penerapan armada, Amazon GameLift Servers menangani tugas manajemen host berikut sehingga Anda tidak perlu: 
+ Melacak status semua kontainer di armada dan menggantikan yang basi atau tidak sehat.
+ Menangani otentikasi untuk komunikasi antara proses server dan Amazon GameLift Servers layanan.
+ Menawarkan alat penskalaan otomatis yang menyesuaikan kapasitas armada secara dinamis untuk memenuhi permintaan pemain.
+ Melaporkan metrik kinerja untuk EC2 instance armada, kontainer, dan proses server.

Lihat topik berikut tentang cara menyiapkan dan memelihara armada kontainer terkelola: 
+  [Peta jalan pengembangan untuk hosting dengan kontainer Amazon GameLift Servers terkelola](gamelift-roadmap-containers.md)
+  [Buat armada kontainer Amazon GameLift Servers terkelola](containers-build-fleet.md)
+  [Sesuaikan armada Amazon GameLift Servers kontainer](containers-design-fleet.md)
+  [Menskalakan kapasitas hosting game dengan Amazon GameLift Servers](fleets-manage-capacity.md)
+  [Memperbarui armada kontainer Amazon GameLift Servers terkelola](containers-update-fleet.md)

# Cara kerja kontainer Amazon GameLift Servers
<a name="containers-howitworks"></a>

Amazon GameLift ServersArmada kontainer dirancang untuk memberi Anda fleksibilitas dalam cara Anda menerapkan dan menskalakan aplikasi kontainer Anda. Ini menggunakan Amazon Elastic Container Service (Amazon ECS) untuk mengelola penerapan tugas dan eksekusi untuk armada Anda. Amazon GameLift Servers Topik ini menjelaskan elemen struktural dasar untuk menjalankan kontainer pada armada yang Amazon GameLift Servers dikelola, menggambarkan arsitektur umum, dan menguraikan beberapa konsep inti.

**Percepat orientasi dengan alat ini untuk kontainer terkelola:**  
[Kit starter kontainer](https://github.com/aws/amazon-gamelift-toolkit/tree/main/containers-starter-kit) merampingkan integrasi dan pengaturan armada. Ini menambahkan fitur manajemen sesi permainan penting ke server game Anda, dan menggunakan templat yang telah dikonfigurasi sebelumnya untuk membangun armada kontainer dan pipeline penyebaran otomatis untuk server game Anda. Setelah penerapan, gunakan Amazon GameLift Servers konsol dan alat API untuk memantau kinerja armada, mengelola sesi game, dan menganalisis metrik. 
Untuk pengembang Unreal Engine atau Unity, gunakan [Amazon GameLift Serversplugin](https://github.com/amazon-gamelift/) untuk mengintegrasikan server game Anda dan membangun armada kontainer dari dalam lingkungan pengembangan mesin game Anda. Alur kerja terpandu plugin membantu Anda membuat solusi yang cepat dan sederhana dengan hosting berbasis cloud menggunakan kontainer terkelola. Kemudian bangun di atas fondasi ini untuk membuat solusi hosting khusus untuk game Anda.

## Komponen armada kontainer
<a name="containers-howitworks-components"></a>

**Armada**  
Armada kontainer adalah kumpulan instans Amazon EC2 untuk meng-host server game kontainer Anda. Instans ini dikelola oleh Amazon GameLift Servers atas nama Anda. Saat membuat armada, Anda mengonfigurasi bagaimana arsitektur kontainer dengan perangkat lunak server game Anda diterapkan ke setiap instance armada. Anda dapat membuat armada kontainer dengan instance di satu atau beberapa lokasi geografis. Anda dapat menggunakan alat Amazon GameLift Servers penskalaan untuk secara otomatis menskalakan kapasitas armada kontainer untuk menyelenggarakan sesi permainan dan pemain. 

**Instans**  
Instans Amazon EC2 adalah server virtual yang menyediakan kapasitas komputasi untuk hosting game. DenganAmazon GameLift Servers, Anda dapat memilih dari berbagai jenis instans. Setiap jenis instans menawarkan kombinasi CPU, memori, penyimpanan, dan kapasitas jaringan yang berbeda.   
Saat Anda membuat armada kontainer, Amazon GameLift Servers gunakan kontainer Anda berdasarkan jenis instans yang Anda pilih dan konfigurasi armada Anda. Setiap instance armada yang digunakan identik dan menjalankan perangkat lunak server game kontainer Anda dengan cara yang sama. Jumlah instance dalam armada menentukan ukuran armada dan kapasitas hosting game. 

**Kelompok kontainer**  
Amazon GameLift Serversmenggunakan konsep grup kontainer untuk mendeskripsikan dan mengelola satu set kontainer. Sebuah grup kontainer mirip dengan container “task” atau “pod”. Dalam setiap grup kontainer, Anda dapat menentukan bagaimana kontainer berperilaku, mengatur dependensi, dan berbagi sumber daya CPU dan memori yang tersedia.  
Setiap instance armada dapat memiliki jenis grup kontainer berikut:  
+ **Grup kontainer server game** mengelola kontainer yang menjalankan aplikasi server game dan perangkat lunak pendukung Anda. Armada kontainer harus memiliki salah satu dari jenis grup kontainer ini untuk menyelenggarakan sesi permainan dan pemain. Grup kontainer server game dapat direplikasi di seluruh instance armada. Jumlah replika grup server game per instance armada tergantung pada persyaratan komputasi perangkat lunak Anda dan sumber daya komputasi yang tersedia pada instance tersebut. 
+ **Grup kontainer per-instance**, yang bersifat opsional, memberi Anda kemampuan untuk menjalankan perangkat lunak tambahan pada setiap instance armada. Mereka berguna untuk menjalankan layanan latar belakang atau program utilitas, seperti untuk pemantauan. Perangkat lunak server game Anda tidak secara langsung bergantung pada proses dalam grup per-instance. Hanya satu salinan grup kontainer per-instance yang disebarkan ke setiap instance armada. 
Setiap kelompok kontainer dalam armada kontainer memiliki satu kontainer yang ditunjuk “penting”. Kontainer penting mendorong siklus hidup grup kontainer. Jika wadah penting gagal, seluruh grup kontainer akan dimulai ulang.

**Kontainer**  
Wadah adalah elemen paling dasar dari arsitektur berbasis kontainer. Ini termasuk gambar kontainer dengan perangkat lunak yang dapat dieksekusi dan file dependen. Tentukan wadah untuk mengonfigurasi bagaimana perangkat lunak berjalan dan berinteraksi dengannyaAmazon GameLift Servers.  
Amazon GameLift Serversmendefinisikan dua jenis kontainer:   
+ **Wadah server game** mencakup semua yang Anda butuhkan untuk menjalankan proses server game Anda dan menyelenggarakan sesi permainan untuk pemain. Ini termasuk pembuatan server game Anda dan perangkat lunak dependen. Tentukan satu wadah server game untuk grup kontainer server game armada. Wadah server game secara otomatis dianggap penting untuk grup kontainer.
+ **Kontainer dukungan** menjalankan perangkat lunak tambahan untuk mendukung server game Anda. Ini mirip dengan konsep wadah “sespan”. Ini memberi Anda opsi untuk menjalankan dan menskalakan perangkat lunak pendukung di samping server game Anda tetapi mengelola sebagai wadah terpisah. Dalam grup kontainer server game, Anda dapat menentukan nol atau lebih kontainer dukungan. Dalam grup kontainer per-instance, semua kontainer adalah kontainer pendukung. Setiap wadah pendukung dapat ditunjuk penting. 

**Hitung**  
Komputasi mewakili salinan grup kontainer server game pada instance armada.

## Arsitektur umum
<a name="containers-howitworks-architecture"></a>

Diagram berikut menggambarkan struktur armada kontainer yang paling sederhana. Dalam struktur ini, setiap instance dalam armada memelihara satu salinan grup kontainer server game. Grup kontainer memiliki wadah server game tunggal yang menjalankan satu proses server game. Dalam contoh ini, armada kontainer dikonfigurasi untuk menempatkan satu salinan grup kontainer server game per instance. Dengan arsitektur ini, setiap instance menjalankan satu proses server game.

![\[Contoh arsitektur kontainer sederhana, dengan wadah server game tunggal di grup kontainer server game.\]](http://docs.aws.amazon.com/id_id/gameliftservers/latest/developerguide/images/container_architecture_simple.png)


Diagram kedua ini menggambarkan arsitektur armada kontainer yang lebih kompleks. Dalam struktur ini, armada memiliki grup kontainer server game dan grup kontainer per-instance. Grup kontainer server game memiliki wadah terpisah untuk proses server game dan proses dukungan. Armada dikonfigurasi untuk menempatkan tiga salinan grup kontainer server game pada setiap instance armada. Grup kontainer per-instance tidak pernah direplikasi. Dalam contoh ini, armada kontainer dikonfigurasi untuk menempatkan tiga salinan grup kontainer server game per instance. Dengan arsitektur ini, setiap instance menjalankan tiga proses server game.

![\[Contoh arsitektur kontainer dengan beberapa kontainer dalam grup kontainer server game dan satu kontainer dalam grup kontainer per-instance.\]](http://docs.aws.amazon.com/id_id/gameliftservers/latest/developerguide/images/container_architecture_complex.png)


## Fitur inti
<a name="containers-howitworks-concepts"></a>

Bagian ini merangkum bagaimana Amazon GameLift Servers mengimplementasikan beberapa konsep kontainer dasar. Untuk petunjuk tentang cara bekerja dengan armada kontainer, lihat topik yang relevan dalam panduan ini. 

### Pembaruan armada aktif
<a name="containers-howitworks-concepts-updating"></a>

Kontainer terkelola menyediakan dukungan lanjutan untuk membantu Anda mengelola siklus hidup perangkat lunak dan arsitektur kontainer yang dihosting. Anda dapat memperbarui definisi kontainer, termasuk gambar kontainer, dan menerapkan perubahan ke armada yang ada. Fitur ini membuatnya lebih cepat dan lebih mudah untuk mengulangi perubahan pada container Anda selama pengembangan. Ini juga menyediakan fitur untuk membantu Anda membangun, menyebarkan, dan melacak pembaruan versi perangkat lunak Anda dari waktu ke waktu. Fitur ini mencakup:
+ Kelola pembaruan dan pembuatan versi definisi grup kontainer. Anda dapat memperbarui hampir semua properti definisi grup kontainer, termasuk gambar kontainer dan pengaturan konfigurasi. Setiap kali Anda memperbarui wadah, Amazon GameLift Servers secara otomatis menetapkan nomor versi ke pembaruan dan secara default mempertahankan semua versi. Anda dapat mengakses versi tertentu, dan Anda dapat menghapus versi yang diinginkan. Saat membuat armada kontainer, Anda dapat menentukan definisi dan versi grup kontainer yang akan diterapkan.
+ Perbarui armada kontainer yang ada dengan definisi grup kontainer baru dan pengaturan konfigurasi. Anda dapat menerapkan pembaruan kontainer ke armada yang sudah disebarkan ke instance armada. Anda dapat melacak status penerapan pembaruan di setiap lokasi armada menggunakan Konsol Manajemen AWS atau AWS SDK dan CLI.
+ Konfigurasikan bagaimana Anda ingin pembaruan armada diterapkan di seluruh armada aktif. 
  + Perlindungan sesi permainan. Pilih untuk melindungi instance armada dengan sesi permainan aktif hingga setelah sesi permainan berakhir (penerapan aman). Atau pilih untuk mengganti instance armada terlepas dari aktivitas sesi game (penerapan tidak aman). Gunakan penerapan yang tidak aman selama fase pengembangan dan pengujian untuk mengurangi waktu penerapan. 
  + Persentase sehat minimum. Tentukan persentase tugas sehat yang ingin Anda pertahankan selama penerapan. Fitur ini memungkinkan Anda memutuskan berapa banyak instance armada yang terpengaruh selama penerapan. Nilai rendah memprioritaskan kecepatan penerapan, sementara nilai tinggi memastikan bahwa ketersediaan server game tetap tinggi selama penerapan. 
  + Strategi kegagalan penerapan. Tentukan tindakan apa yang harus diambil jika penerapan gagal. Kegagalan penerapan berarti bahwa beberapa kontainer yang diperbarui telah gagal memeriksa status dan dianggap terganggu. Anda dapat mengatur penerapan untuk secara otomatis memutar kembali semua instance armada ke status yang digunakan sebelumnya. Atau Anda dapat memilih untuk mempertahankan beberapa instance armada yang terganggu untuk digunakan dalam debugging.

Kemampuan untuk memperbarui armada aktif sangat berguna ketika Anda ingin menyebarkan pembaruan ke perangkat lunak server game Anda. Setelah Anda membuat image kontainer baru untuk server game Anda, menerapkannya adalah proses dua langkah: pertama, perbarui definisi grup kontainer dengan gambar baru, dan kedua, perbarui armada kontainer. Amazon GameLift Serversmenangani semua tugas lain sesuai kebutuhan.

### Kemasan kontainer
<a name="containers-howitworks-concepts-packing"></a>

Saat mengembangkan struktur kontainer Anda untuk penyebaran dalam armada kontainer, tujuan umum adalah mengoptimalkan penggunaan daya komputasi yang tersedia. Untuk mencapai tujuan ini, Anda ingin mengemas grup kontainer server game sebanyak mungkin ke setiap instance armada.

Amazon GameLift Serversmembantu Anda melakukan ini dengan menghitung grup kontainer server game maksimum per instance, berdasarkan informasi berikut:
+ Jenis instans armada dan vCPU dan sumber daya memorinya.
+ Persyaratan vCPU dan memori untuk semua kontainer dalam grup kontainer server game. 

  Persyaratan vCPU dan memori untuk semua kontainer dalam grup kontainer per-instance, jika ada. 

Saat Anda membuat armada kontainer, Anda dapat menggunakan maksimum yang dihitung atau Anda dapat menentukan nomor yang diinginkan. Sebagai praktik terbaik, rencanakan untuk bereksperimen dengan perangkat lunak server game kontainer Anda untuk menentukan persyaratan sumber daya untuk kinerja server game yang optimal.

### Penskalaan kapasitas
<a name="containers-howitworks-concepts-scaling"></a>

Kapasitas armada mengukur jumlah sesi permainan yang dapat diselenggarakan armada secara bersamaan. Anda juga dapat mengukur kapasitas berdasarkan jumlah pemain bersamaan yang dapat didukung armada. Untuk menambah atau mengurangi kapasitas hosting armada, Anda menambah atau menghapus instance armada. 

Armada kontainer dikonfigurasi untuk menjalankan sejumlah proses server game bersamaan pada setiap instance armada. (Anda dapat menghitung ini berdasarkan (1) grup kontainer server game per instance dan (2) jumlah proses server game yang berjalan di setiap grup kontainer.) Jumlah server game cncurrent per instance memberi tahu Anda apa dampaknya menambahkan atau menghapus setiap instance armada. Misalnya, jika armada kontainer Anda menjalankan 1 proses server game di setiap grup kontainer server game, dan setiap instance armada menampung 100 grup kontainer server game, Anda menambah atau mengurangi kapasitas armada Anda untuk meng-host sesi game bersamaan dengan penambahan 100. Jika setiap sesi permainan memiliki 10 slot pemain, maka Anda menambah atau mengurangi kapasitas armada Anda untuk menampung pemain dengan penambahan 1000. 

Dengan armada kontainer, Anda dapat menggunakan salah satu metode penskalaan kapasitas yang disediakan oleh. Amazon GameLift Servers Ini termasuk: 
+ Atur kapasitas armada secara manual dengan menetapkan jumlah instans armada yang diinginkan.
+ Siapkan penskalaan otomatis dengan menargetkan buffer yang diinginkan dari instance yang tersedia (pelacakan target). Metode ini secara otomatis mempertahankan sejumlah sumber daya hosting idle sehingga pemain yang masuk dapat masuk ke game dengan cepat. Saat permintaan pemain meningkat atau menurun, ukuran buffer ini terus disesuaikan.
+ Siapkan penskalaan otomatis dengan aturan penskalaan khusus (fitur lanjutan). Metode ini memungkinkan Anda menskalakan berdasarkan metrik armada yang Anda pilih.

### client/server Koneksi game
<a name="containers-howitworks-concepts-networking"></a>

Dengan armada Amazon GameLift Servers terkelola, klien game terhubung langsung ke server game yang dihosting cloud Anda. Ketika klien game meminta untuk bergabung dengan game, Amazon GameLift Servers temukan sesi permainan dan berikan informasi koneksi (IP dan port) ke klien game. Anda dapat mengontrol akses eksternal ke instance armada dengan membuka rentang port tertentu (izin masuk) untuk armada. Izin masuk menentukan port mana yang terbuka untuk lalu lintas masuk. Anda dapat dengan cepat mematikan semua port, membatasi beberapa, atau membuka semua port.

Armada kontainer terkelola memerlukan pengaturan tambahan yang memungkinkan akses ke proses yang berjalan dalam wadah. Saat Anda membuat definisi kontainer, Anda menentukan satu set port, satu untuk setiap proses yang mengambil koneksi. Hal ini mencakup: 
+ Semua proses server game yang akan berjalan secara bersamaan di wadah server game. Semua proses server game harus memungkinkan klien game terhubung untuk bergabung dengan sesi game.
+ Setiap proses dalam wadah pendukung yang perlu dihubungkan oleh sumber eksternal. Misalnya, Anda dapat terhubung dari jarak jauh ke aplikasi pengujian.

Saat Anda mengatur pengaturan port kontainer yang menghadap ke internal, Amazon GameLift Servers gunakan untuk menghitung izin masuk menghadap eksternal yang dapat dihubungkan oleh klien game dan aplikasi lain. Amazon GameLift Serversjuga mengelola pemetaan antara izin masuk dan port kontainer individu yang memberi pemain akses ke sesi permainan dalam wadah. Pemetaan internal ini memberikan lapisan keamanan dengan melindungi server game Anda dari akses langsung ke port kontainer. Anda memiliki opsi untuk menyesuaikan pengaturan port yang menghadap ke luar armada sesuai kebutuhan. Untuk informasi selengkapnya tentang pengaturan port armada kontainer secara manual, lihat[Konfigurasikan koneksi jaringan](containers-design-fleet.md#containers-custom-network).

Anda dapat memodifikasi pengaturan port armada kontainer kapan saja. Perubahan ini memerlukan penerapan pembaruan armada.

Diagram berikut menggambarkan peran koneksi pelabuhan melintasi armada kontainer. Seperti yang ditunjukkan, Anda mengatur port pada kontainer individual, dan Amazon GameLift Servers menggunakan informasi ini untuk mengonfigurasi port yang cukup pada instance armada untuk memetakan ke setiap port kontainer. Baik izin masuk instans yang menghadap ke luar dan port koneksi yang menghadap ke internal dihitung untuk armada Anda, kecuali jika Anda memilih Amazon GameLift Servers untuk mengaturnya secara manual.

![\[Ilustrasi pengaturan port untuk armada kontainer. Pemetaan port memungkinkan lalu lintas eksternal untuk terhubung ke instance armada dan mendapatkan akses ke kontainer individual pada instance.\]](http://docs.aws.amazon.com/id_id/gameliftservers/latest/developerguide/images/container_design_networking.png)


### Penebangan kontainer
<a name="containers-howitworks-concepts-logging"></a>

Dalam armada kontainer terkelola, aliran keluaran standar (dan kesalahan standar) ditangkap untuk semua kontainer. Ini termasuk log sesi permainan server game Anda. Anda dapat mengonfigurasi armada kontainer untuk menggunakan salah satu dari beberapa opsi untuk menangani aliran keluaran: 
+ Simpan output kontainer sebagai aliran CloudWatch log Amazon. Setiap aliran log mereferensikan ID armada dan kontainer. Jika Anda memilih opsi pencatatan ini untuk armada, Anda menentukan grup CloudWatch log, yang mengatur semua aliran log dari armada. Anda kemudian dapat menggunakan CloudWatch fitur untuk mencari dan menganalisis data log sesuai kebutuhan. 
+ Simpan output kontainer ke bucket penyimpanan Amazon Simple Storage Service (Amazon S3). Anda dapat melihat, berbagi, atau mengunduh konten sesuai kebutuhan.
+ Matikan logging. Dalam skenario ini, output kontainer tidak disimpan.

Amazon GameLift Serversmengirimkan data log dari armada kontainer terkelola ke CloudWatch atau layanan Amazon S3 di AWS akun Anda. Untuk melihat data Anda, gunakan Konsol Manajemen AWS atau alat lainnya dengan masuk ke AWS akun Anda dan bekerja dengan layanan individual. Anda memperluas akses terbatas Amazon GameLift Servers untuk mengambil tindakan ini dengan membuat peran layanan untuk armada kontainer Anda. 

Anda dapat memodifikasi konfigurasi pencatatan armada kontainer kapan saja. Perubahan ini memerlukan penerapan pembaruan armada.

### Armada kontainer dan Agen Amazon GameLift Servers
<a name="containers-howitworks-concepts-agent"></a>

Arsitektur kontainer yang umum digunakan menjalankan satu proses di setiap kontainer. Dalam armada Amazon GameLift Servers kontainer, grup kontainer server game memiliki satu wadah server game, yang menjalankan satu proses server game. Dengan arsitektur ini, Amazon GameLift Servers mengelola siklus hidup proses server game tunggal di setiap grup kontainer server game pada instance armada.

Jika Anda memilih untuk membangun arsitektur kontainer yang menjalankan beberapa proses server game di setiap grup kontainer server game, Anda memerlukan cara untuk mengelola siklus hidup semua proses. Ini termasuk tugas-tugas seperti memulai, mematikan, dan mengganti proses sesuai kebutuhan, mengelola sejumlah proses yang diinginkan untuk dijalankan secara bersamaan, dan menangani status kegagalan.

Anda dapat memilih untuk menggunakan Amazon GameLift Servers Agen untuk tugas-tugas ini. Untuk armada kontainer, Agen mengimplementasikan instruksi runtime yang menentukan executable mana yang akan dijalankan (dan berapa banyak), menyediakan parameter peluncuran, dan menetapkan aturan seputar aktivasi server game. Misalnya, instruksi runtime mungkin memberi tahu Agen untuk mempertahankan sepuluh proses server game untuk penggunaan produksi, dan satu proses server game dengan parameter peluncuran khusus untuk pengujian. 

Untuk menggunakan Agen dengan armada kontainer Anda, tambahkan Agen ke gambar kontainer Anda dan sertakan satu set instruksi runtime. Untuk informasi lebih lanjut tentang Agen, lihat[Bekerja dengan Amazon GameLift Servers Agen](integration-dev-iteration-agent.md).

# Buat armada kontainer Amazon GameLift Servers terkelola
<a name="containers-build-fleet"></a>

Buat armada kontainer Amazon GameLift Servers terkelola untuk menyebarkan dan meng-host server game kontainer Anda di Cloud. AWS Saat Anda membuat armada kontainer, tentukan definisi grup kontainer yang menentukan satu atau beberapa gambar kontainer (setidaknya satu yang menyertakan build server game Anda) dan pengaturan konfigurasi. 

Saat Anda membuat sumber daya armada kontainer terkelola baru, Anda segera memulai fase pertama pembuatan armada. Pembuatan armada terkelola melewati beberapa Amazon GameLift Servers fase saat menyediakan instans EC2, menginstal lingkungan runtime, menyebarkan grup kontainer Anda ke instance, dan mulai meluncurkan proses server game. Bergantung pada lingkungan runtime yang dibutuhkan build server game Anda, Amazon GameLift Servers menerapkan versi terbaru Amazon Machine Image (AMI) pada saat pembuatan armada (dan semua instance future dalam armada akan menggunakan versi yang sama). Anda dapat memantau status armada di konsol atau menggunakan AWS Command Line Interface (AWS CLI). Ketika armada siap untuk menyelenggarakan sesi permainan, statusnya berubah menjadi`ACTIVE`. Untuk bantuan terkait masalah pembuatan armada, lihat [Masalah Amazon GameLift Servers armada debug](fleets-creating-debug.md).

Anda dapat memilih untuk membuat armada kontainer kosong dan kemudian menambahkan atau memperbarui definisi grup kontainer armada nanti. Jika Anda membuat armada tanpa definisi grup kontainer, armada tidak akan mencapai status aktif. 

**catatan**  
Sebagai praktik terbaik, kami sarankan mengganti armada Anda setiap 30 hari untuk menjaga lingkungan yang aman dan up-to-date runtime untuk server game yang Anda host. Ini membutuhkan pembuatan armada baru dan memigrasikan lalu lintas pemain ke sana. Untuk panduan lebih lanjut, lihat[Praktik terbaik keamanan untuk Amazon GameLift Servers](security-best-practices.md).

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

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

Di [Amazon GameLift Serverskonsol](https://console.aws.amazon.com/gamelift/), pilih Wilayah AWS tempat Anda ingin membuat armada. Definisi grup kontainer harus berada di wilayah yang sama di mana Anda ingin membuat armada. 

Buka bilah navigasi kiri konsol dan pilih **Kontainer terkelola: Armada**. Pada halaman Armada, pilih **Buat armada kontainer**.

**Langkah 1: Tentukan detail armada kontainer terkelola**

1. Di bagian **Detail armada kontainer**, masukkan deskripsi armada. 

1. Tentukan **peran IAM** untuk armada. Peran ini memiliki izin yang Amazon GameLift Servers harus dimiliki untuk mengelola armada kontainer atas nama Anda. Untuk bantuan membuat peran layanan yang diperlukan, lihat[Menyiapkan peran layanan IAM untuk Amazon GameLift Servers](setting-up-role.md). 

1. Pilih opsi **konfigurasi Log**. CloudWatch Opsi dipilih secara default. Berikan informasi yang diperlukan berdasarkan opsi yang Anda pilih.

1. Tambahkan grup kontainer ke armada. Ini adalah langkah opsional. Anda dapat memilih untuk membuat armada tanpa grup kontainer dengan rencana untuk menambahkannya nanti. Armada tanpa grup kontainer tidak akan menyebarkan instance armada apa pun dan belum dapat menghosting game apa pun, tetapi sumber daya armada dibuat. 
   + Pilih definisi grup kontainer server game. Secara opsional tentukan versi definisi yang ingin Anda terapkan. Jika Anda tidak menentukan nomor versi, Amazon GameLift Servers secara otomatis menggunakan versi terbaru.
   + Secara opsional tambahkan definisi dan versi grup kontainer per-instance. Jika Anda tidak menentukan nomor versi, Amazon GameLift Servers secara otomatis menggunakan versi terbaru.

1. Dalam **Detail tambahan**, Anda dapat mengatur beberapa penyesuaian opsional. Tak satu pun dari pengaturan ini diperlukan untuk membuat armada kontainer.

**Langkah 2: Tentukan detail contoh**

1. Dalam **penyebaran Instance**, pilih satu atau beberapa lokasi jarak jauh untuk menerapkan instance. Wilayah asal dipilih secara otomatis (ini adalah Wilayah tempat Anda membuat armada). Jika Anda memilih lokasi tambahan, instans armada juga digunakan di lokasi tersebut. 
**penting**  
Untuk menggunakan Wilayah yang tidak diaktifkan secara default, aktifkan di wilayah Anda Akun AWS.  
Armada dengan Wilayah yang tidak diaktifkan yang Anda buat sebelum 28 Februari 2022 tidak terpengaruh oleh persyaratan ini.
Untuk membuat armada multi-lokasi baru atau memperbarui armada multi-lokasi yang ada, pertama-tama aktifkan Wilayah atau Local Zones apa pun yang Anda pilih untuk digunakan.
Untuk informasi selengkapnya tentang Wilayah yang tidak diaktifkan secara default dan cara mengaktifkannya, lihat [Mengelola Wilayah AWS](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html) di *Referensi Umum AWS*. Lihat [Memulai Local Zones](https://docs.aws.amazon.com/local-zones/latest/ug/getting-started.html) di *Panduan Pengguna AWS Local Zones*.

1. Pilih **konfigurasi Instance** untuk armada. Konsol secara otomatis menghitung vCPU minimum dan memori yang diperlukan (berdasarkan batas total yang Anda tetapkan untuk setiap grup kontainer). Ini menyaring daftar lengkap jenis instans yang tersedia berdasarkan persyaratan sumber daya dan lokasi yang Anda masukkan. Anda dapat menambahkan filter tambahan sesuai kebutuhan. 

   Untuk informasi selengkapnya tentang memilih jenis instans, lihat[Konfigurasikan armada kontainer](containers-design-fleet.md#containers-design-fleet-config). Ukuran jenis instans yang Anda pilih akan memengaruhi bagaimana grup kontainer server game dikemas ke setiap instance armada. Bergantung pada pilihan Anda, pertimbangkan untuk meninjau pengaturan Anda untuk grup kontainer server game yang diinginkan per instance.

**Langkah 4: Tinjau dan buat**
+ Tinjau pengaturan konfigurasi armada Anda.

  Anda dapat memperbarui metadata dan konfigurasi armada kapan saja, terlepas dari status armada. Untuk informasi selengkapnya, lihat [Perbarui konfigurasi Amazon GameLift Servers armada](fleets-editing.md). Anda dapat memperbarui kapasitas armada setelah armada mencapai status AKTIF. Untuk informasi selengkapnya, lihat [Menskalakan kapasitas hosting game dengan Amazon GameLift Servers](fleets-manage-capacity.md). Anda juga dapat menambahkan atau menghapus lokasi jarak jauh.

  Setelah selesai meninjau, pilih **Buat**.

  Jika permintaan Anda berhasil, konsol akan menampilkan halaman detail untuk sumber daya armada baru. Awalnya statusnya adalah`NEW`, seperti Amazon GameLift Servers memulai proses pembuatan armada. Anda dapat melacak status armada baru di halaman **Armada**. Armada siap menjadi tuan rumah sesi permainan ketika mencapai status`ACTIVE`. 

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

Untuk membuat armada kontainer dengan AWS CLI, buka jendela baris perintah dan gunakan `create-container-fleet` perintah. Untuk informasi selengkapnya tentang perintah ini, lihat [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/gamelift/create-container-fleet.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/gamelift/create-container-fleet.html)di *Referensi AWS CLI Perintah*.

Contoh `create-container-fleet` permintaan yang ditunjukkan di bawah ini membuat armada kontainer baru dengan karakteristik sebagai berikut: 
+  ContainerGroupsConfiguration Menentukan definisi grup kontainer server game saja:`MyAdventureGameContainerGroup`. Jumlah grup kontainer server game yang akan dikerahkan ke setiap instance armada dihitung olehAmazon GameLift Servers.
+ Armada menggunakan c5.large instans On-Demand secara default. 
+ Secara default, armada membuka satu set port koneksi dan port izin masuk seperti yang dihitung oleh. Amazon GameLift Servers Ini menyebarkan grup kontainer ke lokasi berikut: 

```
aws gamelift create-container-fleet \
    --fleet-role-arn arn:aws:iam::MyAccount:role/MyContainersRole \
    --game-server-container-group-definition-name "rn:aws:gamelift:us-west-2:111122223333:containergroupdefinition/MyAdventureGameContainerGroup:2" \
```

Jika permintaan create-fleet berhasil, Amazon GameLift Servers mengembalikan satu set atribut armada yang menyertakan pengaturan konfigurasi yang Anda minta dan ID armada kontainer baru. Amazon GameLift Serverskemudian menetapkan status armada dan status lokasi ke **New** dan memulai proses aktivasi armada. Anda dapat melacak status armada dan melihat informasi armada lainnya menggunakan perintah CLI ini: 
+ [describe-fleet-events](https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-fleet-events.html)
+ [describe-container-fleet](https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-container-fleet.html)
+ [describe-fleet-capacity](https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-fleet-capacity.html)
+ [describe-fleet-port-settings](https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-fleet-port-settings.html)
+ [describe-fleet-utilization](https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-fleet-utilization.html)
+ [describe-fleet-location-capacity](https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-fleet-location-capacity.html)
+ [describe-fleet-location-utilization](https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-fleet-location-utilization.html)

Anda dapat mengubah kapasitas armada dan pengaturan konfigurasi lainnya sesuai kebutuhan menggunakan perintah berikut:
+ [update-container-fleet](https://docs.aws.amazon.com/cli/latest/reference/gamelift/update-container-fleet.html)
+ [update-fleet-capacity](https://docs.aws.amazon.com/cli/latest/reference/gamelift/update-fleet-capacity.html)
+ [update-fleet-port-settings](https://docs.aws.amazon.com/cli/latest/reference/gamelift/update-fleet-port-settings.html)
+ [create-fleet-locations](https://docs.aws.amazon.com/cli/latest/reference/gamelift/create-fleet-locations.html)
+ [delete-fleet-locations](https://docs.aws.amazon.com/cli/latest/reference/gamelift/delete-fleet-locations.html)

------



# Buat definisi grup kontainer untuk armada Amazon GameLift Servers kontainer
<a name="containers-create-groups"></a>

Definisi grup kontainer menjelaskan cara menerapkan aplikasi server game kontainer Anda ke armada kontainer. Ini adalah cetak biru yang memberi tahu gambar kontainer Amazon GameLift Servers apa yang akan diterapkan ke armada dan cara menjalankannya. Saat membuat armada kontainer, Anda menentukan definisi grup kontainer yang akan diterapkan ke armada. Untuk informasi selengkapnya tentang grup kontainer, lihat[Komponen armada kontainer](containers-howitworks.md#containers-howitworks-components).

## Sebelum Anda mulai
<a name="containers-create-groups-before"></a>

Kiat tentang apa yang harus dilakukan sebelum Anda mulai membuat definisi grup kontainer: 
+ Selesaikan gambar kontainer Anda dan dorong ke repositori Amazon Elastic Container Registry (Amazon ECR) di tempat yang sama di Wilayah AWS mana Anda berencana untuk membuat grup kontainer. Amazon GameLift Serversmenangkap snapshot dari setiap gambar pada saat Anda membuat definisi grup kontainer, dan menggunakan snapshot saat menerapkan ke armada kontainer. Lihat [Membangun gambar kontainer untuk Amazon GameLift Servers](containers-prepare-images.md).
+ Buat definisi kontainer Anda sebagai file JSON. Definisi grup kontainer mencakup satu atau lebih definisi kontainer. Anda dapat menggunakan file JSON jika Anda membuat definisi grup kontainer menggunakan file. AWS CLIfor Amazon GameLift Servers
+ Verifikasi bahwa AWS pengguna Anda memiliki izin IAM untuk mengakses repositori Amazon ECR. Lihat [Contoh izin IAM untuk Amazon GameLift Servers](gamelift-iam-policy-examples.md). 

## Buat definisi grup kontainer server game
<a name="containers-create-groups-replica"></a>

Grup kontainer server game menjalankan perangkat lunak server game Anda. Grup kontainer server game memiliki satu wadah server game, yang menjalankan server game yang dapat dieksekusi. Ini juga dapat memiliki satu atau lebih wadah dukungan untuk menjalankan perangkat lunak tambahan untuk mendukung server game Anda. (Ini kadang-kadang disebut sebagai wadah “sespan”.)

Topik ini menjelaskan cara membuat definisi grup kontainer server game sederhana menggunakan Amazon GameLift Servers konsol atau alat AWS CLI. Untuk informasi lebih rinci tentang fitur opsional, lihat[Sesuaikan armada Amazon GameLift Servers kontainer](containers-design-fleet.md).

**catatan**  
Anda dapat mengubah sebagian besar definisi grup kontainer dan pengaturan definisi kontainer setelah membuatnya. Jika Anda membuat perubahan pada definisi kontainer, Amazon GameLift Servers ambil snapshot baru dari gambar kontainer yang diperbarui.

**Untuk membuat definisi grup kontainer server game sederhana:**

Petunjuk berikut menjelaskan cara membuat definisi grup kontainer dengan parameter minimal yang diperlukan dan menggunakan nilai Amazon GameLift Servers default. 

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

Di [Amazon GameLift Serverskonsol](https://console.aws.amazon.com/gamelift/), pilih Wilayah AWS tempat Anda ingin membuat grup kontainer. 

Buka bilah navigasi kiri konsol dan pilih **Kontainer terkelola: Definisi grup**. Pada halaman definisi grup kontainer, pilih **Buat definisi grup**.

**Langkah 1: Tentukan detail definisi grup kontainer**

1. Masukkan nama definisi grup kontainer. Nama harus unik untuk Akun AWS dan Wilayah.

1. Pilih jenis grup kontainer **server Game**.

1. Untuk **batas memori Total**, masukkan sumber daya memori maksimum agar tersedia untuk semua kontainer dalam grup kontainer. Untuk bantuan menghitung nilai ini, lihat[Tetapkan batas sumber daya](containers-design-fleet.md#containers-design-fleet-limits).

1. Untuk **batas total vCPU**, masukkan daya komputasi maksimum untuk menyediakan semua kontainer dalam grup kontainer. Untuk bantuan menghitung nilai ini, lihat[Tetapkan batas sumber daya](containers-design-fleet.md#containers-design-fleet-limits).

**Langkah 2: Tambahkan definisi wadah**

Minimal, grup kontainer server game memiliki satu wadah server game. Di konsol, definisi kontainer pertama yang Anda buat adalah wadah server game. Langkah ini menjelaskan cara menentukan pengaturan minimum yang diperlukan untuk definisi kontainer server game.

1. Masukkan **nama** definisi kontainer. Setiap kontainer yang ditentukan untuk grup harus memiliki nilai nama yang unik.

1. Tautkan ke gambar kontainer dengan build server game Anda. Masukkan **URI gambar Amazon ECR untuk gambar** kontainer di repositori publik atau pribadi. Anda dapat menggunakan salah satu format berikut:
   +  Hanya URI gambar: `[Akun AWS].dkr.ecr.[Wilayah AWS].amazonaws.com/[repository ID]`
   +  Gambar URI \$1 intisari: `[Akun AWS].dkr.ecr.[Wilayah AWS].amazonaws.com/[repository ID]@[digest]`
   +  Gambar URI \$1 tag: `[Akun AWS].dkr.ecr.[Wilayah AWS].amazonaws.com/[repository ID]:[tag]`

1. Tentukan **versi Amazon GameLift Servers Server SDK** yang digunakan oleh build server game. Untuk armada kontainer, nilai ini harus 5.2.0 atau lebih besar.

1. Dalam **rentang port kontainer internal**, atur protokol dan tentukan rentang port. Ukuran rentang harus lebih besar dari jumlah proses server game bersamaan yang akan berjalan di wadah ini. Jika kontainer server game hanya menjalankan satu proses server per kontainer, rentang port ini hanya membutuhkan beberapa port. Untuk detail selengkapnya, lihat [Konfigurasikan koneksi jaringan](containers-design-fleet.md#containers-custom-network). 

1. Tambahkan lebih banyak kontainer sesuai kebutuhan untuk menjalankan perangkat lunak pendukung tambahan. Wadah tambahan secara otomatis ditunjuk sebagai wadah pendukung. Grup kontainer server game hanya dapat memiliki satu wadah server game dan hingga delapan kontainer pendukung. Berikan pengaturan minimal yang diperlukan berikut:
   + **Nama** definisi kontainer 
   + **URI gambar ECR**. 
   + **Port kontainer internal** (Sertakan ini hanya jika kontainer memiliki proses yang membutuhkan akses jaringan.)

**Langkah 3: Konfigurasikan dependensi**
+ Jika definisi grup kontainer Anda memiliki lebih dari satu kontainer, Anda dapat mengatur dependensi antar kontainer secara opsional. Untuk informasi selengkapnya, lihat [Tetapkan dependensi kontainer](containers-design-fleet.md#containers-design-fleet-dependencies).

**Langkah 3: Tinjau dan buat**

1. Tinjau semua pengaturan definisi grup kontainer Anda. Gunakan **Edit** untuk membuat perubahan pada bagian mana pun, termasuk setiap definisi kontainer Anda untuk grup.

1. Setelah selesai meninjau, pilih **Buat**.

   Jika permintaan Anda berhasil, konsol akan menampilkan halaman detail untuk sumber definisi grup kontainer baru. Awalnya statusnya adalah`COPYING`, karena Amazon GameLift Servers mulai mengambil snapshot dari semua gambar kontainer untuk grup. Ketika fase ini selesai, status definisi grup kontainer berubah menjadi`READY`. Definisi grup kontainer harus dalam `READY` status sebelum Anda dapat membuat armada kontainer dengannya.

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

Saat Anda menggunakan AWS CLI untuk membuat definisi grup kontainer, pertahankan konfigurasi definisi kontainer Anda dalam file terpisah. `JSON` Anda dapat mereferensikan file dalam perintah CLI Anda. Lihat [Buat `JSON` file definisi kontainer](#containers-definitions-create) contoh skema.

**Buat definisi grup kontainer**  
Untuk membuat definisi grup kontainer baru, gunakan perintah `create-container-group-definition` CLI. Untuk informasi selengkapnya tentang perintah ini, lihat [create-container-group-definition](https://docs.aws.amazon.com/cli/latest/reference/gamelift/create-container-group-definition.html)di Referensi *Perintah AWS CLI*.  
Contoh ini menggambarkan permintaan untuk definisi grup kontainer server game. Ini mengasumsikan bahwa Anda telah membuat file JSON dengan definisi wadah untuk grup ini.  

```
aws gamelift create-container-group-definition \
    --name MyAdventureGameContainerGroup \
    --operating-system AMAZON_LINUX_2023 \
    --container-group-type GAME_SERVER \
    --total-memory-limit-mebibytes 4096 \
    --total-vcpu-limit 1 \
    --game-server-container-definition file://MyAdventureGameContainers.json
```

------

## Buat `JSON` file definisi kontainer
<a name="containers-definitions-create"></a>

Saat Anda membuat definisi grup kontainer, Anda juga menentukan kontainer untuk grup. Definisi kontainer menentukan repositori Amazon ECR tempat image kontainer disimpan, dan konfigurasi opsional untuk port jaringan, batas penggunaan CPU dan memori, dan pengaturan lainnya. Sebaiknya buat satu `JSON` file dengan konfigurasi untuk semua kontainer dalam grup kontainer. Memelihara file berguna untuk menyimpan, berbagi, versi melacak konfigurasi penting ini. Jika Anda menggunakan AWS CLI untuk membuat definisi grup kontainer Anda, Anda dapat mereferensikan file dalam perintah.

**Untuk membuat definisi kontainer**

1. Buat dan buka `.JSON` file baru. Contoh:

   ```
   [~/work/glc]$ vim SimpleServer.json
   ```

1. Buat definisi kontainer terpisah untuk masing-masing kontainer untuk grup. Salin konten contoh berikut dan modifikasi sesuai kebutuhan untuk wadah Anda. Untuk detail tentang sintaks definisi container, lihat [ContainerDefinitionInput](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_ContainerDefinitionInput.html)di *Referensi Amazon GameLift Servers API*. 

1. Simpan file secara lokal sehingga Anda dapat merujuknya dalam perintah AWS CLI.

### Contoh: Definisi wadah server game
<a name="containers-definitions-create-example"></a>

**Example**  
Contoh ini menjelaskan wadah penting untuk grup kontainer server game Anda. Wadah replika penting mencakup aplikasi server game Anda, Amazon GameLift Servers Agen, dan dapat menyertakan perangkat lunak pendukung lainnya untuk hosting game Anda. Definisi harus menyertakan nama, URI gambar, dan konfigurasi port. Contoh ini juga menetapkan beberapa batas sumber daya khusus kontainer.  

```
  {
    "ContainerName": "MyAdventureGameServer",
    "ImageUri": "111122223333.dkr.ecr.us-east-1.amazonaws.com/gl-containers:myadventuregame-server",
    "PortConfiguration": {
      "ContainerPortRanges": [
        {
          "FromPort": 2000,
          "Protocol": "TCP",
          "ToPort": 2010
        }
      ]
    },
    "ServerSdkVersion": "5.2.0"
  }
```