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