Buat EC2 armada GameLift terkelola Amazon - Amazon GameLift

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

Buat EC2 armada GameLift terkelola Amazon

Topik ini menjelaskan cara membuat EC2 armada yang GameLift dikelola Amazon. Armada terkelola menggunakan instans komputasi Amazon Elastic Compute Cloud EC2 (Amazon) yang dioptimalkan untuk hosting game multipemain. Anda dapat membuat armada terkelola yang menyebarkan komputasi ke seluruh dunia ke dan Local Wilayah AWS Zones yang didukung oleh Amazon. GameLift

Saat Anda membuat EC2 armada terkelola baru, proses pembuatan armada segera dimulai. Armada terkelola melewati beberapa fase saat Amazon GameLift menyiapkan pembuatan server game, menyebarkan EC2 instance dengan build yang diinstal, dan meluncurkan server game di setiap instans. Anda dapat memantau status armada di konsol atau menggunakan uring AWS Command Line Interface (AWS CLI). Sebuah armada siap untuk menjadi tuan rumah sesi permainan ketika statusnya mencapaiACTIVE. Untuk informasi selengkapnya tentang pembuatan armada terkelola, lihat topik berikut:

Untuk membuat EC2 armada yang dikelola

Gunakan GameLift konsol Amazon atau AWS Command Line Interface (AWS CLI) untuk membuat EC2 armada terkelola.

Console

Di GameLift konsol Amazon, gunakan panel navigasi untuk membuka halaman Armada. Pilih Buat armada untuk memulai alur kerja pembuatan armada.

Langkah 1 Pilih jenis komputasi

Pilih EC2 opsi Dikelola dan pilih Berikutnya.

Langkah 2 Tentukan detail armada

Pada langkah ini, tentukan beberapa pengaturan luas armada.

Untuk konfigurasi armada minimal:
  • Berikan nama armada.

  • Pilih tipe biner dan tentukan build atau skrip yang diunggah.

  • Lewati bagian tentang detail dan tag tambahan.

  1. Isi bagian Detail Armada:

    1. Masukkan nama armada. Sebaiknya gunakan pola penamaan armada yang memudahkan identifikasi jenis armada saat melihat daftar armada.

    2. Berikan Deskripsi singkat tentang armada.

    3. Untuk tipe Biner, pilih Build untuk menunjukkan bahwa Anda menerapkan build server game kustom, atau pilih atau Script jika Anda menerapkan Server Realtime ke armada ini. Pilih build atau skrip yang diunggah dari daftar dropdown.

  2. (Opsional) Atur Detail tambahan sesuai kebutuhan.

    1. Jika server game yang dapat dieksekusi perlu mengakses AWS sumber daya lain di akun Anda, tentukan peran IAM Instans dengan izin yang diperlukan. Untuk informasi selengkapnya, termasuk cara mengotorisasi aplikasi sisi server lainnya (seperti CloudWatch agen), lihat. Berkomunikasi dengan AWS sumber daya lain dari armada Anda Pengaturan ini tidak dapat diubah setelah Anda membuat armada.

      Anda harus membuat peran sebelum Anda membuat armada yang menggunakannya. Selain itu, untuk membuat armada dengan peran instance, AWS pengguna Anda harus memiliki IAM PassRole izin (lihatContoh izin IAM untuk Amazon GameLift).

    2. Aktifkan opsi Hasilkan TLS sertifikat untuk mengatur otentikasi dan enkripsi untuk game Anda, Klien game menggunakan sertifikat ini untuk mengautentikasi server game saat menghubungkan dan mengenkripsi semua komunikasi klien/server. Untuk setiap instance dalam armada TLS yang diaktifkan, Amazon GameLift juga membuat DNS entri baru dengan sertifikat. Pengaturan ini tidak dapat diubah setelah Anda membuat armada.

    3. Jika Anda ingin menggabungkan data metrik untuk armada ini dan lainnya, tentukan nama grup Metrik. Gunakan nama grup metrik yang sama untuk semua armada yang ingin Anda gabungkan bersama. Lihat metrik untuk grup metrik untuk melihat data agregat.

  3. (Opsional) Tambahkan Tag ke sumber daya armada. 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.

  4. Pilih Berikutnya untuk melanjutkan alur kerja.

Langkah 3 Tentukan rincian contoh

Pada langkah ini, tentukan jenis sumber daya hosting yang akan digunakan dan di mana Anda ingin menerapkannya. Dengan memilih beberapa lokasi, Anda dapat menyebarkan server game Anda ke lokasi geografis yang lebih luas, yang menempatkan mereka lebih dekat dengan pemain Anda dan meminimalkan latensi. Tidak semua jenis EC2 instance tersedia di semua lokasi.

