Langkah 3: Deploy dalam produksi menggunakan layanan DynamoDB - Amazon DynamoDB

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

Langkah 3: Deploy dalam produksi menggunakan layanan DynamoDB

Di bagian sebelumnya, Anda menerapkan dan menguji Tic-Tac-Toe aplikasi secara lokal di komputer Anda menggunakan DynamoDB lokal. Sekarang, Anda men-deploy aplikasi dalam produksi sebagai berikut:

  • Menyebarkan aplikasi menggunakan AWS Elastic Beanstalk, easy-to-use layanan untuk menyebarkan dan menskalakan aplikasi dan layanan web. Untuk informasi selengkapnya, lihat Menerapkan aplikasi labu ke. AWS Elastic Beanstalk

    Elastic Beanstalk meluncurkan satu atau beberapa instans Amazon Elastic Compute Cloud (EC2Amazon), yang Anda konfigurasikan melalui Elastic Beanstalk, tempat aplikasi Anda akan berjalan. Tic-Tac-Toe

  • Menggunakan layanan Amazon DynamoDB, buat tabel Games yang ada di AWS , bukan secara lokal di komputer Anda.

Selain itu, Anda juga harus mengonfigurasi izin. AWS Sumber daya apa pun yang Anda buat, seperti Games tabel di DynamoDB, bersifat pribadi secara default. Hanya pemilik sumber daya, yaitu AWS akun yang membuat Games tabel, yang dapat mengakses tabel ini. Dengan demikian, secara default Tic-Tac-Toe aplikasi Anda tidak dapat memperbarui Games tabel.

Untuk memberikan izin yang diperlukan, Anda membuat peran AWS Identity and Access Management (IAM) dan memberikan izin peran ini untuk mengakses tabelGames. EC2Instans Amazon Anda pertama-tama mengasumsikan peran ini. Sebagai tanggapan, AWS mengembalikan kredensil keamanan sementara yang dapat digunakan EC2 instans Amazon untuk memperbarui Games tabel atas nama aplikasi. Tic-Tac-Toe Saat mengonfigurasi aplikasi Elastic Beanstalk, Anda menentukan peran yang dapat diambil IAM oleh instans atau instans EC2 Amazon. Untuk informasi selengkapnya tentang IAM IAMperan, lihat peran untuk amazon EC2 di Panduan EC2 Pengguna Amazon.

catatan

Sebelum Anda membuat EC2 instans Amazon untuk Tic-Tac-Toe aplikasi, Anda harus terlebih dahulu memutuskan AWS Wilayah di mana Anda ingin Elastic Beanstalk untuk membuat instance. Setelah Anda membuat aplikasi Elastic Beanstalk, berikan titik akhir dan nama wilayah yang sama dalam file konfigurasi. Tic-Tac-ToeAplikasi menggunakan informasi dalam file ini untuk membuat Games tabel dan mengirim permintaan berikutnya di AWS Wilayah tertentu. Baik tabel Games DynamoDB dan instance EC2 Amazon yang diluncurkan Elastic Beanstalk harus berada di Wilayah yang sama. Untuk daftar Wilayah yang tersedia, lihat Amazon DynamoDB di Referensi Umum Amazon Web.

Singkatnya, Anda melakukan hal berikut untuk menyebarkan Tic-Tac-Toe aplikasi dalam produksi:

  1. Buat IAM peran menggunakan IAM layanan. Anda melampirkan kebijakan pada peran ini yang memberi tindakan DynamoDB izin untuk mengakses Games tabel.

  2. Bundel kode Tic-Tac-Toe aplikasi dan file konfigurasi, dan buat .zip file. Anda menggunakan .zip file ini untuk memberikan kode Tic-Tac-Toe aplikasi ke Elastic Beanstalk untuk diletakkan di server Anda. Untuk informasi selengkapnya tentang membuat paket, lihat Membuat paket sumber aplikasi di Panduan Developer AWS Elastic Beanstalk .

    Dalam file konfigurasi (beanstalk.config), berikan informasi titik akhir dan Wilayah AWS . Tic-Tac-ToeAplikasi ini menggunakan informasi ini untuk menentukan Wilayah DynamoDB mana yang akan diajak bicara.

  3. Siapkan lingkungan Elastic Beanstalk. Elastic Beanstalk meluncurkan instans atau EC2 instance Tic-Tac-Toe Amazon dan menerapkan bundel aplikasi Anda di dalamnya. Setelah lingkungan Elastic Beanstalk siap, berikan nama file konfigurasi dengan menambahkan variabel lingkungan CONFIG_FILE.

  4. Buat tabel DynamoDB. Menggunakan layanan Amazon DynamoDB, Anda membuat Games tabel, bukan secara lokal AWS di komputer Anda. Perlu diingat, tabel ini memiliki kunci primer sederhana yang dibuat dari kunci partisi GameId jenis string.

  5. Uji game dalam produksi.

