Mengelola sumber daya GameLift hosting Amazon menggunakan AWS CloudFormation - Amazon GameLift

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

Mengelola sumber daya GameLift hosting Amazon menggunakan AWS CloudFormation

Anda dapat menggunakan AWS CloudFormation untuk mengelola GameLift sumber daya Amazon Anda. Di AWS CloudFormation, Anda membuat template yang memodelkan setiap sumber daya dan kemudian menggunakan template untuk membuat sumber daya Anda. Untuk memperbarui sumber daya, Anda membuat perubahan pada template Anda dan menggunakannya AWS CloudFormation untuk mengimplementasikan pembaruan. Anda dapat mengatur sumber daya Anda ke dalam grup logika, yang disebut tumpukan dan set tumpukan.

Menggunakan AWS CloudFormation untuk memelihara sumber daya GameLift hosting Amazon Anda menawarkan cara yang lebih efisien untuk mengelola kumpulan sumber AWS daya. Anda dapat menggunakan kontrol versi untuk melacak perubahan templat dari waktu ke waktu dan mengkoordinasikan pembaruan yang dibuat oleh beberapa anggota tim. Anda juga dapat menggunakan kembali templat. Misalnya, saat men-deploy game di beberapa Wilayah, Anda mungkin menggunakan templat yang sama untuk membuat sumber daya yang sama di setiap Wilayah. Anda juga dapat menggunakan templat ini untuk men-deploy set sumber daya yang sama di partisi lain.

Untuk informasi selengkapnya AWS CloudFormation, lihat Panduan AWS CloudFormation Pengguna. Untuk melihat informasi templat untuk GameLift sumber daya Amazon, lihat referensi jenis GameLift sumber daya Amazon.

Praktik terbaik

Untuk panduan terperinci tentang penggunaan AWS CloudFormation, lihat praktik AWS CloudFormation terbaik di Panduan AWS CloudFormation Pengguna. Selain itu, praktik terbaik ini memiliki relevansi khusus dengan Amazon GameLift.

  • Secara konsisten mengelola sumber daya Anda melalui AWS CloudFormation. Jika Anda mengubah sumber daya di luar sumber daya AWS CloudFormation Anda akan tidak sinkron dengan templat sumber daya Anda.

  • Gunakan AWS CloudFormation tumpukan dan set tumpukan untuk mengelola beberapa sumber daya secara efisien.

    • Gunakan tumpukan untuk mengelola grup sumber daya yang terhubung. Misalnya, tumpukan yang berisi build, armada yang mereferensikan build, dan alias yang mereferensikan armada. Jika Anda memperbarui template untuk menggantikan build, AWS CloudFormation ganti armada yang terhubung ke build. AWS CloudFormation kemudian memperbarui alias yang ada untuk menunjuk ke armada baru. Untuk informasi selengkapnya, lihat Bekerja dengan tumpukan di Panduan AWS CloudFormation Pengguna.

    • Gunakan set AWS CloudFormation tumpukan jika Anda menerapkan tumpukan identik di beberapa wilayah atau AWS akun. Untuk informasi selengkapnya, lihat Bekerja dengan kumpulan tumpukan di Panduan AWS CloudFormation Pengguna.

  • Jika Anda menggunakan Instans Spot, sertakan Armada Sesuai Permintaan sebagai cadangan. Kami sarankan Anda mengatur templat Anda dengan dua armada di setiap wilayah, satu armada dengan Instans Spot, dan satu armada dengan Instans Sesuai Permintaan.

  • Kelompokkan sumber daya spesifik lokasi dan sumber daya global Anda ke dalam tumpukan terpisah saat Anda mengelola sumber daya di beberapa lokasi.

  • Tempatkan sumber daya global Anda dekat dengan layanan yang menggunakannya. Sumber daya seperti antrian dan konfigurasi perjodohan cenderung menerima permintaan volume tinggi dari sumber tertentu. Dengan menempatkan sumber daya Anda dekat dengan sumber permintaan tersebut, Anda meminimalkan waktu perjalanan permintaan dan dapat meningkatkan kinerja secara keseluruhan.

  • Tempatkan konfigurasi perjodohan Anda di Wilayah yang sama dengan antrian sesi permainan yang digunakannya.

  • Buat alias terpisah untuk setiap armada di tumpukan.

Menggunakan AWS CloudFormation tumpukan

Kami merekomendasikan struktur berikut untuk digunakan saat menyiapkan AWS CloudFormation tumpukan untuk GameLift sumber daya Amazon. Struktur tumpukan optimal Anda bervariasi tergantung pada apakah Anda menyebarkan game Anda di satu lokasi atau beberapa lokasi.

Tumpukan untuk satu lokasi

