Buat definisi grup kontainer untuk armada GameLift kontainer Amazon - Amazon GameLift

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

Buat definisi grup kontainer untuk armada GameLift kontainer Amazon

Dokumentasi ini untuk fitur yang ada dalam rilis pratinjau publik. Dokumentasi dapat berubah.

Definisi grup kontainer menjelaskan cara menerapkan aplikasi server game kontainer Anda ke armada kontainer. Ini adalah cetak biru yang mengidentifikasi set kontainer untuk dijalankan di armada dan cara menjalankannya. Saat membuat armada kontainer, Anda menentukan definisi grup kontainer yang akan diterapkan ke armada. Untuk informasi selengkapnya tentang grup kontainer, lihatKomponen armada kontainer.

Sebelum Anda mulai

Lakukan hal-hal berikut:

  • Rancang arsitektur kontainer untuk menghosting server game Anda. Lihat Rancang armada GameLift kontainer Amazon.

  • Rencanakan definisi kontainer untuk disertakan dalam grup kontainer. Jika Anda menggunakan AWS CLI, buat definisi wadah Anda dalam file JSON.

  • Dorong gambar kontainer terakhir ke registri Amazon Elastic Container Registry (Amazon ECR) di tempat Wilayah AWS yang sama di mana Anda berencana untuk membuat grup kontainer. Amazon GameLift menyimpan snapshot dari setiap gambar pada saat Anda membuat definisi grup kontainer, dan menggunakan salinan saat menerapkan ke armada kontainer. Lihat Siapkan gambar kontainer dengan perangkat lunak server game Anda.

  • Verifikasi bahwa AWS pengguna Anda memiliki izin IAM untuk mengakses repositori Amazon ECR. Lihat Mengelola izin pengguna untuk Amazon GameLift. Minimal, Anda memerlukan izin untuk tindakan berikut:

    • ecr:DescribeImages

    • ecr:BatchGetImage

    • ecr:GetDownloadUrlForLayer

Mengkloning definisi grup kontainer

Anda dapat menggunakan GameLift konsol Amazon untuk mengkloning definisi grup kontainer yang ada.

Untuk mengkloning grup kontainer
  1. Di GameLift konsol Amazon, buka panel navigasi kiri dan pilih Grup kontainer.

  2. Pada halaman daftar Container groups, pilih grup kontainer yang ada yang ingin Anda kloning. Setelah Anda memilih grup kontainer, tombol Clone aktif.

  3. Pilih Klon. Tindakan ini membuka wizard pembuatan grup kontainer dengan pengaturan yang telah diisi sebelumnya.

  4. Masukkan nama baru untuk grup kontainer kloning. Grup kontainer di wilayah yang sama harus memiliki nama yang unik.

  5. Melangkah melalui grup kontainer dan halaman definisi kontainer, tinjau, dan Buat grup kontainer baru.

Buat definisi grup kontainer replika

Grup kontainer replika mengelola perangkat lunak server game Anda. Grup kontainer replika memiliki setidaknya satu kontainer yang menjalankan GameLift Agen Amazon dan proses server game Anda. Grup mungkin memiliki wadah “sespan” tambahan untuk menjalankan perangkat lunak pendukung.

Topik ini menjelaskan cara membuat definisi grup kontainer menggunakan GameLift konsol Amazon atau alat AWS CLI. Untuk informasi lebih rinci tentang pengaturan konfigurasi grup kontainer, lihat. Rancang armada GameLift kontainer Amazon

Console

Di GameLift konsol Amazon, pilih Wilayah AWS tempat Anda ingin membuat grup penampung.

Buka bilah navigasi kiri konsol dan pilih Grup kontainer. Pada halaman Container groups, pilih Create container group.

Langkah 1: Tentukan detail grup.
  1. Masukkan nama definisi grup kontainer. Nama ini harus unik untuk Akun AWS dan Wilayah. Di konsol, definisi grup dicantumkan berdasarkan nama, sehingga dapat membantu untuk menetapkan label yang bermakna.

  2. Pilih strategi penjadwalan replika.

  3. Untuk batas memori Total, masukkan memori maksimum yang tersedia untuk grup kontainer. Untuk bantuan menghitung nilai ini, lihatTetapkan batas sumber daya.

  4. Untuk batas CPU Total, masukkan daya komputasi maksimum yang tersedia untuk grup kontainer. Untuk bantuan menghitung nilai ini, lihatTetapkan batas sumber daya.

Langkah 2: Tambahkan definisi wadah.

