Berkomunikasi dengan AWS sumber daya lain dari armada Anda - Amazon GameLift

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

Berkomunikasi dengan AWS sumber daya lain dari armada Anda

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 EC2 armada terkelola dan Anywhere armada.

  • 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 instans menggunakan Amazon Simple Queue Service (AmazonSQS).

  • Akses sumber daya khusus yang digunakan dan dijalankan di Amazon Elastic Compute Cloud (AmazonEC2).

Amazon GameLift mendukung metode ini untuk membuat akses:

Akses AWS sumber daya dengan IAM peran

Gunakan IAM peran 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 API permintaan terkait dengan sumber daya, mereka harus menyertakan kredensialnya.

Untuk mengatur akses yang dikendalikan oleh IAM peran, lakukan tugas-tugas berikut:

Buat IAM peran

Pada langkah ini, Anda membuat IAM peran, 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 IAM peran, lihatMenyiapkan peran IAM layanan 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 peran Amazon Resource Name (ARN). Anda membutuhkan peran ARN selama pembuatan armada.

Memodifikasi aplikasi untuk memperoleh kredensil

Pada langkah ini, Anda mengonfigurasi aplikasi Anda untuk memperoleh kredensil keamanan untuk IAM peran tersebut dan menggunakannya saat berinteraksi dengan sumber daya Anda. AWS Lihat tabel berikut untuk menentukan cara memodifikasi aplikasi Anda berdasarkan (1) jenis aplikasi, dan (2) SDK versi server yang digunakan game Anda untuk berkomunikasi dengan Amazon GameLift.

Aplikasi server game Aplikasi lainnya

Menggunakan server SDK versi 5.x

Panggil SDK metode 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 peranARN.

Panggil AWS Security Token Service (AWS STS) AssumeRole dengan peranARN.

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 tersebut. IAM

Panggilan game yang dapat dieksekusi. GetFleetRoleCredentials() File lain menggunakan kredensil bersama yang disimpan secara lokal.

Dalam kode server game Anda, yang seharusnya sudah terintegrasi dengan GameLift server Amazon SDK 5.x, panggil GetFleetRoleCredentials (C++) (C#) (Unreal) (Go) untuk mengambil satu set kredensi 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 kredensial 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 kredensial 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: Menyiapkan 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 mengizinkan 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 IAM peran 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 IAM peran tersebut.

Dalam kode aplikasi, sebelum mengakses AWS sumber daya, aplikasi harus memanggil AssumeRole API operasi AWS Security Token Service (AWS STS) dan menentukan peranARN. 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 IAMPanduan Pengguna.

Kaitkan armada dengan IAM peran

Setelah Anda membuat IAM peran 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.

Akses AWS sumber daya dengan VPC mengintip

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

Amazon GameLift merampingkan proses pengaturan koneksi VPC peering untuk server game Anda. Ini menangani permintaan peering, update tabel rute, dan mengkonfigurasi connection yang diperlukan. Untuk petunjuk tentang cara mengatur VPC peering untuk server game Anda, lihatVPC mengintip untuk Amazon GameLift.