Langkah 3: Unggah “halo, dunia!” aplikasi ke Amazon S3 - AWS CodeDeploy

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

Langkah 3: Unggah “halo, dunia!” aplikasi ke Amazon S3

Sekarang Anda akan mempersiapkan dan mengunggah konten sumber Anda ke lokasi yang CodeDeploy dapat menyebarkannya. Petunjuk berikut menunjukkan cara menyediakan bucket Amazon S3, menyiapkan file revisi aplikasi untuk bucket, menggabungkan file revisi, lalu mendorong revisi ke bucket.

catatan

Meskipun tidak tercakup dalam tutorial ini, Anda dapat menggunakan CodeDeploy untuk menyebarkan aplikasi dari GitHub repositori ke instance. Untuk informasi selengkapnya, lihat Integrasi dengan CodeDeploy GitHub.

Menyediakan bucket Amazon S3

Buat wadah penyimpanan atau bucket di Amazon S3—atau gunakan bucket yang sudah ada. Pastikan Anda dapat mengunggah revisi ke bucket dan EC2 instans Amazon yang digunakan dalam penerapan dapat mengunduh revisi dari bucket.

Anda dapat menggunakan konsol Amazon S3, atau Amazon S3 untuk membuat APIs bucket Amazon S3. AWS CLI Setelah Anda membuat bucket, pastikan untuk memberikan izin akses ke bucket dan CodeDeploy pengguna Anda.

catatan

Nama bucket harus unik di Amazon S3 untuk semua AWS akun. Jika Anda tidak dapat menggunakannyaamzn-s3-demo-bucket, coba nama bucket yang berbeda, seperti amzn-s3-demo-bucket diikuti dengan tanda hubung dan inisiasi Anda atau pengenal unik lainnya. Kemudian pastikan untuk mengganti nama bucket Anda dengan di amzn-s3-demo-bucket mana pun Anda melihatnya di seluruh tutorial ini.

Bucket Amazon S3 harus dibuat di AWS wilayah yang sama di mana EC2 instans Amazon target Anda diluncurkan. Misalnya, jika Anda membuat bucket di Wilayah AS Timur (Virginia N.), maka EC2 instans Amazon target Anda harus diluncurkan di Wilayah AS Timur (Virginia N.).

Untuk membuat bucket Amazon S3 () CLI

Panggil mb perintah untuk membuat bucket Amazon S3 bernama: amzn-s3-demo-bucket

aws s3 mb s3://amzn-s3-demo-bucket --region region

Untuk membuat bucket Amazon S3 (konsol)

  1. Buka konsol Amazon S3 di. https://console.aws.amazon.com/s3/

  2. Di konsol Amazon S3, pilih Buat ember.

  3. Di kotak nama Bucket, ketikkan nama untuk bucket.

  4. Dalam daftar Wilayah, pilih wilayah target, lalu pilih Buat.

Berikan izin ke bucket Amazon S3 dan akun Anda AWS

Anda harus memiliki izin untuk mengunggah ke bucket Amazon S3. Anda dapat menentukan izin ini melalui kebijakan bucket Amazon S3. Misalnya, dalam kebijakan bucket Amazon S3 berikut, menggunakan karakter wildcard (*) memungkinkan AWS akun 111122223333 untuk mengunggah file ke direktori apa pun di bucket Amazon S3 bernama: amzn-s3-demo-bucket

{ "Statement": [ { "Action": [ "s3:PutObject" ], "Effect": "Allow", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*", "Principal": { "AWS": [ "111122223333" ] } } ] }

Untuk melihat ID AWS akun, lihat Menemukan ID AWS akun Anda.

Sekarang adalah saat yang tepat untuk memverifikasi bucket Amazon S3 akan memungkinkan permintaan unduhan dari setiap instans Amazon EC2 yang berpartisipasi. Anda dapat menentukan ini melalui kebijakan bucket Amazon S3. Misalnya, dalam kebijakan bucket Amazon S3 berikut, menggunakan karakter wildcard (*) memungkinkan EC2 instans Amazon apa pun dengan profil IAM instance terlampir yang berisi file ARN arn:aws:iam::444455556666:role/CodeDeployDemo untuk mengunduh file dari direktori apa pun di bucket Amazon S3 bernama: amzn-s3-demo-bucket

{ "Statement": [ { "Action": [ "s3:Get*", "s3:List*" ], "Effect": "Allow", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*", "Principal": { "AWS": [ "arn:aws:iam::444455556666:role/CodeDeployDemo" ] } } ] }

Untuk informasi tentang cara membuat dan melampirkan kebijakan bucket Amazon S3, lihat contoh kebijakan Bucket.

Pengguna CodeDeploy admin yang Anda buat juga Langkah 1: Menyiapkan harus memiliki izin untuk mengunggah revisi ke bucket Amazon S3. Salah satu cara untuk menentukan ini adalah melalui IAM kebijakan, yang Anda tambahkan ke set izin pengguna, atau ke IAM peran (yang Anda izinkan untuk diasumsikan oleh pengguna). IAMKebijakan berikut memungkinkan pengguna untuk mengunggah revisi di mana saja di bucket Amazon S3 bernama: amzn-s3-demo-bucket

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":["s3:PutObject"], "Resource":"arn:aws:s3:::amzn-s3-demo-bucket/*" } ] }

Untuk informasi tentang cara membuat IAM kebijakan, lihat Membuat IAM kebijakan di Panduan IAM Pengguna. Untuk informasi tentang menambahkan kebijakan ke set izin, lihat Membuat set izin di Panduan AWS IAM Identity Center Pengguna.

Siapkan file aplikasi untuk ember

Pastikan halaman web, AppSpec file, dan skrip diatur pada mesin pengembangan Anda seperti ini:

c:\ |-- temp\ |--HelloWorldApp\ |-- appspec.yml |-- before-install.bat |-- index.html

Bundel file aplikasi ke dalam satu file arsip dan dorong file arsip

Bundel file ke dalam file arsip (dikenal sebagai revisi aplikasi).

catatan

Anda mungkin dikenakan biaya untuk menyimpan objek dalam ember dan untuk mentransfer revisi aplikasi ke dalam dan keluar dari ember. Untuk informasi selengkapnya, lihat Harga Amazon S3.

  1. Pada mesin pengembangan, beralih ke folder tempat file disimpan:

    cd c:\temp\HelloWorldApp
    catatan

    Jika Anda tidak beralih ke folder ini, maka bundling file akan dimulai di folder Anda saat ini. Misalnya, jika folder Anda saat ini c:\temp bukanc:\temp\HelloWorldApp, bundling akan dimulai dengan file dan subfolder di c:\temp folder, yang mungkin mencakup lebih dari subfolderHelloWorldApp.

  2. Panggil create-application perintah untuk mendaftarkan aplikasi baru bernama HelloWorld_App dengan CodeDeploy:

    aws deploy create-application --application-name HelloWorld_App
  3. Panggil perintah CodeDeploy push untuk menggabungkan file bersama-sama, mengunggah revisi ke Amazon S3, dan mendaftarkan informasi tentang revisi CodeDeploy yang diunggah, semuanya dalam satu tindakan.

    aws deploy push --application-name HelloWorld_App --s3-location s3://amzn-s3-demo-bucket/HelloWorld_App.zip --ignore-hidden-files

    Perintah ini menggabungkan file dari direktori saat ini (tidak termasuk file tersembunyi) ke dalam satu file arsip bernamaHelloWorld_App.zip, mengunggah revisi ke amzn-s3-demo-bucket bucket, dan mendaftarkan informasi tentang revisi yang CodeDeploy diunggah.