Tutorial: Menyebarkan aplikasi ke Amazon ECS - Amazon CodeCatalyst

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

Tutorial: Menyebarkan aplikasi ke Amazon ECS

Dalam tutorial ini, Anda mempelajari cara menerapkan aplikasi tanpa server ke Amazon Elastic Container Service (AmazonECS) menggunakan alur kerja, ECS Amazon, dan beberapa layanan lainnya. AWS Aplikasi yang digunakan adalah situs web Hello World sederhana yang dibangun di atas image Docker server web Apache. Tutorial memandu Anda melalui pekerjaan persiapan yang diperlukan seperti menyiapkan cluster, dan kemudian menjelaskan cara membuat alur kerja untuk membangun dan menyebarkan aplikasi.

Tip

Alih-alih mengerjakan tutorial ini, Anda dapat menggunakan cetak biru yang melakukan ECS pengaturan Amazon lengkap untuk Anda. Anda harus menggunakan Node.js API dengan AWS Fargate atau Java API dengan AWS Fargate cetak biru. Untuk informasi selengkapnya, lihat Membuat proyek dengan cetak biru.

Prasyarat

Sebelum Anda memulai:

  • Anda membutuhkan CodeCatalyst ruang dengan AWS akun yang terhubung. Untuk informasi selengkapnya, lihat Menciptakan ruang.

  • Di ruang Anda, Anda memerlukan proyek kosong yang disebut:

    codecatalyst-ecs-project

    Gunakan opsi Mulai dari awal untuk membuat proyek ini.

    Untuk informasi selengkapnya, lihat Membuat proyek kosong di Amazon CodeCatalyst.

  • Dalam proyek Anda, Anda memerlukan CodeCatalyst lingkungan yang disebut:

    codecatalyst-ecs-environment

    Konfigurasikan lingkungan ini sebagai berikut:

    • Pilih jenis apa pun, seperti Non-produksi.

    • Hubungkan AWS akun Anda ke sana.

    • Untuk IAMperan Default, pilih peran apa pun. Anda akan menentukan peran yang berbeda nanti.

    Untuk informasi selengkapnya, lihat Menyebarkan ke Akun AWS dan VPCs.

Langkah 1: Siapkan AWS pengguna dan AWS CloudShell

Langkah pertama dalam tutorial ini adalah membuat pengguna AWS IAM Identity Center, dan meluncurkan AWS CloudShell instance sebagai pengguna ini. Selama tutorial ini, CloudShell adalah komputer pengembangan Anda dan di mana Anda mengkonfigurasi AWS sumber daya dan layanan. Hapus pengguna ini setelah menyelesaikan tutorial.

catatan

Jangan gunakan pengguna root Anda untuk tutorial ini. Anda harus membuat pengguna terpisah atau Anda mungkin mengalami masalah saat melakukan tindakan di AWS Command Line Interface (CLI) nanti.

Untuk informasi selengkapnya tentang pengguna Pusat IAM Identitas dan CloudShell, lihat Panduan AWS IAM Identity Center Pengguna dan Panduan AWS CloudShell Pengguna.

Untuk membuat pengguna Pusat IAM Identitas
  1. Masuk ke AWS Management Console dan buka AWS IAM Identity Center konsol di https://console.aws.amazon.com/singlesignon/.

    catatan

    Pastikan Anda masuk menggunakan Akun AWS yang terhubung ke CodeCatalyst ruang Anda. Anda dapat memverifikasi akun mana yang terhubung dengan menavigasi ke ruang Anda dan memilih tab AWSakun. Untuk informasi selengkapnya, lihat Menciptakan ruang.

  2. Pada panel navigasi, silakan pilih Pengguna, lalu pilih Tambahkan pengguna.

  3. Di Nama Pengguna, masukkan:

    CodeCatalystECSUser
  4. Di bawah Kata Sandi, pilih Buat kata sandi satu kali yang dapat Anda bagikan dengan pengguna ini.

  5. Di Alamat email dan Konfirmasi alamat email, masukkan alamat email yang belum ada di Pusat IAM Identitas.

  6. Di Nama depan dan nama belakang, masukkan:

    CodeCatalystECSUser
  7. Di Nama tampilan, simpan nama yang dihasilkan secara otomatis:

    CodeCatalystECSUser CodeCatalystECSUser
  8. Pilih Selanjutnya.

  9. Pada halaman Tambahkan pengguna ke grup, pilih Berikutnya.

  10. Pada halaman Tinjau dan tambahkan pengguna, tinjau informasi dan pilih Tambah pengguna.

    Kotak dialog kata sandi satu kali muncul.

  11. Pilih Salin lalu tempel informasi masuk, termasuk portal AWS akses URL dan kata sandi satu kali.

  12. Pilih Tutup.

Untuk membuat set izin

Anda akan menetapkan izin ini disetel CodeCatalystECSUser nanti.

  1. Di panel navigasi, pilih Set izin, lalu pilih Buat set izin.

  2. Pilih Set izin yang telah ditentukan sebelumnya dan kemudian pilih AdministratorAccess. Kebijakan ini memberikan izin penuh untuk semua layanan AWS.

  3. Pilih Selanjutnya.

  4. Dalam nama set Izin, masukkan:

    CodeCatalystECSPermissionSet
  5. Pilih Selanjutnya.

  6. Pada halaman Tinjau dan buat, tinjau informasi dan pilih Buat.

Untuk menetapkan izin yang disetel ke CodeCatalyst ECSUser
  1. Di panel navigasi, pilih Akun AWS, lalu pilih kotak centang di Akun AWS samping tempat Anda masuk saat ini.

  2. Pilih Tetapkan pengguna atau grup.

  3. Pilih tab Pengguna.

  4. Pilih kotak centang di sebelahCodeCatalystECSUser.

  5. Pilih Selanjutnya.

  6. Pilih kotak centang di sebelahCodeCatalystECSPermissionSet.

  7. Pilih Selanjutnya.

  8. Tinjau informasi dan pilih Kirim.

    Anda sekarang telah menetapkan CodeCatalystECSUser dan CodeCatalystECSPermissionSet untuk Anda Akun AWS, mengikat mereka bersama-sama.