Untuk konfigurasi armada minimal:
  • Jangan tambahkan lokasi terpencil.

  • Atur jenis armada yang disetel ke “Sesuai Permintaan”. Armada spot membutuhkan pekerjaan pengaturan tambahan.

  • Setel jenis instance ke “c5.large”. Jenis instance yang umum digunakan ini tersedia di semua Wilayah AWS.

  1. Dalam penyebaran Instance, tentukan lokasi dan jenis armada.

    1. Pilih satu atau beberapa Lokasi tambahan tempat Anda ingin menerapkan instance armada. Lokasi terpencil ini ditambahkan ke lokasi asal armada (yang telah dipilih sebelumnya), yang merupakan Wilayah AWS tempat Anda membuat armada ini. Anda dapat memilih lokasi jarak jauh dari semua Wilayah AWS dan Local Zones yang GameLift didukung Amazon.

      Untuk mempelajari lebih lanjut tentang lokasi yang didukung, termasuk cara menggunakan lokasi Wilayah AWS yang tidak diaktifkan secara default, lihat Lokasi GameLift layanan Amazon untuk hosting terkelola. Juga tinjau GameLift kuota Amazon di lokasi per armada.

    2. Pilih untuk menggunakan instans On-Demand atau Spot untuk armada ini. Untuk informasi selengkapnya tentang jenis armada, lihatInstans Sesuai Permintaan versus Instans Spot.

  2. Pilih konfigurasi EC2 Instans Amazon yang memenuhi kebutuhan Anda dan tersedia di semua lokasi yang Anda pilih. Daftar ini difilter berdasarkan lokasi Anda saat ini dan pilihan jenis armada. Anda dapat memfilternya lebih lanjut dengan faktor lain seperti keluarga tipe instance dan arsitektur. Setelah membuat armada, Anda tidak dapat mengubah jenis instance.

    Beberapa lokasi memiliki opsi tipe instance terbatas. Jika jenis instans pilihan Anda tidak tersedia untuk semua lokasi, pilih nilai ketersediaan lokasi untuk melihat detail selengkapnya. Untuk mengakomodasi semua lokasi, Anda mungkin perlu membuat armada terpisah dengan jenis instance yang berbeda.

    Untuk informasi selengkapnya tentang memilih jenis instans, lihatTipe instans. Untuk mempelajari lebih lanjut tentang arsitektur Amazon EC2 Arm, lihat Prosesor AWS Graviton dan jenis instans Amazon EC2. Untuk daftar lengkap jenis instance yang didukung oleh Amazon GameLift, lihat API referensi untuk EC2InstanceType(CreateFleet()).

    catatan

    Instans Graviton Arm memerlukan GameLift server Amazon yang dibangun di OS Linux. Server SDK 5.1.1 atau yang lebih baru diperlukan untuk C ++ dan C #. 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

  3. Pilih Berikutnya untuk melanjutkan alur kerja.

Langkah 4 Konfigurasikan runtime

Pada langkah ini, jelaskan bagaimana Anda ingin setiap instance dalam armada menjalankan perangkat lunak server game Anda. Tentukan item baris proses server terpisah untuk setiap executable untuk dijalankan pada sebuah instance, dan putuskan berapa banyak dari setiap proses server yang akan dijalankan secara bersamaan. Buka port pada setiap instance untuk memungkinkan pemain terhubung langsung ke server game. Anda dapat memperbarui pengaturan armada ini kapan saja.

