Berkomunikasi dengan sumber daya AWS lain dari armada - Amazon GameLift

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

Berkomunikasi dengan sumber daya AWS lain dari armada

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

Beberapa contoh skenario meliputi:

  • Gunakan CloudWatch agen Amazon untuk mengumpulkan metrik, log, dan jejak dari armada dan armada EC2 yang dikelola Anywhere

  • Kirim data log instance ke Amazon CloudWatch Logs.

  • Dapatkan file game yang disimpan dalam 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 mendukung metode ini untuk membuat akses:

Akses AWS sumber daya dengan peran IAM

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:

Buat peran IAM

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

Untuk petunjuk tentang cara mengatur peran IAM, lihatMenyiapkan peran layanan IAM untuk Amazon GameLift. 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 kredensil

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 berdasarkan (1) jenis aplikasi, dan (2) versi SDK server yang digunakan game Anda untuk berkomunikasi dengan Amazon GameLift.

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 kredensil dari file bersama pada instance armada.

Menggunakan server SDK versi 4 atau yang lebih lama

Panggil AWS Security Token Service (AWS STS) AssumeRole dengan peran ARN.

Panggil AWS Security Token Service (AWS STS) AssumeRole dengan peran ARN.

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.

Pada GameLift instance Amazon, aplikasi server game memanggilGetFleetRoleCredentials(). Aplikasi lain menggunakan file kredensial bersama yang dapat disimpan pada instance.

Dalam kode server game Anda, yang seharusnya sudah terintegrasi dengan GameLift server Amazon SDK 5.x, panggil GetFleetRoleCredentials (C++) (C#) (Unreal) untuk mengambil satu set kredenal sementara. Saat kredensialnya kedaluwarsa, Anda dapat menyegarkannya dengan panggilan lain. GetFleetRoleCredentials

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 menghasilkan profil kredensil untuk setiap instance armada. Kredensialnya tersedia untuk digunakan oleh semua aplikasi pada instance. Amazon GameLift terus menyegarkan kredensil 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: Mengatur CloudWatch agen untuk mengumpulkan metrik untuk instans GameLift armada Amazon

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

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

  2. Perbarui common-config.toml file untuk agen untuk mengidentifikasi nama file kredensial dan nama profil, seperti dijelaskan di atas.

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

Tambahkan kode ke aplikasi Anda untuk mengambil peran IAM dan mendapatkan kredensil untuk berinteraksi dengan sumber daya Anda. AWS Aplikasi apa pun yang berjalan pada instance GameLift armada Amazon dengan server SDK 4 atau yang lebih lama dapat mengambil peran IAM.

Dalam kode aplikasi, sebelum mengakses AWS sumber daya, aplikasi harus memanggil operasi AssumeRole 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 di Panduan Pengguna IAM.

Kaitkan armada dengan peran IAM

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:

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

Mengakses sumber daya AWS dengan peering VPC

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

Amazon GameLift merampingkan 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. VPC mengintip untuk Amazon GameLift