Buat layanan Mode Ekspres pertama Anda menggunakan AWS CLI - Amazon Elastic Container Service

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

Buat layanan Mode Ekspres pertama Anda menggunakan AWS CLI

Tutorial ini menunjukkan kepada Anda cara membuat aplikasi layanan Mode Ekspres menggunakan AWS AWS CLI. Anda akan menggunakan aplikasi web sederhana yang menunjukkan kemampuan inti layanan Mode Ekspres.

Prasyarat

Sebelum Anda mulai, pastikan Anda memiliki:

  • AWS Akun dengan izin yang sesuai

  • Yang AWS AWS CLI diinstal dan dikonfigurasi

  • Gambar kontainer yang disimpan di Amazon ECR atau registri pribadi

Langkah 1: Buat Peran IAM

Layanan Mode Ekspres membutuhkan dua peran IAM. Peran Eksekusi Tugas memungkinkan Amazon ECS untuk menarik gambar kontainer dan menulis log atas nama Anda. Buat peran eksekusi tugas dan peran infrastruktur dengan kebijakan berikut:

#Create the roles with ECS trust policies aws iam create-role --role-name ecsTaskExecutionRole \ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ecs-tasks.amazonaws.com" }, "Action": "sts:AssumeRole", } ] }' aws iam create-role --role-name ecsInfrastructureRoleForExpressServices \ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAccessInfrastructureForECSExpressServices", "Effect": "Allow", "Principal": { "Service": "ecs.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }'
#Attach the AWS managed policies aws iam attach-role-policy --role-name ecsTaskExecutionRole \ --policy-arn arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy aws iam attach-role-policy --role-name ecsInfrastructureRoleForExpressServices \ --policy-arn arn:aws:iam::aws:policy/service-role/AmazonECSInfrastructureRoleforExpressGatewayServices

Untuk informasi selengkapnya, lihat Peran IAM pelaksanaan tugas Amazon ECS.

Langkah 2: Buat aplikasi layanan Mode Ekspres pertama Anda

Buat aplikasi layanan Mode Ekspres dengan parameter minimum yang diperlukan:

aws ecs create-express-gateway-service \ --image "public.ecr.aws/nginx/nginx:latest" \ --execution-role-arn arn:aws:iam::123456789012:role/ecsTaskExecutionRole \ --infrastructure-role-arn arn:aws:iam::123456789012:role/ecsInfrastructureRoleForExpressServices \ --monitor-resources

Perintah ini membuat aplikasi layanan Mode Ekspres dengan:

  • Nama layanan unik yang dihasilkan dari nama gambar

  • 1 vCPU dan memori 2 GB

  • Port 80 untuk lalu lintas HTTPS

  • Penskalaan otomatis berdasarkan pemanfaatan CPU

  • Application Load Balancer yang menghadap ke internet di VPC default dan subnet publik

  • URL unik untuk layanan ini dalam format servicename.ecs.region.on.aws

Perintah terus memantau sumber daya saat sedang disediakan dan mengembalikan status. Setelah penyebaran layanan selesai, URL Aplikasi siap menerima lalu lintas. Ketika Anda mengganggu pemantauan, informasi tentang layanan yang dibuat dikembalikan, termasuk layanan ARN dan URL:

{ "service": { "cluster": "arn:aws:ecs:region:123456789012:cluster/default", "serviceName": "nginx-1234", "serviceArn": "arn:aws:ecs:region:123456789012:service/default/nginx-1234", "infrastructureRoleArn": "arn:aws:iam::123456789012:role/ecsInfrastructureRoleForExpressServices", "status": { "statusCode": "ACTIVE" }, "createdAt": "UNIXTIMESTAMP" } }

Langkah 3: Buat aplikasi layanan Mode Ekspres dengan pengaturan khusus

Anda dapat menyesuaikan aplikasi layanan Mode Ekspres Anda dengan menentukan parameter tambahan:

aws ecs create-express-gateway-service \ --execution-role-arn arn:aws:iam::123456789012:role/ecsTaskExecutionRole \ --infrastructure-role-arn arn:aws:iam::123456789012:role/ecsInfrastructureRoleForExpressServices \ --primary-container \ ‘{“image”=“123456789012.dkr.ecr.region.amazonaws.com/my-app:latest", \ “containerPort”=8080, \ “environment”=[{“name”=“ENV”,”value”=“production”},{“name”=“DEBUG”,”value”=“false”}]}’ \ --service-name "my-web-app" \ --cpu 2 \ --memory 4 \ --health-check-path "/health" \ --scaling-target ‘{“minTaskCount”=3,”maxTaskCount”=100}’ --monitor-resources

Ini membuat aplikasi dengan:

  • Sebuah nama kustom "my-web-app”

  • 2 vCPU dan memori 4 GB

  • Port 8080 untuk lalu lintas aplikasi

  • Titik akhir pemeriksaan kesehatan khusus

  • Variabel-variabel lingkungan

  • Minimal 3 tugas, maksimum 100 tugas untuk penskalaan otomatis

Langkah 4: Pantau penyebaran Anda

--monitor-resourcesBendera berfungsi pada panggilan Buat, Perbarui, atau Hapus apa pun ke layanan Mode Ekspres Anda. Tetapi selain itu, Anda dapat memantau sumber daya dalam layanan kapan saja, terpisah dari tindakan bermutasi. Waktu penyebaran dapat bervariasi tergantung pada sumber daya yang perlu disediakan. Setelah status berubahACTIVE, aplikasi Anda siap menerima lalu lintas.

aws ecs monitor-express-gateway-service --service-arn arn:aws:ecs:region:123456789012:service/app-23d97h88

Anda juga dapat menemukan konfigurasi dan status aplikasi layanan Mode Ekspres Anda saat ini:

aws ecs describe-express-gateway-service --service-arn arn:aws:ecs:region:123456789012:service/app-23d97h88

Langkah 5: Akses aplikasi Anda

Akses aplikasi layanan Mode Ekspres menggunakan URL yang disediakan saat menjadi aktif. Format URL-nya adalah:

https://<service-name>.ecs.<region>.on.aws/

Contoh:

https://app-23d97h88.ecs.us-west-2.on.aws/

Aplikasi Anda sekarang berjalan dengan:

  • SSL/TLS Pengakhiran otomatis

  • Load balancing di beberapa Availability Zone

  • Penskalaan otomatis berdasarkan pemanfaatan CPU

  • CloudWatch pencatatan dan pemantauan

  • Alarm Rollback 5XX dan Penerapan Canary untuk pembaruan masa depan