Untuk konfigurasi armada minimal:
  • Tentukan item baris proses server tunggal untuk server game Anda yang dapat dieksekusi. Jika server game Anda membutuhkan proses lain untuk berjalan, buat definisi untuk masing-masing ini juga.

  • Gunakan jumlah default proses bersamaan (1) untuk setiap item baris.

  • Lewati pengaturan aktivasi sesi game.

  • Tentukan nomor port tunggal.

  • Lewati pengaturan sumber daya sesi game.

  1. Buat konfigurasi Runtime untuk menginstruksikan Amazon GameLift tentang cara menjalankan proses server pada setiap instance dalam armada. Anda dapat mengubah konfigurasi runtime armada kapan saja setelah penerapan.

    1. Masukkan jalur Peluncuran ke file yang dapat dieksekusi di build Anda. Pada instance Windows, executable server game dibangun ke jalur. C:\game Pada instance Linux, server game dibangun untuk/local/game. Contoh:C:\game\MyGame\server.exe,/local/game/MyGame/server.exe, atauMyRealtimeLaunchScript.js.

    2. Masukkan parameter Peluncuran opsional untuk diteruskan ke game Anda yang dapat dieksekusi. Contoh:+sv_port 33435 +start_lobby.

    3. Tentukan jumlah proses Bersamaan yang akan dijalankan pada setiap instance. Untuk server game yang dapat dieksekusi, setiap proses dapat meng-host satu sesi game, sehingga proses bersamaan menentukan jumlah sesi game yang dapat dihosting instans secara bersamaan.

      Tinjau GameLift kuota Amazon pada proses server per instance. Kuota ini berlaku untuk total proses bersamaan untuk semua konfigurasi. Jika Anda mengonfigurasi armada untuk melebihi mereka, armada tidak dapat diaktifkan.

  2. Gunakan default aktivasi sesi Game atau sesuaikan untuk game Anda. Jika konfigurasi runtime memerlukan beberapa proses server game bersamaan per instance, pengaturan ini menentukan seberapa cepat sesi game baru dapat dimulai.

    1. Atur aktivasi sesi permainan bersamaan Max untuk membatasi jumlah server game pada instance yang sedang mempersiapkan sesi permainan baru. Pengaturan ini berguna saat meluncurkan beberapa sesi permainan baru yang intensif sumber daya dan dapat memengaruhi kinerja sesi permainan berjalan lainnya.

    2. Tetapkan batas waktu aktivasi baru untuk mencerminkan jumlah waktu maksimum yang harus diambil sesi permainan baru untuk menyelesaikan aktivasi dan melaporkan siap menjadi tuan rumah pemain. Amazon GameLift menghentikan aktivasi sesi game jika melebihi nilai ini.

  3. Buka pengaturan EC2 port untuk memungkinkan lalu lintas masuk mengakses proses server pada armada. Pengaturan ini tidak diperlukan untuk membuat armada, tetapi Anda perlu mengaturnya sebelum pemain dapat terhubung ke sesi permainan di armada.

    Untuk setiap pengaturan port, pilih Jenis protokol transfer data yang akan digunakan untuk komunikasi antara klien game dan server game Anda. Menyediakan rentang Port (dalam formatnnnnn[-nnnnn]) dan rentang alamat IP menggunakan CIDR notasi (seperti 0.0.0.0/0 yang memungkinkan akses ke siapa pun).

    Jika Anda perlu mengatur beberapa rentang non-berturut-turut, buat beberapa pengaturan port.

  4. Tentukan pengaturan sumber daya sesi Game opsional. Anda dapat memperbarui pengaturan ini kapan saja setelah penerapan.

    1. Aktifkan atau nonaktifkan kebijakan perlindungan penskalaan Game untuk semua instance di armada. Selama acara scale-down, Amazon tidak GameLift akan menghentikan instance armada yang dilindungi jika mereka menyelenggarakan sesi game aktif.

    2. Tetapkan batas pembuatan Sumber Daya maksimum jika Anda ingin membatasi jumlah sesi permainan yang dapat dibuat oleh satu pemain selama rentang waktu tertentu.

  5. Pilih Berikutnya untuk melanjutkan alur kerja.

Langkah 5 Tinjau dan buat

Tinjau pengaturan Anda sebelum membuat armada. Meskipun beberapa pengaturan dapat diperbarui nanti (lihatPerbarui konfigurasi GameLift armada Amazon), perubahan pada pengaturan berikut tidak diizinkan setelah armada dibuat:

  • Jenis komputasi: Anda tidak dapat mengonversi EC2 armada terkelola ke armada Anywhere.

  • Membangun atau skrip: Untuk menerapkan pembaruan ke build atau skrip server game Anda, Anda harus membuat armada baru.

  • Opsi tambahan, termasuk peran instans dan pembuatan TLS sertifikat.

  • Detail instans, termasuk jenis armada (Spot atau Sesuai Permintaan) dan tipe EC2 instans.

Saat Anda siap untuk menyebarkan armada baru, pilih Buat. Amazon GameLift segera memulai proses aktivasi armada, menetapkan ID unik dan menempatkan armada dalam NEW status. Lacak kemajuan armada dari halaman Armada. Lihat halaman detail untuk armada dan buka tab Acara.

Anda dapat menyesuaikan kapasitas hosting armada setelah armada mencapai ACTIVE status. Amazon GameLift awalnya menyebarkan armada dengan satu instans di setiap lokasi armada. dan Anda menyesuaikan kapasitas dengan menambahkan instance ke setiap lokasi. Untuk informasi selengkapnya, lihat Menskalakan kapasitas hosting game dengan Amazon GameLift.

AWS CLI

Gunakan create-fleetperintah untuk membuat armada tipe EC2 komputasi. Amazon GameLift membuat sumber daya armada di default Anda saat ini Wilayah AWS (atau Anda dapat menambahkan tag --region untuk menentukan yang berbeda Wilayah AWS).