3.1: Buat IAM peran untuk Amazon EC2

Membuat IAM peran EC2 jenis Amazon memungkinkan EC2 instans Amazon yang menjalankan Tic-Tac-Toe aplikasi Anda untuk mengambil peran yang benar dan membuat permintaan aplikasi untuk mengakses Games tabel. Saat membuat peran, pilih opsi Kebijakan Kustom dan salin serta tempel kebijakan berikut.

{ "Version":"2012-10-17", "Statement":[ { "Action":[ "dynamodb:ListTables" ], "Effect":"Allow", "Resource":"*" }, { "Action":[ "dynamodb:*" ], "Effect":"Allow", "Resource":[ "arn:aws:dynamodb:us-west-2:922852403271:table/Games", "arn:aws:dynamodb:us-west-2:922852403271:table/Games/index/*" ] } ] }

Untuk petunjuk lebih lanjut, lihat Membuat peran untuk AWS service (AWS Management Console) di Panduan IAM Pengguna.

3.2: Buat tabel game di Amazon DynamoDB

Tabel Games di DynamoDB menyimpan data game. Jika tabel tidak ada, aplikasi akan membuat tabel untuk Anda. Dalam hal ini, biarkan aplikasi membuat tabel Games.

3.3: Bundel dan gunakan kode tic-tac-toe aplikasi

Jika Anda mengikuti langkah-langkah contoh ini, maka Anda sudah mengunduh Tic-Tac-Toe aplikasi. Jika tidak, unduh aplikasi dan ekstrak semua file ke folder di komputer lokal Anda. Untuk petunjuk, lihat Langkah 1: Deploy dan uji secara lokal.

Setelah mengekstrak semua file, Anda akan memiliki folder code. Untuk menyerahkan folder ini ke Elastic Beanstalk, gabungkan konten folder ini sebagai file .zip. Pertama, tambahkan file konfigurasi ke folder tersebut. Aplikasi Anda menggunakan informasi titik akhir dan Wilayah untuk membuat tabel DynamoDB di Wilayah tertentu dan membuat permintaan operasi tabel berikutnya menggunakan titik akhir yang ditentukan.

  1. Beralih ke folder tempat Anda mengunduh Tic-Tac-Toe aplikasi.

  2. Di folder root aplikasi, buat file teks bernama beanstalk.config dengan konten berikut.

    [dynamodb] region=<AWS region> endpoint=<DynamoDB endpoint>

    Misalnya, Anda dapat menggunakan konten berikut.

    [dynamodb] region=us-west-2 endpoint=dynamodb.us-west-2.amazonaws.com

    Untuk daftar Wilayah yang tersedia, lihat Amazon DynamoDB di Referensi Umum Amazon Web Services.

    penting

    Wilayah yang ditentukan dalam file konfigurasi adalah lokasi di mana Tic-Tac-Toe aplikasi membuat Games tabel di DynamoDB. Anda harus membuat aplikasi Elastic Beanstalk yang dibahas pada bagian berikutnya di Wilayah yang sama.

    catatan

    Saat membuat aplikasi Elastic Beanstalk, Anda meminta untuk meluncurkan lingkungan tempat Anda dapat memilih jenis lingkungan. Untuk menguji aplikasi Tic-Tac-Toe contoh, Anda dapat memilih jenis lingkungan Single Instance, lewati yang berikut ini, dan pergi ke langkah berikutnya.

    Namun, jenis lingkungan penyeimbangan beban dan penskalaan otomatis menyediakan lingkungan dengan ketersediaan tinggi dan dapat diskalakan, sesuatu yang harus Anda pertimbangkan saat membuat dan men-deploy aplikasi lain. Jika Anda memilih jenis lingkungan ini, Anda juga perlu membuat UUID dan menambahkannya ke file konfigurasi, seperti yang ditunjukkan berikut.

    [dynamodb] region=us-west-2 endpoint=dynamodb.us-west-2.amazonaws.com [flask] secret_key= 284e784d-1a25-4a19-92bf-8eeb7a9example

    Dalam komunikasi klien-server, ketika server mengirimkan respons, demi keamanan, server mengirimkan cookie bertanda tangan yang dikirim kembali oleh klien ke server pada permintaan berikutnya. Jika hanya ada satu server, server dapat secara lokal menghasilkan kunci enkripsi saat server dimulai. Jika ada banyak server, semua server perlu mengetahui kunci enkripsi yang sama; jika tidak, server tersebut tidak akan dapat membaca cookie yang ditetapkan oleh server peer. Dengan menambahkan secret_key ke file konfigurasi, Anda memberi tahu semua server untuk menggunakan kunci enkripsi ini.

  3. Buka konten folder root aplikasi (yang mencakup file beanstalk.config), misalnya, TicTacToe.zip.

  4. Unggah file .zip ke bucket Amazon Simple Storage Service (Amazon S3). Di bagian berikutnya, Anda akan menyediakan file .zip ini ke Elastic Beanstalk untuk mengunggah di server atau di beberapa server.

    Untuk petunjuk tentang cara mengunggah bucket Amazon S3, lihat Membuat bucket dan Menambahkan objek ke bucket di Panduan Pengguna Amazon Simple Storage Service.

