Jalankan tugas Amazon ECS di Amazon WorkSpaces dengan Amazon ECS Anywhere - AWS Prescriptive Guidance

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

Jalankan tugas Amazon ECS di Amazon WorkSpaces dengan Amazon ECS Anywhere

Akash Kumar, Amazon Web Services

Ringkasan

Amazon Elastic Container Service (Amazon ECS) Anywhere mendukung penerapan tugas Amazon ECS di lingkungan apa pun, termasuk infrastruktur terkelola Amazon Web Services (AWS) dan infrastruktur yang dikelola pelanggan. Anda dapat melakukan ini saat menggunakan pesawat kontrol terkelola AWS sepenuhnya yang berjalan di cloud dan selalu up to date. 

Perusahaan sering menggunakan Amazon WorkSpaces untuk mengembangkan aplikasi berbasis kontainer. Ini memerlukan Amazon Elastic Compute Cloud (Amazon EC2) atau AWS Fargate dengan cluster Amazon ECS untuk menguji dan menjalankan tugas ECS. Sekarang, dengan menggunakan Amazon ECS Anywhere, Anda dapat menambahkan WorkSpaces Amazon sebagai instans eksternal langsung ke cluster ECS, dan Anda dapat menjalankan tugas secara langsung. Ini mengurangi waktu pengembangan Anda, karena Anda dapat menguji container Anda dengan cluster ECS secara lokal di Amazon. WorkSpaces Anda juga dapat menghemat biaya penggunaan EC2 atau instance Fargate untuk menguji aplikasi kontainer Anda.

Pola ini menampilkan cara menerapkan tugas ECS di Amazon WorkSpaces dengan Amazon ECS Anywhere. Ini mengatur cluster ECS dan menggunakan AWS Directory Service Simple AD untuk meluncurkan file. WorkSpaces Kemudian contoh tugas ECS meluncurkan NGINX di. WorkSpaces

Prasyarat dan batasan

  • Akun AWS yang aktif

  • Antarmuka Baris Perintah AWS (AWS CLI)

  • Kredensi AWS dikonfigurasi pada mesin Anda

Arsitektur

Tumpukan teknologi target

  • Awan pribadi virtual (VPC)

  • Kluster Amazon ECS

  • Amazon WorkSpaces

  • AWS Directory Service dengan Simple AD

Arsitektur target

ECS Anywhere menyiapkan cluster ECS dan menggunakan Simple AD untuk diluncurkan. WorkSpaces

Arsitektur mencakup layanan dan sumber daya berikut:

  • Cluster ECS dengan subnet publik dan pribadi dalam VPC khusus

  • Simple AD di VPC untuk menyediakan akses pengguna ke Amazon WorkSpaces

  • Amazon WorkSpaces disediakan di VPC menggunakan Simple AD

  • AWS Systems Manager diaktifkan untuk menambahkan Amazon WorkSpaces sebagai instans terkelola

  • Menggunakan Amazon ECS dan AWS Systems Manager Agent (SSM Agent), Amazon WorkSpaces ditambahkan ke Systems Manager dan cluster ECS

  • Contoh tugas ECS untuk dijalankan di WorkSpaces dalam cluster ECS

Alat

  • AWS Directory Service Simple Active Directory (Simple AD) adalah direktori terkelola mandiri yang didukung oleh Server Kompatibel Direktori Aktif Samba 4. Simple AD menyediakan subset fitur yang ditawarkan oleh AWS Managed Microsoft AD, termasuk kemampuan untuk mengelola pengguna dan terhubung dengan aman ke instans Amazon EC2 .

  • Amazon Elastic Container Service (Amazon ECS) adalah layanan manajemen kontainer yang cepat dan terukur yang membantu Anda menjalankan, menghentikan, dan mengelola kontainer di klaster.

  • AWS Identity and Access Management (IAM) membantu Anda mengelola akses ke sumber daya AWS dengan aman dengan mengontrol siapa yang diautentikasi dan diberi wewenang untuk menggunakannya.

  • AWS Systems Manager membantu Anda mengelola aplikasi dan infrastruktur yang berjalan di AWS Cloud. Ini menyederhanakan manajemen aplikasi dan sumber daya, mempersingkat waktu untuk mendeteksi dan menyelesaikan masalah operasional, dan membantu Anda mengelola sumber daya AWS Anda dengan aman dalam skala besar.

  • Amazon WorkSpaces membantu Anda menyediakan desktop Microsoft Windows atau Amazon Linux virtual berbasis cloud untuk pengguna Anda, yang dikenal sebagai. WorkSpaces WorkSpaces menghilangkan kebutuhan untuk mendapatkan dan menyebarkan perangkat keras atau menginstal perangkat lunak yang kompleks.

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Buat dan konfigurasikan cluster ECS.

Untuk membuat cluster ECS, ikuti petunjuk dalam dokumentasi AWS, termasuk langkah-langkah berikut:

  • Untuk kompatibilitas klaster Pilih, pilih Jaringan saja, yang akan mendukung Amazon WorkSpace sebagai instans eksternal ke cluster ECS.

  • Pilih untuk membuat VPC baru.

Arsitek awan
TugasDeskripsiKeterampilan yang dibutuhkan

Siapkan Simple AD dan luncurkan Amazon WorkSpaces.

Untuk menyediakan direktori Simple AD untuk VPC yang baru dibuat dan meluncurkan Amazon WorkSpaces, ikuti petunjuk dalam dokumentasi AWS.

Arsitek awan
TugasDeskripsiKeterampilan yang dibutuhkan

Unduh skrip terlampir.