Tentukan wadah dengan aplikasi server game Anda dan GameLift Agen Amazon. Ini adalah wadah replika penting Anda.

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

  2. Identifikasi URI image Amazon ECR dari image container. Masukkan salah satu format berikut:

    • Hanya URI gambar: [Akun AWS].dkr.ecr.[Wilayah AWS].amazonaws.com/[repository ID]

    • Gambar URI + intisari: [Akun AWS].dkr.ecr.[Wilayah AWS].amazonaws.com/[repository ID]@[digest]

    • Gambar URI + tag: [Akun AWS].dkr.ecr.[Wilayah AWS].amazonaws.com/[repository ID]:[tag]

  3. Untuk wadah Essential, Ya secara otomatis dipilih untuk definisi kontainer pertama. Jika Anda menambahkan definisi kontainer lain, Anda dapat mengaktifkan atau menonaktifkan pengaturan ini untuk setiap definisi. Untuk detail selengkapnya, lihat Tentukan wadah penting.

  4. Atur satu atau lebih rentang port kontainer internal. Container ini meng-host server game Anda, jadi tentukan rentang dengan port yang cukup untuk setiap proses server untuk dijalankan dalam grup kontainer. Untuk detail selengkapnya, lihat Konfigurasikan koneksi jaringan.

  5. Variabel Overrides dan Environment pengaturan opsional memungkinkan Anda menentukan nilai yang akan diteruskan ke wadah saat diluncurkan. Nilai yang Anda tetapkan di sini mengesampingkan pengaturan apa pun yang sudah ada dalam gambar kontainer.

  6. Tetapkan Batas kontainer opsional untuk mengelola alokasi sumber daya untuk wadah ini. Untuk detail selengkapnya, lihat Tetapkan batas sumber daya.

  7. Tentukan wadah non-esensial tambahan sesuai kebutuhan:

    • Berikan definisi wadah Nama dan URI gambar ECR. Kontainer yang tidak penting tidak boleh menjalankan GameLift Agen Amazon.

    • Tetapkan rentang port kontainer internal hanya jika kontainer memiliki proses yang membutuhkan akses jaringan.

    • Secara opsional mengatur pemeriksaan Kesehatan untuk wadah. Ketika wadah yang tidak penting gagal dalam pemeriksaan kesehatan, itu meminta restart wadah yang gagal saja.

    • Secara opsional mengatur Overrides, variabel Lingkungan, dan Batas alokasi sumber daya sesuai kebutuhan.

Langkah 3: Konfigurasikan dependensi.

Jika Anda memiliki lebih dari satu kontainer dalam definisi grup kontainer Anda, Anda dapat menentukan dependensi di antara mereka. Gunakan dependensi untuk mengatur urutan startup dan shutdown berdasarkan kondisi container. Untuk detail selengkapnya, lihat Tetapkan dependensi kontainer.

  1. Identifikasi nama Container yang ingin Anda tambahkan dependensi. Wadah ini tidak dimulai sampai kondisi ketergantungan terpenuhi.

  2. Identifikasi nama dan Kondisi Container dependensi. Wadah ini harus memenuhi kondisi sebelum wadah dependen dapat dimulai.

  3. Tetapkan dependensi tambahan sesuai kebutuhan. Anda dapat membuat beberapa dependensi untuk wadah apa pun. Hindari membuat dependensi melingkar.

Langkah 4: Tinjau dan buat.
  1. Tinjau semua pengaturan definisi grup kontainer Anda. Anda tidak dapat mengubah konfigurasi definisi grup kontainer setelah dibuat. Gunakan Edit untuk membuat perubahan pada bagian mana pun, termasuk setiap definisi kontainer Anda untuk grup.

  2. Setelah selesai meninjau, pilih Buat.

    Jika permintaan Anda berhasil, konsol akan menampilkan halaman detail untuk sumber definisi grup kontainer baru. Awalnya statusnya adalahCOPYING, karena Amazon GameLift mulai mengambil snapshot dari semua gambar kontainer untuk grup. Ketika fase ini selesai, status definisi grup kontainer berubah menjadiREADY. 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 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-definitiondi Referensi Perintah AWS CLI.

contoh : Kelompok kontainer replika

Contoh ini menggambarkan permintaan untuk definisi grup kontainer replika. Struktur perintah untuk membuat definisi grup replika dan daemon pada dasarnya identik. Rincian spesifik untuk setiap jenis grup dijelaskan dalam definisi wadah individu.

Contoh 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 \ --scheduling-strategy REPLICA \ --total-memory-limit 4096 \ --total-cpu-limit 1024 \ --container-definitions file://SimpleServer.json

Buat JSON file definisi kontainer

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. Sebagai contoh:

    [~/work/glc]$ vim SimpleServer.json
  2. 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 ContainerDefinitionInputdi Referensi Amazon GameLift API.

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

Contoh ini menjelaskan wadah penting untuk grup kontainer replika Anda. Wadah replika penting mencakup aplikasi server game Anda, GameLift Agen Amazon, 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": "SimpleServer", "ImageUri": "111122223333.dkr.ecr.us-east-1.amazonaws.com/gl-containers:complex-server", "Essential": true, "Cpu": 256, "MemoryLimits": { "HardLimit": 128 }, "PortConfiguration": { "ContainerPortRanges": [ { "FromPort": 2000, "Protocol": "TCP", "ToPort": 2100 } ] } } ]