Untuk keluar dan masuk kembali sebagai CodeCatalyst ECSUser
  1. Sebelum Anda keluar, pastikan Anda memiliki portal AWS akses dan nama pengguna URL dan kata sandi satu kali untukCodeCatalystECSUser. Anda seharusnya menyalin informasi ini ke editor teks sebelumnya.

    catatan

    Jika Anda tidak memiliki informasi ini, buka halaman CodeCatalystECSUser detail di Pusat IAM Identitas, pilih Atur ulang kata sandi, Hasilkan kata sandi satu kali [...] , dan Atur ulang kata sandi lagi untuk menampilkan informasi di layar.

  2. Keluar dari AWS.

  3. Rekatkan portal AWS akses URL ke bilah alamat browser Anda.

  4. Masuk dengan nama pengguna dan kata sandi satu kali untukCodeCatalystECSUser.

  5. Di Kata sandi baru, masukkan kata sandi, dan pilih Atur kata sandi baru.

    Sebuah Akun AWSkotak muncul di layar.

  6. Pilih Akun AWS, lalu pilih nama yang Akun AWS Anda tetapkan CodeCatalystECSUser pengguna dan set izin.

  7. Di sebelahCodeCatalystECSPermissionSet, pilih Konsol manajemen.

    AWS Management Console Muncul. Anda sekarang masuk CodeCatalystECSUser dengan izin yang sesuai.

Untuk meluncurkan sebuah AWS CloudShell instance
  1. SepertiCodeCatalystECSUser, di bilah navigasi atas, pilih AWS ikon ( AWS icon ).

    Halaman utama AWS Management Console muncul.

  2. Di bilah navigasi atas, pilih AWS CloudShell ikon ( CloudShell icon ).

    CloudShell terbuka. Tunggu sementara CloudShell lingkungan dibuat.

    catatan

    Jika Anda tidak melihat CloudShell ikon, pastikan Anda berada di Wilayah yang didukung oleh CloudShell. Tutorial ini mengasumsikan Anda berada di Wilayah AS Barat (Oregon).

Untuk memverifikasi bahwa AWS CLI sudah diinstal
  1. Di CloudShell terminal, masukkan:

    aws --version
  2. Periksa apakah ada versi yang muncul.

    Sudah AWS CLI dikonfigurasi untuk pengguna saat iniCodeCatalystECSUser, jadi tidak perlu mengkonfigurasi AWS CLI kunci dan kredensyal, seperti biasanya.

Langkah 2: Menyebarkan aplikasi placeholder ke Amazon ECS

Di bagian ini, Anda secara manual menyebarkan aplikasi placeholder ke Amazon. ECS Aplikasi placeholder ini akan digantikan oleh aplikasi Hello World yang digunakan oleh alur kerja Anda. Aplikasi placeholder adalah Apache Web Server.

Untuk informasi selengkapnya tentang AmazonECS, lihat Panduan Pengembang Layanan Kontainer Elastis Amazon.

Lengkapi serangkaian prosedur berikut untuk menyebarkan aplikasi placeholder.

Untuk membuat peran eksekusi tugas

Peran ini memberikan Amazon ECS dan AWS Fargate (Fargate) izin untuk melakukan API panggilan atas nama Anda.

  1. Buat kebijakan kepercayaan:

    1. Di AWS CloudShell, masukkan perintah berikut:

      cat > codecatalyst-ecs-trust-policy.json

      Prompt berkedip muncul di CloudShell terminal.

    2. Masukkan kode berikut pada prompt:

      { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "ecs-tasks.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
    3. Tempatkan kursor Anda setelah braket keriting terakhir (). }

    4. Tekan Enter dan kemudian Ctrl+d untuk menyimpan file dan keluar dari kucing.

  2. Buat peran eksekusi tugas:

    aws iam create-role \ --role-name codecatalyst-ecs-task-execution-role \ --assume-role-policy-document file://codecatalyst-ecs-trust-policy.json
  3. Lampirkan AmazonECSTaskExecutionRolePolicy kebijakan AWS terkelola ke peran:

    aws iam attach-role-policy \ --role-name codecatalyst-ecs-task-execution-role \ --policy-arn arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy
  4. Menampilkan detail peran:

    aws iam get-role \ --role-name codecatalyst-ecs-task-execution-role
  5. Perhatikan "Arn": nilai peran, misalnya,arn:aws:iam::111122223333:role/codecatalyst-ecs-task-execution-role. Anda akan memerlukan Nama Sumber Daya Amazon ini (ARN) nanti.

Untuk membuat ECS cluster Amazon

Cluster ini akan berisi aplikasi placeholder Apache, dan kemudian, aplikasi Hello World.

  1. SepertiCodeCatalystECSUser, di AWS CloudShell, buat cluster kosong:

    aws ecs create-cluster --cluster-name codecatalyst-ecs-cluster
  2. (Opsional) Verifikasi bahwa cluster berhasil dibuat:

    aws ecs list-clusters

    codecatalyst-ecs-clusterCluster akan muncul dalam daftar, menunjukkan penciptaan yang berhasil. ARN

Untuk membuat file definisi tugas

File definisi tugas menunjukkan untuk menjalankan Apache 2.4 Web server Docker image (httpd:2.4) yang ditarik dari. DockerHub

  1. SepertiCodeCatalystECSUser, di AWS CloudShell, buat file definisi tugas:

    cat > taskdef.json
  2. Tempel kode berikut pada prompt:

    { "executionRoleArn": "arn:aws:iam::111122223333:role/codecatalyst-ecs-task-execution-role", "containerDefinitions": [ { "name": "codecatalyst-ecs-container", "image": "httpd:2.4", "essential": true, "portMappings": [ { "hostPort": 80, "protocol": "tcp", "containerPort": 80 } ] } ], "requiresCompatibilities": [ "FARGATE" ], "cpu": "256", "family": "codecatalyst-ecs-task-def", "memory": "512", "networkMode": "awsvpc" }

    Pada kode sebelumnya, ganti arn:aws:iam::111122223333:role/codecatalyst-ecs-task-execution-role

    dengan ARN peran eksekusi tugas yang Anda catatUntuk membuat peran eksekusi tugas.

  3. Tempatkan kursor Anda setelah braket keriting terakhir (). }

  4. Tekan Enter dan kemudian Ctrl+d untuk menyimpan file dan keluar dari kucing.

Untuk mendaftarkan file definisi tugas dengan Amazon ECS
  1. SepertiCodeCatalystECSUser, dalam AWS CloudShell, daftarkan definisi tugas:

    aws ecs register-task-definition \ --cli-input-json file://taskdef.json
  2. (Opsional) Verifikasi bahwa definisi tugas telah terdaftar:

    aws ecs list-task-definitions

    Definisi codecatalyst-ecs-task-def tugas akan muncul dalam daftar.

Untuk membuat ECS layanan Amazon