Di mesin lokal Anda, unduh ssm-activation.json file ssm-trust-policy.json dan file yang ada di bagian Lampiran.

Arsitek awan

Tambahkan peran IAM.

Tambahkan variabel lingkungan berdasarkan kebutuhan bisnis Anda.

export AWS_DEFAULT_REGION=${AWS_REGION_ID} export ROLE_NAME=${ECS_TASK_ROLE} export CLUSTER_NAME=${ECS_CLUSTER_NAME} export SERVICE_NAME=${ECS_CLUSTER_SERVICE_NAME}

Jalankan perintah berikut.

aws iam create-role --role-name $ROLE_NAME --assume-role-policy-document file://ssm-trust-policy.json
Arsitek awan

Tambahkan SSMManaged InstanceCore kebijakan Amazon ke peran IAM.

Jalankan perintah berikut.

aws iam attach-role-policy --role-name $ROLE_NAME --policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore
Arsitek awan

Tambahkan kebijakan EC2 ContainerServicefor EC2 Peran Amazon ke peran IAM.

Jalankan perintah berikut.

aws iam attach-role-policy --role-name $ROLE_NAME --policy-arn arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role
Arsitek awan

Verifikasi peran IAM.

Untuk memverifikasi peran IAM, jalankan perintah berikut.

aws iam list-attached-role-policies --role-name $ROLE_NAME
Arsitek awan

Aktifkan Systems Manager.

Jalankan perintah berikut.

aws ssm create-activation --iam-role $ROLE_NAME | tee ssm-activation.json
Arsitek awan
TugasDeskripsiKeterampilan yang dibutuhkan

Connect ke Anda WorkSpaces.

Untuk menyambung dan mengatur Ruang Kerja Anda, ikuti petunjuk dalam dokumentasi AWS.

Pengembang aplikasi

Unduh skrip penginstalan ecs-anywhere.

Pada prompt perintah, jalankan perintah berikut:

curl -o "ecs-anywhere-install.sh" "https://amazon-ecs-agent-packages-preview.s3.us-east-1.amazonaws.com/ecs-anywhere-install.sh" && sudo chmod +x ecs-anywhere-install.sh
Pengembang aplikasi

Periksa integritas skrip shell.

(Opsional) Jalankan perintah berikut.

curl -o "ecs-anywhere-install.sh.sha256" "https://amazon-ecs-agent-packages-preview.s3.us-east-1.amazonaws.com/ecs-anywhere-install.sh.sha256" && sha256sum -c ecs-anywhere-install.sh.sha256
Pengembang aplikasi

Tambahkan repositori EPEL di Amazon Linux.

Untuk menambahkan repositori Paket Ekstra untuk Enterprise Linux (EPEL), jalankan perintah. sudo amazon-linux-extras install epel -y

Pengembang aplikasi

Instal Amazon ECS Anywhere.

Untuk menjalankan skrip instal, gunakan perintah berikut.

sudo ./ecs-anywhere-install.sh --cluster $CLUSTER_NAME --activation-id $ACTIVATION_ID --activation-code $ACTIVATION_CODE --region $AWS_REGION

Periksa informasi instance dari cluster ECS.

Untuk memeriksa informasi instans Systems Manager dan ECS cluster dan memvalidasi yang WorkSpaces ditambahkan pada cluster, jalankan perintah berikut dari mesin lokal Anda.

aws ssm describe-instance-information" && "aws ecs list-container-instances --cluster $CLUSTER_NAME
Pengembang aplikasi
TugasDeskripsiKeterampilan yang dibutuhkan

Buat peran IAM eksekusi tugas.

Unduh task-execution-assume-role.json dan external-task-definition.json dari bagian Lampiran. 

Pada mesin lokal Anda, jalankan perintah berikut.

aws iam --region $AWS_DEFAULT_REGION create-role --role-name $ECS_TASK_EXECUTION_ROLE --assume-role-policy-document file://task-execution-assume-role.json
Arsitek awan

Tambahkan kebijakan ke peran eksekusi.

Jalankan perintah berikut.

aws iam --region $AWS_DEFAULT_REGION attach-role-policy --role-name $ECS_TASK_EXECUTION_ROLE --policy-arn arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy
Arsitek awan

Buat peran tugas.

Jalankan perintah berikut.

aws iam --region $AWS_DEFAULT_REGION create-role --role-name $ECS_TASK_EXECUTION_ROLE --assume-role-policy-document file://task-execution-assume-role.json
Arsitek awan

Daftarkan definisi tugas ke cluster.

Pada mesin lokal Anda, jalankan perintah berikut.

aws ecs register-task-definition --cli-input-json file://external-task-definition.json
Arsitek awan

Jalankan tugas.

Pada mesin lokal Anda, jalankan perintah berikut.

aws ecs run-task --cluster $CLUSTER_NAME --launch-type EXTERNAL --task-definition nginx
Arsitek awan

Validasi status tugas yang sedang berjalan.

Untuk mengambil ID tugas, jalankan perintah berikut.

export TEST_TASKID=$(aws ecs list-tasks --cluster $CLUSTER_NAME | jq -r '.taskArns[0]')

Dengan ID tugas, jalankan perintah berikut.

aws ecs describe-tasks --cluster $CLUSTER_NAME --tasks ${TEST_TASKID}
Arsitek awan

Verifikasi tugas di WorkSpace.

Untuk memeriksa bahwa NGINX berjalan pada WorkSpace, jalankan perintah.  curl http://localhost:8080

Pengembang aplikasi

Sumber daya terkait

Lampiran

Untuk mengakses konten tambahan yang terkait dengan dokumen ini, unzip file berikut: attachment.zip