3.4: Siapkan lingkungan AWS Elastic Beanstalk

Pada langkah ini, Anda akan membuat aplikasi Elastic Beanstalk, yang merupakan kumpulan komponen termasuk lingkungan. Untuk contoh ini, Anda meluncurkan satu EC2 instans Amazon untuk menyebarkan dan menjalankan Tic-Tac-Toe aplikasi Anda.

  1. Masukkan kustom berikut URL untuk menyiapkan konsol Elastic Beanstalk untuk mengatur lingkungan.

    https://console.aws.amazon.com/elasticbeanstalk/?region=<AWS-Region>#/newApplication ?applicationName=TicTacToeyour-name &solutionStackName=Python &sourceBundleUrl=https://s3.amazonaws.com/<bucket-name>/TicTacToe.zip &environmentType=SingleInstance &instanceType=t1.micro

    Untuk informasi selengkapnya tentang kustomURLs, lihat Membuat Peluncuran Sekarang URL di Panduan AWS Elastic Beanstalk Pengembang. Untuk ituURL, perhatikan hal berikut:

    • Anda harus memberikan nama AWS Wilayah (sama dengan yang Anda berikan dalam file konfigurasi), nama bucket Amazon S3, dan nama objek.

    • Untuk pengujian, URL permintaan jenis SingleInstancelingkungan, dan t1.micro sebagai tipe instance.

    • Nama aplikasi harus unik. Jadi, di sebelumnyaURL, kami sarankan Anda menambahkan nama Anda ke. applicationName

    Tindakan ini akan membuka konsol Elastic Beanstalk. Dalam beberapa kasus, Anda mungkin perlu masuk.

  2. Di konsol Elastic Beanstalk, pilih Tinjau dan Luncurkan, lalu pilih Luncurkan.

  3. Perhatikan referensi URL for future. Ini URL membuka halaman beranda Tic-Tac-Toe aplikasi Anda.

    Tangkapan layar aplikasi yang menampilkan pesan lingkungan sedang dibuat di halaman beranda.
  4. Konfigurasikan Tic-Tac-Toe aplikasi sehingga mengetahui lokasi file konfigurasi.

    Setelah Elastic Beanstalk membuat aplikasi, pilih Konfigurasi.

    1. Pilih ikon roda gigi di sebelah Konfigurasi Perangkat Lunak, seperti yang ditunjukkan dalam gambar berikut.

      Tic-tac-toe tangkapan layar aplikasi yang menunjukkan ikon roda gigi di sebelah konfigurasi perangkat lunak.
    2. Di akhir bagian Properti Lingkungan, masukkan CONFIG_FILE dan nilai beanstalk.config, lalu pilih Simpan.

      Mungkin diperlukan waktu beberapa menit hingga pembaruan lingkungan ini selesai.

      Tangkapan layar aplikasi yang menampilkan bagian properti lingkungan.

    Setelah pembaruan selesai, Anda bisa memainkan game.

  5. Di browser, masukkan yang URL Anda salin pada langkah sebelumnya, seperti yang ditunjukkan pada contoh berikut.

    http://<pen-name>.elasticbeanstalk.com

    Tindakan ini akan membuka halaman beranda aplikasi.

    Tangkapan layar halaman beranda aplikasi yang memperlihatkan tombol buat, undangan, game sedang dimainkan, dan riwayat terkini.
  6. Masuk sebagai testuser1, dan pilih CREATEuntuk memulai game baru tic-tac-toe.

  7. Masukkan testuser2 di kotak Pilih Lawan.

    Tangkapan layar aplikasi yang menunjukkan kotak pilih lawan.
  8. Buka jendela browser lain.

    Pastikan Anda menghapus semua cookie di jendela browser Anda sehingga Anda tidak akan login sebagai pengguna yang sama.

  9. Masukkan yang sama URL untuk membuka halaman beranda aplikasi, seperti yang ditunjukkan pada contoh berikut.

    http://<env-name>.elasticbeanstalk.com
  10. Masuk sebagai testuser2.

  11. Untuk undangan dari testuser1 dalam daftar undangan yang tertunda, pilih terima.

    Tangkapan layar aplikasi yang menampilkan undangan testuser1 dalam daftar undangan.
  12. Sekarang halaman game muncul.

    Screenshot aplikasi menunjukkan tic-tac-toe grid kosong.

    Testuser1 dan testuser2 dapat memainkan game. Untuk setiap langkah, aplikasi menyimpan langkah tersebut di item yang sesuai di tabel Games.