ECSLayanan Amazon menjalankan tugas (dan wadah Docker terkait) dari aplikasi placeholder Apache, dan kemudian, aplikasi Hello World.

  1. SebagaiCodeCatalystECSUser, beralihlah ke konsol Amazon Elastic Container Service jika Anda belum melakukannya.

  2. Pilih cluster yang Anda buat sebelumnya,codecatalyst-ecs-cluster.

  3. Di tab Layanan, pilih Buat.

  4. Di halaman Create, lakukan hal berikut:

    1. Simpan semua pengaturan default kecuali yang tercantum berikutnya.

    2. Untuk jenis Peluncuran, pilih FARGATE.

    3. Di bawah Definisi tugas, dalam daftar drop-down Keluarga, pilih:

      codecatalyst-ecs-task-def

    4. Untuk nama Layanan, masukkan:

      codecatalyst-ecs-service
    5. Untuk tugas yang diinginkan, masukkan:

      3

      Dalam tutorial ini, setiap tugas meluncurkan satu wadah Docker.

    6. Perluas bagian Jaringan.

    7. Untuk VPC, pilih apa sajaVPC.

    8. Untuk Subnet, pilih subnet apa saja.

      catatan

      Hanya tentukan satu subnet. Itu saja yang diperlukan untuk tutorial ini.

      catatan

      Jika Anda tidak memiliki subnet VPC dan, buatlah. Lihat Membuat VPC, dan Membuat subnet VPC di Panduan VPC Pengguna Amazon.

    9. Untuk grup Keamanan, pilih Buat grup keamanan baru, lalu lakukan hal berikut:

      1. Untuk nama grup Keamanan, masukkan:

        codecatalyst-ecs-security-group
      2. Untuk deskripsi grup Keamanan, masukkan:

        CodeCatalyst ECS security group
      3. Pilih Tambahkan aturan. Untuk Type, pilih HTTP, dan untuk Source, pilih Anywhere.

    10. Di bagian bawah, pilih Buat.

    11. Tunggu sementara layanan dibuat. Ini mungkin memakan waktu beberapa menit.

  5. Pilih tab Tugas, lalu pilih tombol segarkan. Verifikasi bahwa ketiga tugas memiliki kolom Status Terakhir yang disetel ke Running.

(Opsional) Untuk memverifikasi bahwa aplikasi placeholder Apache Anda sedang berjalan
  1. Di tab Tugas, pilih salah satu dari tiga tugas.

  2. Di bidang IP Publik, pilih alamat terbuka.

    Sebuah It Works! halaman muncul. Ini menunjukkan bahwa ECS layanan Amazon berhasil memulai tugas yang meluncurkan wadah Docker dengan gambar Apache.

    Pada titik ini dalam tutorial, Anda telah secara manual menerapkan ECS klaster Amazon, layanan, dan definisi tugas, serta aplikasi placeholder Apache. Dengan semua item ini di tempat, Anda sekarang siap untuk membuat alur kerja yang akan menggantikan aplikasi placeholder Apache dengan aplikasi Hello World tutorial.

Langkah 3: Buat repositori ECR gambar Amazon

Di bagian ini, Anda membuat repositori gambar pribadi di Amazon Elastic Container Registry (AmazonECR). Repositori ini menyimpan gambar Docker tutorial yang akan menggantikan gambar placeholder Apache yang Anda gunakan sebelumnya.

Untuk informasi selengkapnya tentang AmazonECR, lihat Panduan Pengguna Amazon Elastic Container Registry.

Untuk membuat repositori gambar di Amazon ECR
  1. SepertiCodeCatalystECSUser, di AWS CloudShell, buat repositori kosong di Amazon: ECR

    aws ecr create-repository --repository-name codecatalyst-ecs-image-repo
  2. Tampilkan detail ECR repositori Amazon:

    aws ecr describe-repositories \ --repository-names codecatalyst-ecs-image-repo
  3. Perhatikan “repositoryUri”: nilainya, misalnya,111122223333.dkr.ecr.us-west-2.amazonaws.com/codecatalyst-ecs-image-repo.

    Anda membutuhkannya nanti saat menambahkan repositori ke alur kerja Anda.

Langkah 4: Buat AWS peran

Di bagian ini, Anda membuat AWS IAM peran yang dibutuhkan CodeCatalyst alur kerja Anda agar berfungsi. Peran ini adalah:

  • Peran build - Memberikan izin tindakan CodeCatalyst build (dalam alur kerja) untuk mengakses AWS akun Anda dan menulis ke Amazon dan ECR Amazon. EC2

  • Menyebarkan peran — Memberikan izin CodeCatalyst Deploy to ECS action (dalam alur kerja) untuk mengakses akun Anda AWS , AmazonECS, dan beberapa layanan lainnya. AWS

Untuk informasi selengkapnya tentang IAM peran, lihat IAMperan di Panduan AWS Identity and Access Management Pengguna.

catatan

Untuk menghemat waktu, Anda dapat membuat satu peran, yang disebut CodeCatalystWorkflowDevelopmentRole-spaceName peran, alih-alih dua peran yang tercantum sebelumnya. Untuk informasi selengkapnya, lihat Membuat CodeCatalystWorkflowDevelopmentRole-spaceNameperan untuk akun dan ruang Anda. Pahami bahwa CodeCatalystWorkflowDevelopmentRole-spaceName peran tersebut memiliki izin yang sangat luas yang dapat menimbulkan risiko keamanan. Kami menyarankan Anda hanya menggunakan peran ini dalam tutorial dan skenario di mana keamanan kurang menjadi perhatian. Tutorial ini mengasumsikan Anda membuat dua peran yang tercantum sebelumnya.

Untuk membuat peran build dan deploy, Anda dapat menggunakan peran AWS Management Console atau. AWS CLI

AWS Management Console

Untuk membuat peran build dan deploy, selesaikan rangkaian prosedur berikut.

Untuk membuat peran build
  1. Buat kebijakan untuk peran tersebut, sebagai berikut:

    1. Masuk ke AWS.

    2. Buka konsol IAM di https://console.aws.amazon.com/iam/.

    3. Di panel navigasi, pilih Kebijakan.

    4. Pilih Buat kebijakan.

    5. Pilih JSONtab.

    6. Hapus kode yang ada.

    7. Tempel kode berikut:

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecr:*", "ec2:*" ], "Resource": "*" } ] }
      catatan

      Pertama kali peran digunakan untuk menjalankan tindakan alur kerja, gunakan wildcard dalam pernyataan kebijakan sumber daya dan kemudian cakup kebijakan dengan nama sumber daya setelah tersedia.

      "Resource": "*"
    8. Pilih Berikutnya: Tanda.

    9. Pilih Berikutnya: Tinjau.

    10. Dalam Nama, masukkan:

      codecatalyst-ecs-build-policy
    11. Pilih Buat kebijakan.

      Anda sekarang telah membuat kebijakan izin.

  2. Buat peran build, sebagai berikut:

    1. Di panel navigasi, pilih Peran, lalu pilih Buat peran.

    2. Pilih Kebijakan kepercayaan khusus.

    3. Hapus kebijakan kepercayaan kustom yang ada.

    4. Tambahkan kebijakan kepercayaan khusus berikut:

      { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
    5. Pilih Selanjutnya.

    6. Di Kebijakan izin, caricodecatalyst-ecs-build-policy, pilih kotak centang.

    7. Pilih Selanjutnya.

    8. Untuk nama Peran, masukkan:

      codecatalyst-ecs-build-role
    9. Untuk deskripsi Peran, masukkan:

      CodeCatalyst ECS build role
    10. Pilih Buat peran.

    Anda sekarang telah membuat peran build dengan kebijakan izin dan kebijakan kepercayaan.

  3. Dapatkan peran buildARN, sebagai berikut:

    1. Di panel navigasi, pilih Peran.

    2. Di kotak pencarian, masukkan nama peran yang baru saja Anda buat (codecatalyst-ecs-build-role).

    3. Pilih peran dari daftar.

      Halaman Ringkasan peran muncul.

    4. Di bagian atas, salin ARNnilainya. Anda membutuhkannya nanti.

Untuk membuat peran penerapan
  1. Buat kebijakan untuk peran tersebut, sebagai berikut:

    1. Masuk ke AWS.

    2. Buka konsol IAM di https://console.aws.amazon.com/iam/.

    3. Di panel navigasi, pilih Kebijakan.

    4. Pilih Buat Kebijakan.

    5. Pilih JSONtab.

    6. Hapus kode yang ada.

    7. Tempel kode berikut:

      { "Version": "2012-10-17", "Statement": [{ "Action":[ "ecs:DescribeServices", "ecs:CreateTaskSet", "ecs:DeleteTaskSet", "ecs:ListClusters", "ecs:RegisterTaskDefinition", "ecs:UpdateServicePrimaryTaskSet", "ecs:UpdateService", "elasticloadbalancing:DescribeTargetGroups", "elasticloadbalancing:DescribeListeners", "elasticloadbalancing:ModifyListener", "elasticloadbalancing:DescribeRules", "elasticloadbalancing:ModifyRule", "lambda:InvokeFunction", "lambda:ListFunctions", "cloudwatch:DescribeAlarms", "sns:Publish", "sns:ListTopics", "s3:GetObject", "s3:GetObjectVersion", "codedeploy:CreateApplication", "codedeploy:CreateDeployment", "codedeploy:CreateDeploymentGroup", "codedeploy:GetApplication", "codedeploy:GetDeployment", "codedeploy:GetDeploymentGroup", "codedeploy:ListApplications", "codedeploy:ListDeploymentGroups", "codedeploy:ListDeployments", "codedeploy:StopDeployment", "codedeploy:GetDeploymentTarget", "codedeploy:ListDeploymentTargets", "codedeploy:GetDeploymentConfig", "codedeploy:GetApplicationRevision", "codedeploy:RegisterApplicationRevision", "codedeploy:BatchGetApplicationRevisions", "codedeploy:BatchGetDeploymentGroups", "codedeploy:BatchGetDeployments", "codedeploy:BatchGetApplications", "codedeploy:ListApplicationRevisions", "codedeploy:ListDeploymentConfigs", "codedeploy:ContinueDeployment" ], "Resource":"*", "Effect":"Allow" },{"Action":[ "iam:PassRole" ], "Effect":"Allow", "Resource":"*", "Condition":{"StringLike":{"iam:PassedToService":[ "ecs-tasks.amazonaws.com", "codedeploy.amazonaws.com" ] } } }] }
      catatan

      Pertama kali peran digunakan untuk menjalankan tindakan alur kerja, gunakan wildcard dalam pernyataan kebijakan sumber daya. Anda kemudian dapat membuka cakupan kebijakan dengan nama sumber daya setelah tersedia.

      "Resource": "*"
    8. Pilih Berikutnya: Tanda.

    9. Pilih Berikutnya: Tinjau.

    10. Dalam Nama, masukkan:

      codecatalyst-ecs-deploy-policy
    11. Pilih Buat kebijakan.

      Anda sekarang telah membuat kebijakan izin.

  2. Buat peran deploy, sebagai berikut:

    1. Di panel navigasi, pilih Peran, lalu pilih Buat peran.

    2. Pilih Kebijakan kepercayaan khusus.

    3. Hapus kebijakan kepercayaan kustom yang ada.

    4. Tambahkan kebijakan kepercayaan khusus berikut:

      { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
    5. Pilih Selanjutnya.

    6. Di Kebijakan izin, caricodecatalyst-ecs-deploy-policy, pilih kotak centang.

    7. Pilih Selanjutnya.

    8. Untuk nama Peran, masukkan:

      codecatalyst-ecs-deploy-role
    9. Untuk deskripsi Peran, masukkan:

      CodeCatalyst ECS deploy role
    10. Pilih Buat peran.

    Anda sekarang telah membuat peran penerapan dengan kebijakan kepercayaan.

  3. Dapatkan peran penyebaranARN, sebagai berikut:

    1. Di panel navigasi, pilih Peran.

    2. Di kotak pencarian, masukkan nama peran yang baru saja Anda buat (codecatalyst-ecs-deploy-role).

    3. Pilih peran dari daftar.

      Halaman Ringkasan peran muncul.

    4. Di bagian atas, salin ARNnilainya. Anda membutuhkannya nanti.

AWS CLI

Untuk membuat peran build dan deploy, selesaikan rangkaian prosedur berikut.

Untuk membuat kebijakan kepercayaan untuk kedua peran

SepertiCodeCatalystECSUser, di AWS CloudShell, buat file kebijakan kepercayaan:

  1. Buat file:

    cat > codecatalyst-ecs-trust-policy.json
  2. Pada prompt terminal, tempel kode berikut:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
  3. Tempatkan kursor Anda setelah braket keriting terakhir (). }

  4. Tekan Enter dan kemudian Ctrl+d untuk menyimpan file dan keluar dari kucing.

Untuk membuat kebijakan membangun dan membangun peran
  1. Buat kebijakan build:

    1. SepertiCodeCatalystECSUser, dalam AWS CloudShell, membuat file kebijakan build:

      cat > codecatalyst-ecs-build-policy.json
    2. Pada prompt, masukkan kode berikut:

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecr:*", "ec2:*" ], "Resource": "*" } ] }
    3. Tempatkan kursor Anda setelah braket keriting terakhir (). }

    4. Tekan Enter dan kemudian Ctrl+d untuk menyimpan file dan keluar dari kucing.

  2. Tambahkan kebijakan build ke AWS:

    aws iam create-policy \ --policy-name codecatalyst-ecs-build-policy \ --policy-document file://codecatalyst-ecs-build-policy.json
  3. Dalam output perintah, perhatikan "arn": nilainya, misalnya,arn:aws:iam::111122223333:policy/codecatalyst-ecs-build-policy. Kau butuh ini ARN nanti.

  4. Buat peran build dan lampirkan kebijakan kepercayaan padanya:

    aws iam create-role \ --role-name codecatalyst-ecs-build-role \ --assume-role-policy-document file://codecatalyst-ecs-trust-policy.json
  5. Lampirkan kebijakan build ke peran build:

    aws iam attach-role-policy \ --role-name codecatalyst-ecs-build-role \ --policy-arn arn:aws:iam::111122223333:policy/codecatalyst-ecs-build-policy

    Di mana arn:aws:iam::111122223333:policy/codecatalyst-ecs-build-policy diganti dengan kebijakan build ARN yang Anda sebutkan sebelumnya.

  6. Menampilkan detail peran build:

    aws iam get-role \ --role-name codecatalyst-ecs-build-role
  7. Perhatikan "Arn": nilai peran, misalnya,arn:aws:iam::111122223333:role/codecatalyst-ecs-build-role. Kau butuh ini ARN nanti.

Untuk membuat kebijakan penerapan dan peran penerapan
  1. Buat kebijakan penerapan:

    1. Di AWS CloudShell, buat file kebijakan penerapan:

      cat > codecatalyst-ecs-deploy-policy.json
    2. Pada prompt, masukkan kode berikut:

      { "Version": "2012-10-17", "Statement": [{ "Action":[ "ecs:DescribeServices", "ecs:CreateTaskSet", "ecs:DeleteTaskSet", "ecs:ListClusters", "ecs:RegisterTaskDefinition", "ecs:UpdateServicePrimaryTaskSet", "ecs:UpdateService", "elasticloadbalancing:DescribeTargetGroups", "elasticloadbalancing:DescribeListeners", "elasticloadbalancing:ModifyListener", "elasticloadbalancing:DescribeRules", "elasticloadbalancing:ModifyRule", "lambda:InvokeFunction", "lambda:ListFunctions", "cloudwatch:DescribeAlarms", "sns:Publish", "sns:ListTopics", "s3:GetObject", "s3:GetObjectVersion", "codedeploy:CreateApplication", "codedeploy:CreateDeployment", "codedeploy:CreateDeploymentGroup", "codedeploy:GetApplication", "codedeploy:GetDeployment", "codedeploy:GetDeploymentGroup", "codedeploy:ListApplications", "codedeploy:ListDeploymentGroups", "codedeploy:ListDeployments", "codedeploy:StopDeployment", "codedeploy:GetDeploymentTarget", "codedeploy:ListDeploymentTargets", "codedeploy:GetDeploymentConfig", "codedeploy:GetApplicationRevision", "codedeploy:RegisterApplicationRevision", "codedeploy:BatchGetApplicationRevisions", "codedeploy:BatchGetDeploymentGroups", "codedeploy:BatchGetDeployments", "codedeploy:BatchGetApplications", "codedeploy:ListApplicationRevisions", "codedeploy:ListDeploymentConfigs", "codedeploy:ContinueDeployment" ], "Resource":"*", "Effect":"Allow" },{"Action":[ "iam:PassRole" ], "Effect":"Allow", "Resource":"*", "Condition":{"StringLike":{"iam:PassedToService":[ "ecs-tasks.amazonaws.com", "codedeploy.amazonaws.com" ] } } }] }
      catatan

      Pertama kali peran digunakan untuk menjalankan tindakan alur kerja, gunakan wildcard dalam pernyataan kebijakan sumber daya dan kemudian cakup kebijakan dengan nama sumber daya setelah tersedia.

      "Resource": "*"
    3. Tempatkan kursor Anda setelah braket keriting terakhir (). }

    4. Tekan Enter dan kemudian Ctrl+d untuk menyimpan file dan keluar dari kucing.

  2. Tambahkan kebijakan penerapan ke AWS:

    aws iam create-policy \ --policy-name codecatalyst-ecs-deploy-policy \ --policy-document file://codecatalyst-ecs-deploy-policy.json
  3. Dalam output perintah, perhatikan "arn": nilai kebijakan penerapan, misalnya,arn:aws:iam::111122223333:policy/codecatalyst-ecs-deploy-policy. Kau butuh ini ARN nanti.

  4. Buat peran penerapan dan lampirkan kebijakan kepercayaan padanya:

    aws iam create-role \ --role-name codecatalyst-ecs-deploy-role \ --assume-role-policy-document file://codecatalyst-ecs-trust-policy.json
  5. Lampirkan kebijakan penerapan ke peran penerapan, di mana arn:aws:iam::111122223333:policy/codecatalyst-ecs-deploy-policy diganti dengan kebijakan ARN penerapan yang Anda sebutkan sebelumnya.

    aws iam attach-role-policy \ --role-name codecatalyst-ecs-deploy-role \ --policy-arn arn:aws:iam::111122223333:policy/codecatalyst-ecs-deploy-policy
  6. Menampilkan detail peran penerapan:

    aws iam get-role \ --role-name codecatalyst-ecs-deploy-role
  7. Perhatikan "Arn": nilai peran, misalnya,arn:aws:iam::111122223333:role/codecatalyst-ecs-deploy-role. Kau butuh ini ARN nanti.

Langkah 5: Tambahkan AWS peran CodeCatalyst

Pada langkah ini, Anda menambahkan build role (codecatalyst-ecs-build-role) dan deploy role (codecatalyst-ecs-deploy-role) ke koneksi CodeCatalyst akun di ruang Anda.

Untuk menambahkan peran build dan deploy ke koneksi akun Anda
  1. Masuk CodeCatalyst, navigasikan ke ruang Anda.

  2. Pilih AWS akun. Daftar koneksi akun muncul.

  3. Pilih koneksi akun yang mewakili AWS akun tempat Anda membuat peran build dan deploy.

  4. Pilih Kelola peran dari konsol AWS manajemen.

    Halaman CodeCatalyst ruang Tambahkan IAM peran ke Amazon muncul. Anda mungkin perlu masuk untuk mengakses halaman.

  5. Pilih Tambahkan peran yang sudah Anda buat IAM.

    Daftar drop-down muncul. Daftar ini menampilkan semua IAM peran dengan kebijakan kepercayaan yang mencakup prinsip codecatalyst-runner.amazonaws.com dan codecatalyst.amazonaws.com layanan.

  6. Dalam daftar drop-down, pilihcodecatalyst-ecs-build-role, dan pilih Tambah peran.

    catatan

    Jika Anda melihatThe security token included in the request is invalid, itu mungkin karena Anda tidak memiliki izin yang tepat. Untuk memperbaiki masalah ini, keluar dari AWS sebagai masuk kembali dengan AWS akun yang Anda gunakan saat membuat CodeCatalyst ruang.

  7. Pilih Tambah IAM peran, pilih Tambahkan peran yang ada yang telah Anda buat IAM, dan di daftar drop-down, pilihcodecatalyst-ecs-deploy-role. Pilih Tambahkan peran.

    Anda sekarang telah menambahkan peran build dan deploy ke ruang Anda.

  8. Salin nilai nama CodeCatalyst tampilan Amazon. Anda akan membutuhkan nilai ini nanti, saat membuat alur kerja Anda.

Langkah 6: Buat repositori sumber

Pada langkah ini, Anda membuat repositori sumber di. CodeCatalyst Repositori ini menyimpan file sumber tutorial, seperti file definisi tugas.

Untuk informasi selengkapnya tentang repositori sumber, lihat. Membuat repositori sumber

Untuk membuat repositori sumber
  1. Buka CodeCatalyst konsol di https://codecatalyst.aws/.

  2. Arahkan ke proyek Anda,codecatalyst-ecs-project.

  3. Di panel navigasi, pilih Kode, lalu pilih Repositori sumber.

  4. Pilih Tambahkan repositori, lalu pilih Buat repositori.

  5. Dalam nama Repositori, masukkan:

    codecatalyst-ecs-source-repository
  6. Pilih Buat.

Langkah 7: Tambahkan file sumber

Di bagian ini, Anda menambahkan file sumber Hello World ke CodeCatalyst repositori Anda,. codecatalyst-ecs-source-repository Mereka terdiri dari:

  • index.htmlFile - Menampilkan pesan Hello World di browser.

  • A Dockerfile - Menjelaskan gambar dasar yang akan digunakan untuk image Docker Anda dan perintah Docker untuk menerapkannya.

  • taskdef.jsonFile - Mendefinisikan image Docker yang akan digunakan saat meluncurkan tugas ke cluster Anda.

Struktur folder adalah sebagai berikut:

. |— public-html | |— index.html |— Dockerfile |— taskdef.json
catatan

Petunjuk berikut menunjukkan cara menambahkan file menggunakan CodeCatalyst konsol tetapi Anda dapat menggunakan Git jika Anda mau. Lihat perinciannya di Mengkloning repositori sumber.

index.html

index.htmlFile menampilkan pesan Hello World di browser.

Untuk menambahkan file index.html
  1. Di CodeCatalyst konsol, buka repositori sumber Anda,. codecatalyst-ecs-source-repository

  2. Di File, pilih Buat file.

  3. Untuk nama File, masukkan:

    public-html/index.html
    penting

    Pastikan untuk menyertakan public-html/ awalan untuk membuat folder dengan nama yang sama. index.htmlDiharapkan ada di folder ini.

  4. Di kotak teks, masukkan kode berikut:

    <html> <head> <title>Hello World</title> <style> body { background-color: black; text-align: center; color: white; font-family: Arial, Helvetica, sans-serif; } </style> </head> <body> <h1>Hello World</h1> </body> </html>
  5. Pilih Komit, lalu pilih Komit lagi.

    Ditambahkan ke repositori Anda dalam folder. index.html public-html

Dockerfile

Dockerfile menjelaskan image Docker dasar yang akan digunakan dan perintah Docker untuk diterapkan padanya. Untuk informasi selengkapnya tentang Dockerfile, lihat Referensi Dockerfile.

Dockerfile yang ditentukan di sini menunjukkan untuk menggunakan image dasar Apache 2.4 (). httpd Ini juga mencakup instruksi untuk menyalin file sumber yang dipanggil index.html ke folder di server Apache yang melayani halaman web. EXPOSEInstruksi di Dockerfile memberi tahu Docker bahwa wadah mendengarkan pada port 80.

Untuk menambahkan Dockerfile
  1. Di repositori sumber Anda, pilih Buat file.

  2. Untuk nama File, masukkan:

    Dockerfile

    Jangan sertakan ekstensi file.

    penting

    Dockerfile harus berada di folder root repositori Anda. Docker buildPerintah alur kerja mengharapkannya ada di sana.

  3. Di kotak teks, masukkan kode berikut:

    FROM httpd:2.4 COPY ./public-html/index.html /usr/local/apache2/htdocs/index.html EXPOSE 80
  4. Pilih Komit, lalu pilih Komit lagi.

    Dockerfile ditambahkan ke repositori Anda.

taskdef.json

taskdef.jsonFile yang Anda tambahkan pada langkah ini sama dengan yang sudah Anda tentukan Langkah 2: Menyebarkan aplikasi placeholder ke Amazon ECS dengan perbedaan berikut:

Alih-alih menentukan nama gambar Docker yang di-hardcode di image: bidang (httpd:2.4), definisi tugas di sini menggunakan beberapa variabel untuk menunjukkan gambar: dan. $REPOSITORY_URI $IMAGE_TAG Variabel ini akan diganti dengan nilai nyata yang dihasilkan oleh aksi build alur kerja saat Anda menjalankan alur kerja di langkah selanjutnya.

Untuk detail tentang parameter definisi tugas, lihat Parameter definisi tugas di Panduan Pengembang Layanan Kontainer Elastis Amazon.

Untuk menambahkan file taskdef.json
  1. Di repositori sumber Anda, pilih Buat file.

  2. Untuk nama File, masukkan:

    taskdef.json
  3. Di kotak teks, masukkan kode berikut:

    { "executionRoleArn": "arn:aws:iam::account_ID:role/codecatalyst-ecs-task-execution-role", "containerDefinitions": [ { "name": "codecatalyst-ecs-container", # The $REPOSITORY_URI and $IMAGE_TAG variables will be replaced # by the workflow at build time (see the build action in the # workflow) "image": $REPOSITORY_URI:$IMAGE_TAG, "essential": true, "portMappings": [ { "hostPort": 80, "protocol": "tcp", "containerPort": 80 } ] } ], "requiresCompatibilities": [ "FARGATE" ], "networkMode": "awsvpc", "cpu": "256", "memory": "512", "family": "codecatalyst-ecs-task-def" }

    Pada kode sebelumnya, ganti

    arn:aws:iam::account_ID:role/codecatalyst-ecs-task-execution-role

    dengan ARN peran eksekusi tugas yang Anda catatUntuk membuat peran eksekusi tugas.

  4. Pilih Komit, lalu pilih Komit lagi.

    taskdef.jsonFile ditambahkan ke repositori Anda.

Langkah 8: Buat dan jalankan alur kerja

Pada langkah ini, Anda membuat alur kerja yang mengambil file sumber Anda, membuatnya menjadi image Docker, dan kemudian menyebarkan gambar ke cluster Amazon Anda. ECS Deployment ini menggantikan aplikasi placeholder Apache yang ada.

Alur kerja terdiri dari blok bangunan berikut yang berjalan secara berurutan:

  • Pemicu - Pemicu ini memulai alur kerja yang dijalankan secara otomatis saat Anda mendorong perubahan ke repositori sumber Anda. Untuk informasi lebih lanjut tentang menggunakan pemicu, lihat Memulai alur kerja berjalan secara otomatis menggunakan pemicu.

  • Tindakan build (BuildBackend) — Pada pemicu, aksi membangun image Docker menggunakan Dockerfile dan mendorong gambar ke Amazon. ECR Tindakan build juga memperbarui taskdef.json dengan nilai image bidang yang benar, dan kemudian membuat artefak keluaran file ini. Artefak ini digunakan sebagai masukan untuk tindakan penyebaran, yang berikutnya.

    Untuk informasi selengkapnya tentang tindakan build, lihatMembangun dengan alur kerja.

  • Tindakan penerapan (DeployToECS) — Setelah menyelesaikan aksi build, tindakan deploy mencari artefak keluaran yang dihasilkan oleh build action (TaskDefArtifact), menemukan taskdef.json bagian dalamnya, dan mendaftarkannya dengan layanan Amazon Anda. ECS Layanan kemudian mengikuti instruksi dalam taskdef.json file untuk menjalankan tiga ECS tugas Amazon — dan container Hello World Docker terkait — di dalam klaster Amazon Anda. ECS

Untuk membuat alur kerja
  1. Di CodeCatalyst konsol, di panel navigasi, pilih CI/CD, lalu pilih Alur kerja.

  2. Pilih Buat alur kerja.

  3. Untuk repositori Sumber, pilih. codecatalyst-ecs-source-repository

  4. Untuk Cabang, pilihmain.

  5. Pilih Buat.

  6. Hapus kode YAML sampel.

  7. Tambahkan YAML kode berikut:

    catatan

    Dalam YAML kode berikut, Anda dapat menghilangkan Connections: bagian jika Anda mau. Jika Anda menghilangkan bagian ini, Anda harus memastikan bahwa peran yang ditentukan dalam bidang IAMperan default di lingkungan Anda mencakup izin dan kebijakan kepercayaan dari kedua peran yang dijelaskan. Langkah 5: Tambahkan AWS peran CodeCatalyst Untuk informasi selengkapnya tentang menyiapkan lingkungan dengan IAM peran default, lihatPembuatan lingkungan.

    Name: codecatalyst-ecs-workflow SchemaVersion: 1.0 Triggers: - Type: PUSH Branches: - main Actions: BuildBackend: Identifier: aws/build@v1 Environment: Name: codecatalyst-ecs-environment Connections: - Name: codecatalyst-account-connection Role: codecatalyst-ecs-build-role Inputs: Sources: - WorkflowSource Variables: - Name: REPOSITORY_URI Value: 111122223333.dkr.ecr.us-west-2.amazonaws.com/codecatalyst-ecs-image-repo - Name: IMAGE_TAG Value: ${WorkflowSource.CommitId} Configuration: Steps: #pre_build: - Run: echo Logging in to Amazon ECR... - Run: aws --version - Run: aws ecr get-login-password --region us-west-2 | docker login --username AWS --password-stdin 111122223333.dkr.ecr.us-west-2.amazonaws.com #build: - Run: echo Build started on `date` - Run: echo Building the Docker image... - Run: docker build -t $REPOSITORY_URI:latest . - Run: docker tag $REPOSITORY_URI:latest $REPOSITORY_URI:$IMAGE_TAG #post_build: - Run: echo Build completed on `date` - Run: echo Pushing the Docker images... - Run: docker push $REPOSITORY_URI:latest - Run: docker push $REPOSITORY_URI:$IMAGE_TAG # Replace the variables in taskdef.json - Run: find taskdef.json -type f | xargs sed -i "s|\$REPOSITORY_URI|$REPOSITORY_URI|g" - Run: find taskdef.json -type f | xargs sed -i "s|\$IMAGE_TAG|$IMAGE_TAG|g" - Run: cat taskdef.json # The output artifact will be a zip file that contains a task definition file. Outputs: Artifacts: - Name: TaskDefArtifact Files: - taskdef.json DeployToECS: DependsOn: - BuildBackend Identifier: aws/ecs-deploy@v1 Environment: Name: codecatalyst-ecs-environment Connections: - Name: codecatalyst-account-connection Role: codecatalyst-ecs-deploy-role Inputs: Sources: [] Artifacts: - TaskDefArtifact Configuration: region: us-west-2 cluster: codecatalyst-ecs-cluster service: codecatalyst-ecs-service task-definition: taskdef.json

    Pada kode sebelumnya, ganti:

    • Kedua contoh codecatalyst-ecs-environment dengan nama lingkungan yang Anda buatPrasyarat.

    • Kedua contoh codecatalyst-account-connection dengan nama tampilan koneksi akun Anda. Nama tampilan mungkin nomor. Untuk informasi selengkapnya, lihat Langkah 5: Tambahkan AWS peran CodeCatalyst.

    • codecatalyst-ecs-build-role dengan nama peran build yang Anda buatLangkah 4: Buat AWS peran.

    • 111122223333.dkr.ecr.us-west-2.amazonaws.com/codecatalyst-ecs-image-repo (di Value: properti) dengan URI ECR repositori Amazon yang Anda buat. Langkah 3: Buat repositori ECR gambar Amazon

    • 111122223333.dkr.ecr.us-west-2.amazonaws.com (dalam Run: aws ecr perintah) dengan ECR repositori Amazon tanpa akhiran gambar (). URI /codecatalyst-ecs-image-repo

    • codecatalyst-ecs-deploy-role dengan nama peran penerapan yang Anda buat. Langkah 4: Buat AWS peran

    • Kedua contoh us-west-2 dengan kode AWS Region Anda. Untuk daftar kode Region, lihat Titik akhir Regional di. Referensi Umum AWS

    catatan

    Jika Anda memutuskan untuk tidak membuat peran build dan deploy, ganti codecatalyst-ecs-build-role and codecatalyst-ecs-deploy-role dengan nama CodeCatalystWorkflowDevelopmentRole-spaceName peran. Untuk informasi selengkapnya tentang peran ini, silakan lihat Langkah 4: Buat AWS peran.

    Tip

    Alih-alih menggunakan sed perintah find dan yang ditampilkan dalam kode alur kerja sebelumnya untuk memperbarui repositori dan nama gambar, Anda dapat menggunakan tindakan definisi ECS tugas Render Amazon untuk tujuan ini. Untuk informasi selengkapnya, lihat Memodifikasi definisi ECS tugas Amazon.

  8. (Opsional) Pilih Validasi untuk memastikan bahwa YAML kode tersebut valid sebelum melakukan.

  9. Pilih Terapkan.

  10. Dalam kotak dialog Commit workflow, masukkan yang berikut ini:

    1. Untuk pesan Commit, hapus teks dan masukkan:

      Add first workflow
    2. Untuk Repositori, pilih. codecatalyst-ecs-source-repository

    3. Untuk nama Branch, pilih main.

    4. Pilih Terapkan.

    Anda sekarang telah membuat alur kerja. Jalankan alur kerja dimulai secara otomatis karena pemicu yang ditentukan di bagian atas alur kerja. Khususnya, ketika Anda melakukan (dan mendorong) workflow.yaml file ke repositori sumber Anda, pemicu memulai alur kerja dijalankan.

Untuk melihat alur kerja, jalankan kemajuan
  1. Di panel navigasi CodeCatalyst konsol, pilih CI/CD, lalu pilih Alur kerja.

  2. Pilih alur kerja yang baru saja Anda buat,codecatalyst-ecs-workflow.

  3. Pilih BuildBackenduntuk melihat kemajuan pembangunan.

  4. Pilih DeployToECSuntuk melihat kemajuan penerapan.

    Untuk informasi selengkapnya tentang melihat detail run, lihatMelihat status dan detail alur kerja.

Untuk memverifikasi penyebaran
  1. Buka konsol ECS klasik Amazon di https://console.aws.amazon.com/ecs/.

  2. Pilih cluster Anda,codecatalyst-ecs-cluster.

  3. Pilih tab Tugas.

  4. Pilih salah satu dari tiga tugas.

  5. Di bidang IP Publik, pilih alamat terbuka.

    Halaman “Hello World” muncul di browser, menunjukkan bahwa ECS layanan Amazon berhasil menyebarkan aplikasi Anda.

Langkah 9: Buat perubahan pada file sumber Anda

Di bagian ini, Anda membuat perubahan pada index.html file di repositori sumber Anda. Perubahan ini menyebabkan alur kerja membuat image Docker baru, menandainya dengan ID komit, mendorongnya ke AmazonECR, dan menerapkannya ke Amazon. ECS

Untuk mengubah index.html
  1. Di CodeCatalyst konsol, di panel navigasi, pilih Kode, lalu pilih repositori Sumber, lalu pilih repositori Anda,. codecatalyst-ecs-source-repository

  2. Pilihpublic-html, lalu pilihindex.html.

    Isi index.html muncul.

  3. Pilih Edit.

  4. Pada baris 14, ubah Hello World teks menjadiTutorial complete!.

  5. Pilih Komit, lalu pilih Komit lagi.

    Komit menyebabkan alur kerja baru dijalankan.

  6. (Opsional) Buka halaman utama repositori sumber Anda, pilih Lihat komit, lalu catat ID komit untuk perubahan tersebut. index.html

  7. Perhatikan kemajuan penerapan:

    1. Di panel navigasi, pilih CI/CD, lalu pilih Alur kerja.

    2. Pilih codecatalyst-ecs-workflow untuk melihat proses terbaru.

    3. Pilih BuildBackend, dan DeployToECSuntuk melihat alur kerja berjalan kemajuan.

  8. Verifikasi bahwa aplikasi Anda telah diperbarui, sebagai berikut:

    1. Buka konsol ECS klasik Amazon di https://console.aws.amazon.com/ecs/.

    2. Pilih cluster Anda,codecatalyst-ecs-cluster.

    3. Pilih tab Tugas.

    4. Pilih salah satu dari tiga tugas.

    5. Di bidang IP Publik, pilih alamat terbuka.

      Sebuah Tutorial complete! halaman muncul.

  9. (Opsional) Di AWS, alihkan ke ECR konsol Amazon dan verifikasi bahwa image Docker baru ditandai dengan ID komit dari langkah 6.

Bersihkan

Bersihkan file dan layanan yang digunakan dalam tutorial ini untuk menghindari biaya untuk mereka.

Dalam AWS Management Console, bersihkan dalam urutan ini:

  1. Di AmazonECS, lakukan hal berikut:

    1. Hapuscodecatalyst-ecs-service.

    2. Hapuscodecatalyst-ecs-cluster.

    3. Deregistercodecatalyst-ecs-task-definition.

  2. Di AmazonECR, hapuscodecatalyst-ecs-image-repo.

  3. Di AmazonEC2, hapuscodecatalyst-ecs-security-group.

  4. Di Pusat IAM Identitas, hapus:

    1. CodeCatalystECSUser

    2. CodeCatalystECSPermissionSet

Di CodeCatalyst konsol, bersihkan sebagai berikut:

  1. Hapuscodecatalyst-ecs-workflow.

  2. Hapuscodecatalyst-ecs-environment.

  3. Hapuscodecatalyst-ecs-source-repository.

  4. Hapuscodecatalyst-ecs-project.

Dalam tutorial ini, Anda mempelajari cara menerapkan aplikasi ke ECS layanan Amazon menggunakan CodeCatalyst alur kerja dan tindakan Deploy ke Amazon. ECS