Buat armada terkelola minimal

Contoh permintaan berikut membuat armada baru dengan pengaturan minimal yang diperlukan untuk menyebarkan armada dengan menjalankan server game yang dapat dihubungkan oleh klien game. Armada baru memiliki karakteristik ini:

  • Ini menentukan build server game, yang telah diunggah ke Amazon GameLift dan dalam READY status.

  • Is menggunakan c5.large On-Demand Instances dengan sistem operasi yang cocok dengan build game yang dipilih.

  • Ini mengatur rumah Wilayah AWS armada us-west-2 dan menyebarkan instance ke Wilayah itu saja.

  • Berdasarkan konfigurasi runtime, setiap komputasi dalam armada menjalankan satu proses server game, yang berarti bahwa setiap komputasi hanya dapat meng-host satu sesi game pada satu waktu. Batas waktu aktivasi sesi game diatur ke nilai default 300 detik, dan tidak ada batasan jumlah aktivasi bersamaan.

  • Pemain dapat terhubung ke server game menggunakan pengaturan port tunggal33435.

  • Semua fitur lainnya dimatikan atau menggunakan pengaturan default.

aws gamelift create-fleet \ --name MinimalFleet123 \ --description "A basic test fleet" \ --region us-west-2 \ --ec2-instance-type c5.large \ --fleet-type ON_DEMAND \ --build-id build-1111aaaa-22bb-33cc-44dd-5555eeee66ff \ --runtime-configuration "ServerProcesses=[{LaunchPath=C:\game\Bin64.dedicated\MultiplayerSampleProjectLauncher_Server.exe, ConcurrentExecutions=10}]" \ --ec2-inbound-permissions "FromPort=33435,ToPort=33435,IpRange=0.0.0.0/0,Protocol=UDP"

Buat armada terkelola yang dikonfigurasi sepenuhnya

Contoh permintaan berikut membuat armada produksi dengan pengaturan untuk semua fitur opsional. Armada baru memiliki karakteristik ini:

  • Ini menentukan build server game, yang telah diunggah ke Amazon GameLift dan dalam READY status.

  • Ini menggunakan c5.large On-Demand Instances dengan sistem operasi yang cocok dengan build game yang dipilih.

  • Ini mengatur rumah Wilayah AWS armada us-west-2 dan menyebarkan instance ke Wilayah asal dan satu lokasi terpencil. sa-east-1

  • Berdasarkan konfigurasi runtime:

    • Setiap komputasi dalam armada menjalankan 10 proses server game dengan parameter peluncuran yang sama, yang berarti bahwa setiap komputasi dapat menghosting hingga 10 sesi game secara bersamaan.

    • Pada setiap komputasi, hanya dua sesi permainan yang dapat diaktifkan pada saat yang sama. Mengaktifkan sesi permainan harus siap untuk menjadi tuan rumah pemain dalam waktu 300 detik (5 menit) atau dihentikan.

  • Pemain dapat terhubung ke server game menggunakan port dalam kisaran berikut33435 to 33535.

  • Ini menghasilkan TLS sertifikat untuk komunikasi terenkripsi antara klien game dan server.

  • Semua sesi permainan di armada memiliki perlindungan sesi permainan diaktifkan.

  • Pemain individu dibatasi untuk membuat tiga sesi permainan baru dalam periode 15 menit.

  • Metrik untuk armada ini termasuk dalam grup metrikAMERfleets, yang (untuk contoh ini) mengumpulkan metrik untuk sekelompok armada di Amerika Utara, Tengah, dan Selatan.

aws gamelift create-fleet \ --name ProdFleet123 \ --description "A fully configured prod fleet" \ --ec2-instance-type c5.large \ --region us-west-2 \ --locations "Location=sa-east-1" \ --fleet-type ON_DEMAND \ --build-id build-1111aaaa-22bb-33cc-44dd-5555eeee66ff \ --certificate-configuration "CertificateType=GENERATED" \ --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=33535,IpRange=0.0.0.0/0,Protocol=UDP" \ --metric-groups "AMERfleets"

Jika permintaan create-fleet berhasil, Amazon GameLift mengembalikan sekumpulan atribut armada yang menyertakan pengaturan konfigurasi yang Anda minta dan ID armada baru. Amazon GameLift kemudian memulai proses aktivasi armada dan menetapkan status armada dan status lokasi ke New. Anda dapat melacak status armada dan melihat informasi armada lainnya menggunakan CLI perintah berikut:

Anda dapat mengubah kapasitas armada dan pengaturan konfigurasi lainnya sesuai kebutuhan menggunakan perintah berikut: