Kluster ECS, Takrif Tugas dan Perkhidmatan
Takrifkan definisi tugasan ECS dengan imej bekas dan had sumber, daftarkan definisi tersebut dalam kluster, dan cipta perkhidmatan untuk mengekalkan bilangan yang dikehendaki.
Kluster ECS, Takrif Tugas dan Perkhidmatan ialah pelajaran AWS Solutions Architect percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran AWS Solutions Architect, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus AWS Solutions Architect merangkumi sejumlah 4 pelajaran.
Mengapa Bekas di AWS?
Bekas membungkus aplikasi dan semua kebergantungannya ke dalam unit mudah alih dan terpencil yang berjalan secara konsisten merentas persekitaran. Amazon ECS (Elastic Container Service) ialah perkhidmatan orkestrasi bekas terurus sepenuhnya AWS yang menjalankan bekas Docker tanpa anda perlu mengurus satah kawalan. ECS berintegrasi rapat dengan perkhidmatan AWS (IAM, ALB, CloudWatch, Secrets Manager) dan merupakan cara yang disyorkan untuk menjalankan bekas di AWS tanpa kerumitan Kubernetes.
Kluster ECS: Unit Pengumpulan
Kluster ECS ialah pengumpulan logik sumber pengkomputeran tempat bekas anda berjalan. Kluster boleh mengandungi tika EC2 (jenis pelancaran EC2), kapasiti Fargate (jenis pelancaran Fargate) atau kedua-duanya. Anda boleh mempunyai berbilang perkhidmatan dan tugasan kendiri dalam satu kluster. Kluster adalah serantau tetapi merentasi Zon Ketersediaan. Corak biasa ialah satu kluster bagi setiap persekitaran (pembangunan, pementasan dan produksi), dengan berbilang perkhidmatan dalam setiap kluster untuk perkhidmatan mikro yang berbeza.
aws ecs create-cluster \
--cluster-name 'MyAppCluster' \
--capacity-providers FARGATE FARGATE_SPOT \
--default-capacity-provider-strategy \
capacityProvider=FARGATE,weight=1,base=1Takrif Tugas: Pelan Tindakan
Takrif Tugas ialah pelan tindakan untuk menjalankan bekas dalam ECS—seumpama fail Docker Compose. Ia menentukan: imej bekas (URI ECR atau Docker Hub), peruntukan CPU dan memori, pemetaan port, pemboleh ubah persekitaran, konfigurasi log, volum dan peranan tugas IAM. Takrif tugas mempunyai versi—setiap semakan tidak boleh diubah. Anda boleh mentakrifkan berbilang bekas bagi setiap tugas untuk corak sidecar (aplikasi utama + penghantar log + ejen pemantauan).
{
'family': 'myapp-task',
'networkMode': 'awsvpc',
'requiresCompatibilities': ['FARGATE'],
'cpu': '512',
'memory': '1024',
'executionRoleArn': 'arn:aws:iam::123456789012:role/ecsTaskExecutionRole',
'taskRoleArn': 'arn:aws:iam::123456789012:role/myAppTaskRole',
'containerDefinitions': [{
'name': 'myapp',
'image': '123456789012.dkr.ecr.us-east-1.amazonaws.com/myapp:latest',
'portMappings': [{'containerPort': 8080}]
}]
}Peranan Tugas berbanding Peranan Pelaksanaan
Tugasan ECS menggunakan dua peranan IAM berasingan dengan tujuan yang berbeza. Peranan Pelaksanaan Tugas digunakan oleh ejen ECS untuk menarik imej bekas daripada ECR, menghantar log ke CloudWatch dan mendapatkan rahsia daripada Secrets Manager atau Parameter Store semasa permulaan tugas. Peranan Tugas digunakan oleh kod aplikasi yang berjalan di dalam bekas untuk memanggil perkhidmatan AWS (S3, DynamoDB, SQS). Sentiasa berikan kebenaran keistimewaan minimum kepada setiap peranan secara berasingan—jangan berikan peranan pelaksanaan kebenaran yang tidak diperlukan oleh aplikasi.
Perkhidmatan ECS untuk Beban Kerja Berjalan Lama
Perkhidmatan ECS mengekalkan bilangan tika tugas yang berjalan serentak seperti yang ditentukan (kiraan dikehendaki). Jika tugas gagal atau berhenti, penjadual perkhidmatan melancarkan pengganti secara automatik. Perkhidmatan juga berintegrasi dengan Elastic Load Balancing untuk pengagihan trafik serta menyokong pelancaran beransur-ansur dan pelancaran biru/hijau. Gunakan perkhidmatan untuk sebarang proses yang berjalan lama (pelayan web, pelayan API atau pekerja latar belakang). Untuk kerja sekali sahaja, jalankan tugas kendiri sebagai gantinya.
aws ecs create-service \
--cluster 'MyAppCluster' \
--service-name 'MyAppService' \
--task-definition 'myapp-task:5' \
--desired-count 3 \
--launch-type FARGATE \
--network-configuration '{
"awsvpcConfiguration": {
"subnets": ["subnet-aaa111", "subnet-bbb222"],
"securityGroups": ["sg-xyz"],
"assignPublicIp": "DISABLED"
}
}'Mod Rangkaian: awsvpc berbanding bridge
Mod rangkaian awsvpc memberikan setiap tugas ECS Elastic Network Interface (ENI) dan alamat IP peribadinya sendiri dalam VPC anda—sama seperti tika EC2. Ini membolehkan kawalan kumpulan keselamatan yang terperinci bagi setiap tugas dan diperlukan untuk tugas Fargate. Mod rangkaian bridge menggunakan rangkaian maya terbina dalam Docker pada hos, dengan pemetaan port daripada hos kepada bekas—ia berkongsi ENI tika EC2 hos. Untuk peperiksaan SAA-C03, Fargate sentiasa menggunakan awsvpc; jenis pelancaran EC2 boleh menggunakan mana-mana satu.
Melampirkan Pengimbang Beban pada Perkhidmatan ECS
Daftarkan perkhidmatan ECS anda dengan kumpulan sasaran ALB untuk mengagihkan trafik merentas tika tugas. Apabila tugas baharu bermula, ECS mendaftarkannya secara automatik dengan kumpulan sasaran; apabila tugas itu berhenti, ECS membatalkan pendaftarannya. Konfigurasikan tempoh ihsan pemeriksaan kesihatan (contohnya, 60–120 saat) untuk memberi masa kepada bekas bermula sebelum pemeriksaan kesihatan dijalankan. Tanpa tempoh ihsan, ALB mungkin menandakan bekas yang bermula dengan perlahan sebagai tidak sihat sebelum bersedia, lalu menyebabkan gelung penggantian.
aws ecs create-service \
--cluster 'MyAppCluster' \
--service-name 'MyAppService' \
--load-balancers \
'targetGroupArn=arn:aws:elasticloadbalancing:...,containerName=myapp,containerPort=8080' \
--health-check-grace-period-seconds 120 \
--task-definition 'myapp-task:5' \
--desired-count 3Pelancaran Beransur-ansur berbanding Pelancaran Biru/Hijau
Perkhidmatan ECS menyokong dua strategi pelancaran: Kemas Kini Beransur-ansur menggantikan tugasan lama dengan tugasan baharu secara berperingkat—boleh dikonfigurasikan dengan minimumHealthyPercent (had bawah) dan maximumPercent (had atas). Tetapan 100/200 bermaksud tugasan lama berjalan sementara tugasan baharu dilancarkan (100% sihat diperlukan, sehingga kapasiti 200%). Pelancaran biru/hijau (melalui AWS CodeDeploy) mencipta set tugas baharu di samping set lama, mengalihkan trafik secara beransur-ansur menggunakan penghalaan berwajaran ALB dan menamatkan tugas lama selepas pengesahan. Pelancaran biru/hijau mempunyai keupayaan pemulihan tanpa masa henti.
Pembalakan CloudWatch daripada ECS
Konfigurasikan pemacu log awslogs dalam takrif tugas anda untuk menghantar stdout/stderr bekas terus ke CloudWatch Logs. Tentukan kumpulan log, rantau dan awalan strim. Peranan pelaksanaan tugas memerlukan kebenaran logs:CreateLogStream dan logs:PutLogEvents. Untuk pengagregatan log terpusat merentas berbilang perkhidmatan, pertimbangkan penggunaan FireLens (bekas sidecar dengan Fluent Bit atau Fluentd) untuk menghalakan log ke S3, OpenSearch atau sistem pembalakan pihak ketiga.
'logConfiguration': {
'logDriver': 'awslogs',
'options': {
'awslogs-group': '/ecs/myapp',
'awslogs-region': 'us-east-1',
'awslogs-stream-prefix': 'myapp'
}
}Penemuan Perkhidmatan ECS dengan Cloud Map
Apabila perkhidmatan mikro dalam ECS perlu berkomunikasi antara satu sama lain, alamat IP yang dikodkan secara tetap tidak akan berfungsi kerana tugas bersifat sementara dan mendapat IP baharu setiap kali dilancarkan. Gunakan AWS Cloud Map (Penemuan Perkhidmatan ECS) untuk mendaftarkan IP dan port setiap tugas dalam ruang nama DNS. Perkhidmatan lain menyelesaikan myservice.namespace.local kepada IP tugas sihat semasa. ECS mendaftarkan tugas baharu dan membatalkan pendaftaran tugas yang gagal secara automatik, lalu memastikan rekod DNS tepat tanpa pengurusan manual.
Rahsia dalam Takrif Tugas ECS
Jangan sekali-kali mengekodkan kelayakan secara tetap dalam takrif tugas. Sebaliknya, rujuk rahsia Secrets Manager atau Parameter Store dalam takrif tugas anda—ECS menyuntikkannya sebagai pemboleh ubah persekitaran semasa permulaan tugas. Peranan pelaksanaan tugas mesti mempunyai kebenaran untuk mendapatkan rahsia tersebut. Untuk Secrets Manager, gunakan secretsmanager:GetSecretValue; untuk Parameter Store, gunakan ssm:GetParameters. Rahsia diambil sekali semasa permulaan bekas; pemutaran rahsia memerlukan penggantian tugas untuk mendapatkan nilai baharu.
'secrets': [
{
'name': 'DB_PASSWORD',
'valueFrom': 'arn:aws:secretsmanager:us-east-1:123456789012:secret:myapp/db-password-AbCdEf'
},
{
'name': 'API_KEY',
'valueFrom': 'arn:aws:ssm:us-east-1:123456789012:parameter/myapp/api-key'
}
]Semakan Pantas
Uji pemahaman anda tentang konsep AWS Solutions Architect (SAA-C03) daripada pelajaran ini.
Ringkasan Pelajaran
Dalam pelajaran ini, anda telah mempelajari bahawa: Kluster ECS mengumpulkan sumber pengkomputeran tempat tugas berjalan, Takrif Tugas mentakrifkan imej bekas, CPU/memori, peranan dan pembalakan sebagai pelan tindakan berversi, manakala Perkhidmatan ECS mengekalkan kiraan tugas yang dikehendaki, berintegrasi dengan ALB untuk pengagihan trafik dan menyokong pelancaran beransur-ansur atau biru/hijau. Seterusnya, kita akan membandingkan jenis pelancaran EC2 dengan jenis pelancaran tanpa pelayan Fargate.
Pelajari AWS Solutions Architect dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 30
- Pelajaran
- 120
Soalan Lazim
Adakah pelajaran “Kluster ECS, Takrif Tugas dan Perkhidmatan” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran AWS Solutions Architect, termasuk “Kluster ECS, Takrif Tugas dan Perkhidmatan”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus AWS Solutions Architect merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Kluster ECS, Takrif Tugas dan Perkhidmatan”?
Takrifkan definisi tugasan ECS dengan imej bekas dan had sumber, daftarkan definisi tersebut dalam kluster, dan cipta perkhidmatan untuk mengekalkan bilangan yang dikehendaki. Anda berlatih AWS Solutions Architect menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan AWS Solutions Architect?
Tiada pengalaman terdahulu diperlukan. Pembelajaran AWS Solutions Architect di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.
Berapa lamakah pelajaran “Kluster ECS, Takrif Tugas dan Perkhidmatan” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran AWS Solutions Architect ini?
Ya. Setiap pelajaran AWS Solutions Architect menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Kluster ECS, Takrif Tugas dan Perkhidmatan
- Jenis Pelancaran EC2 berbanding Fargate
- ECR: Menyimpan dan Menarik Imej Bekas
- Penskalaan Automatik dan Pengimbangan Beban Perkhidmatan ECS