Untuk mengelola GameLift sumber daya Amazon di satu lokasi, kami merekomendasikan struktur dua tumpukan:

  • Support Stack - Tumpukan ini berisi sumber daya yang bergantung pada GameLift sumber daya Amazon Anda. Minimal, tumpukan ini harus menyertakan bucket S3 tempat Anda menyimpan server game kustom atau file skrip Realtime. Tumpukan juga harus menyertakan IAM peran yang memberi GameLift izin kepada Amazon untuk mengambil file Anda dari bucket S3 saat membuat sumber daya GameLift build atau skrip Amazon. Tumpukan ini mungkin juga berisi AWS sumber daya lain yang digunakan dengan game Anda, seperti tabel DynamoDB, cluster Amazon Redshift, dan fungsi Lambda.

  • GameLift Tumpukan Amazon — Tumpukan ini berisi semua GameLift sumber daya Amazon Anda, termasuk build atau skrip, satu set armada, alias, dan antrean sesi game. AWS CloudFormation membuat sumber daya build atau skrip dengan file yang disimpan di lokasi bucket S3 dan menyebarkan build atau skrip ke satu atau beberapa sumber daya armada. Setiap armada harus memiliki alias yang sesuai. Antrean sesi game mereferensi beberapa atau seluruh alias armada. Jika Anda menggunakan FlexMatch untuk perjodohan, tumpukan ini juga berisi konfigurasi perjodohan dan set aturan.

Diagram di bawah ini menggambarkan struktur dua tumpukan untuk menyebarkan sumber daya dalam satu Wilayah. AWS

Diagram dengan 2 AWS CloudFormation tumpukan untuk GameLift sumber daya Amazon dan AWS layanan pendukung.

Tumpukan untuk beberapa wilayah

Ketika men-deploy game Anda di lebih dari satu Wilayah, perlu diingat bagaimana sumber daya dapat berinteraksi di seluruh Wilayah. Beberapa sumber daya, seperti GameLift armada Amazon, hanya dapat merujuk sumber daya lain di Wilayah yang sama. Sumber daya lain, seperti GameLift antrian Amazon, adalah Agnostik Wilayah. Untuk mengelola GameLift sumber daya Amazon di beberapa Wilayah, kami merekomendasikan struktur berikut.

  • Tumpukan dukungan regional — Tumpukan ini berisi sumber daya yang bergantung pada sumber GameLift daya Amazon Anda. Tumpukan ini harus mencakup bucket S3 di mana Anda menyimpan server game kustom atau file skrip Realtime. Mungkin juga berisi AWS sumber daya lain untuk game Anda, seperti tabel DynamoDB, kluster Amazon Redshift, dan fungsi Lambda. Banyak dari sumber daya ini adalah khusus Wilayah, sehingga Anda harus membuat sumber daya di setiap Wilayah. Amazon GameLift juga membutuhkan IAM peran yang memungkinkan akses ke sumber daya dukungan ini. Karena IAM peran adalah Agnostik Wilayah, Anda hanya memerlukan satu sumber daya peran, ditempatkan di Wilayah mana pun dan direferensikan di semua tumpukan dukungan lainnya.

  • GameLift Tumpukan Amazon regional —Tumpukan ini berisi GameLift sumber daya Amazon yang harus ada di setiap wilayah tempat game Anda digunakan, termasuk build atau skrip, sekumpulan armada, dan alias. AWS CloudFormation membuat sumber daya build atau skrip dengan file di lokasi bucket S3, dan menyebarkan build atau skrip ke satu atau beberapa sumber daya armada. Setiap armada harus memiliki alias yang sesuai. Antrean sesi game mereferensi beberapa atau seluruh alias armada. Anda dapat mempertahankan satu templat untuk menggambarkan jenis tumpukan dan menggunakannya untuk membuat set identik sumber daya di setiap Wilayah.

  • GameLift Tumpukan Amazon Global — Tumpukan ini berisi antrian sesi permainan dan sumber daya perjodohan Anda. Sumber daya ini dapat ditemukan di Wilayah mana pun dan biasanya ditempatkan di Wilayah yang sama. Antrean dapat mereferensi armada atau alias yang terletak di Wilayah mana pun. Untuk menempatkan antrean tambahan di Wilayah yang berbeda, buat tumpukan global tambahan.

Diagram di bawah ini menggambarkan struktur multistack untuk menyebarkan sumber daya di beberapa Wilayah. AWS Diagram pertama menunjukkan struktur untuk antrean sesi game tunggal. Diagram kedua menunjukkan struktur dengan beberapa antrean.

Diagram dengan tumpukan AWS CloudFormation sumber daya yang berisi sumber daya khusus wilayah dan global.
Diagram menunjukkan bagaimana AWS CloudFormation tumpukan regional dapat berbagi sumber daya global seperti antrian.

Memperbarui build

GameLift Build Amazon tidak dapat diubah, seperti halnya hubungan antara build dan armada. Akibatnya, ketika Anda memperbarui sumber daya hosting Anda untuk menggunakan satu set baru file build game, hal-hal berikut perlu terjadi:

  • Buat build baru menggunakan set file baru (pengganti).

  • Buat satu set armada baru untuk men-deploy build game baru (pengganti).

  • Alihkan alias untuk menunjuk ke armada baru (update tanpa gangguan).

Untuk informasi selengkapnya, lihat Memperbarui perilaku sumber daya tumpukan di Panduan AWS CloudFormation Pengguna.

Terapkan pembaruan build secara otomatis

Saat memperbarui tumpukan yang berisi sumber daya build, armada, dan alias terkait, AWS CloudFormation perilaku defaultnya adalah melakukan langkah-langkah ini secara otomatis secara berurutan. Anda memicu pembaruan ini dengan terlebih dahulu mengunggah file build baru ke lokasi S3 baru. Kemudian Anda memodifikasi template AWS CloudFormation build Anda untuk menunjuk ke lokasi S3 baru. Ketika Anda memperbarui tumpukan Anda dengan lokasi S3 baru, ini memicu urutan AWS CloudFormation berikut:

  1. Mengambil file baru dari S3, memvalidasi file, dan membuat build Amazon baru. GameLift

  2. Memperbarui referensi build dalam templat armada, yang memicu pembuatan armada baru.

  3. Setelah armada baru aktif, update referensi armada dalam alias, yang memicu alias untuk memperbarui target armada baru.

  4. Menghapus armada lama.

  5. Menghapus build lama.

Jika antrean sesi game Anda menggunakan alias armada, lalu lintas pemain secara otomatis beralih ke armada baru segera setelah alias diperbarui. Armada lama secara bertahap ditinggalkan pemain saat sesi game berakhir. Penskalaan otomatis menangani tugas menambahkan dan menghapus instans dari setiap rangkaian armada saat lalu lintas pemain berfluktuasi. Atau, Anda dapat menentukan jumlah instans awal yang diinginkan untuk meningkatkan pengalihan dengan cepat dan mengaktifkan penskalaan otomatis nanti.

Anda juga dapat AWS CloudFormation menyimpan sumber daya alih-alih menghapusnya. Untuk informasi lebih lanjut, lihat RetainResourcesdi AWS CloudFormation APIReferensi.

Terapkan pembaruan build secara manual

Jika Anda ingin memiliki kontrol lebih atas kapan armada baru diluncurkan untuk pemain, Anda memiliki beberapa pilihan. Anda dapat memilih untuk mengelola alias secara manual menggunakan GameLift konsol Amazon atau. CLI Sebagai alternatif, alih-alih memperbarui templat build Anda untuk menggantikan build dan armada, Anda dapat menambahkan set kedua untuk definisi build dan armada ke templat Anda. Saat Anda memperbarui template, AWS CloudFormation buat sumber daya build kedua dan armada yang sesuai. Karena sumber daya yang ada tidak diganti, mereka tidak dihapus, dan alias tetap menunjuk ke armada asli.

Keuntungan utama pendekatan ini adalah pendekatan ini memberi Anda fleksibilitas. Anda dapat membuat sumber daya terpisah untuk versi baru build Anda, menguji sumber daya baru, dan mengontrol ketika armada baru diluncurkan ke pemain. Sebuah kelemahan potensial adalah bahwa dibutuhkan dua kali lebih banyak sumber daya di setiap Wilayah untuk jangka waktu singkat.

Diagram berikut menggambarkan prosesnya.

Diagram menunjukkan bagaimana Anda dapat menggunakan AWS CloudFormation tumpukan untuk memperbarui build server game.

Bagaimana rollback bekerja

Ketika menjalankan pembaruan sumber daya, jika langkah apapun tidak berhasil diselesaikan, AWS CloudFormation secara otomatis memulai rollback. Proses ini membalikkan setiap langkah secara berurutan, menghapus sumber daya yang baru dibuat.

Jika Anda perlu memicu rollback secara manual, ubah kunci lokasi S3 templat build kembali ke lokasi asli dan perbarui tumpukan Anda. Sebuah GameLift build dan armada Amazon baru dibuat, dan alias beralih ke armada baru setelah armada aktif. Jika Anda mengelola alias secara terpisah, Anda perlu mengalihkannya untuk menunjuk ke armada baru.

Untuk informasi selengkapnya tentang cara menangani rollback yang gagal atau macet, lihat Lanjutkan memutar kembali pembaruan di AWS CloudFormation Panduan Pengguna.