Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Parameter definisi ECS layanan Amazon
Definisi layanan mendefinisikan cara menjalankan ECS layanan Amazon Anda. Parameter berikut dapat ditetapkan dalam ketentuan layanan.
Tipe peluncuran
launchType
-
Tipe: String
Nilai yang valid:
EC2
|FARGATE
|EXTERNAL
Wajib: Tidak
Jenis peluncuran untuk menjalankan layanan Anda. Jika jenis peluncuran tidak ditentukan, default
capacityProviderStrategy
digunakan secara default. Untuk informasi selengkapnya, lihat Jenis ECS peluncuran Amazon.Jika
launchType
ditentukan, parametercapacityProviderStrategy
harus dihilangkan.
Strategi penyedia kapasitas
capacityProviderStrategy
-
Tipe: Array objek
Wajib: Tidak
Strategi penyedia kapasitas untuk digunakan untuk layanan.
Strategi penyedia kapasitas terdiri dari satu penyedia kapasitas atau lebih bersama dengan
base
danweight
yang ditetapkan padanya. Penyedia kapasitas harus dikaitkan dengan klaster sebelum ditentukan dalam strategi penyedia kapasitas. PutClusterCapacityProviders APIIni digunakan untuk mengaitkan penyedia kapasitas dengan cluster. Hanya penyedia kapasitas dengan statusACTIVE
atauUPDATING
yang dapat digunakan.Jika
capacityProviderStrategy
ditetapkan, parameterlaunchType
harus dihilangkan. Jika tidak adacapacityProviderStrategy
ataulaunchType
ditentukan,defaultCapacityProviderStrategy
untuk klaster digunakan.Jika Anda ingin menentukan penyedia kapasitas yang menggunakan grup Auto Scaling, penyedia kapasitas harus sudah dibuat. Penyedia kapasitas baru dapat dibuat dengan CreateCapacityProvider API operasi.
Untuk menggunakan penyedia kapasitas AWS Fargate, tentukan penyedia
FARGATE_SPOT
kapasitasFARGATE
atau penyedia. Penyedia kapasitas AWS Fargate tersedia untuk semua akun dan hanya perlu dikaitkan dengan cluster yang akan digunakan.PutClusterCapacityProviders APIOperasi ini digunakan untuk memperbarui daftar penyedia kapasitas yang tersedia untuk cluster setelah cluster dibuat.
capacityProvider
-
Tipe: String
Diperlukan: Ya
Nama pendek atau nama sumber daya Amazon lengkap (ARN) dari penyedia kapasitas.
weight
-
Jenis: Integer
Kisaran yang valid: Bilangan bulat antara 0 dan 1.000.
Wajib: Tidak
Nilai bobot menunjukkan persentase relatif dari jumlah total tugas yang diluncurkan yang menggunakan penyedia kapasitas yang ditentukan.
Misalnya, asumsikan bahwa Anda memiliki strategi yang berisi dua penyedia kapasitas dan keduanya memiliki bobot satu. Ketika basis terpenuhi, tugas-tugas terbagi secara merata di dua penyedia kapasitas. Dengan menggunakan logika yang sama, asumsikan bahwa Anda menentukan bobot 1 untuk capacityProviderA dan berat 4 untuk capacityProviderB. Kemudian, untuk setiap satu tugas yang dijalankan menggunakan capacityProviderA, empat tugas menggunakan capacityProviderB.
base
-
Jenis: Integer
Kisaran valid: Bilangan bulat antara 0 dan 100.000.
Wajib: Tidak
Nilai dasar menunjuk berapa banyak tugas, minimal, yang akan berjalan di penyedia kapasitas yang ditentukan. Hanya satu penyedia kapasitas dalam strategi penyedia kapasitas dapat memiliki basis yang ditentukan.
Ketentuan tugas
taskDefinition
-
Tipe: String
Wajib: Tidak
Nama Sumber Daya Amazon
revision
(family:revision
)family
dan (ARN) atau lengkap dari definisi tugas yang akan dijalankan di layanan Anda. Jika arevision
tidak ditentukan,ACTIVE
revisi terbaru dari keluarga yang ditentukan akan digunakan.Ketentuan tugas harus ditentukan ketika menggunakan pembaruan bergulir (
ECS
) pengendali deployment.
Sistem operasi platform
platformFamily
-
Jenis: string
Wajib: Bersyarat
Standar: Linux
Parameter ini diperlukan untuk ECS layanan Amazon yang dihosting di Fargate.
Parameter ini diabaikan untuk ECS layanan Amazon yang dihosting di AmazonEC2.
Sistem operasi pada kontainer yang menjalankan layanan. Nilai yang valid adalah
LINUX
,WINDOWS_SERVER_2019_FULL
,WINDOWS_SERVER_2019_CORE
,WINDOWS_SERVER_2022_FULL
, danWINDOWS_SERVER_2022_CORE
.platformFamily
Nilai untuk setiap tugas yang Anda tentukan untuk layanan harus sesuai denganplatformFamily
nilai layanan. Misalnya, jika Anda mengaturplatformFamily
keWINDOWS_SERVER_2019_FULL
,platformFamily
nilai untuk semua tugas harusWINDOWS_SERVER_2019_FULL
.
Versi platform
platformVersion
-
Tipe: String
Wajib: Tidak
Versi platform tempat tugas Anda dalam layanan berjalan. Versi platform hanya ditentukan untuk tugas yang menggunakan tipe peluncuran Fargate. Jika tidak ditentukan, versi terbaru (
LATEST
) digunakan secara default.AWS Versi platform Fargate digunakan untuk merujuk ke lingkungan runtime tertentu untuk infrastruktur tugas Fargate. Saat menentukan versi
LATEST
platform saat menjalankan tugas atau membuat layanan, Anda mendapatkan versi platform terbaru yang tersedia untuk tugas Anda. Saat Anda meningkatkan layanan Anda, tugas-tugas tersebut menerima versi platform yang ditentukan pada penerapan layanan saat ini. Untuk informasi selengkapnya, lihat Versi platform Fargate untuk Amazon ECS.catatan
Versi platform tidak ditentukan untuk tugas yang menggunakan jenis EC2 peluncuran.
Klaster
cluster
-
Tipe: String
Wajib: Tidak
Nama pendek atau Nama Sumber Daya Amazon lengkap (ARN) dari cluster tempat menjalankan layanan Anda. Jika Anda tidak menentukan cluster,
default
cluster diasumsikan.
Nama layanan
serviceName
-
Tipe: String
Diperlukan: Ya
Nama layanan Anda. Mengizinkan hingga 255 huruf (huruf besar dan huruf kecil), angka, tanda hubung, dan garis bawah. Nama layanan harus unik dalam sebuah klaster, tetapi Anda dapat memiliki layanan yang bernama sama di beberapa klaster dalam satu Wilayah atau lebih.
Strategi penjadwalan
schedulingStrategy
-
Tipe: String
Nilai yang valid:
REPLICA
|DAEMON
Wajib: Tidak
Strategi penjadwalan yang boleh digunakan. Jika strategi penjadwalan tidak ditentukan, maka strategi
REPLICA
digunakan. Untuk informasi selengkapnya, lihat ECSLayanan Amazon.Ada dua strategi penjadwal layanan yang tersedia:
-
REPLICA
Strategi penjadwalan replika menempatkan dan mempertahankan jumlah tugas yang diinginkan di seluruh klaster Anda. Secara default tugas tersebar di seluruh Availability Zone. Anda dapat menggunakan strategi penempatan tugas dan kendala untuk menyesuaikan keputusan penempatan tugas. Untuk informasi selengkapnya, lihat Strategi replika. -
DAEMON
—Strategi penjadwalan daemon menerapkan tepat satu tugas pada setiap instance kontainer aktif yang memenuhi semua batasan penempatan tugas yang Anda tentukan di cluster Anda. Saat menggunakan strategi ini, tidak perlu menentukan jumlah tugas yang diinginkan, strategi penempatan tugas, atau menggunakan kebijakan Auto Scaling Layanan. Untuk informasi selengkapnya, lihat Strategi daemon.catatan
Tugas Fargate tidak mendukung strategi
DAEMON
penjadwalan.
-
Jumlah yang diinginkan
desiredCount
-
Tipe: Integer
Wajib: Tidak
Jumlah instantiasi definisi tugas yang ditentukan untuk ditempatkan dan terus berjalan di layanan Anda.
Parameter ini diperlukan jika strategi penjadwalan
REPLICA
digunakan. Jika layanan menggunakan strategi penjadwalanDAEMON
, parameter ini bersifat opsional.
Konfigurasi deployment
deploymentConfiguration
-
Tipe: Objek
Wajib: Tidak
Parameter deployment opsional yang mengendalikan berapa banyak tugas yang berjalan selama deployment dan pengurutan tugas berhenti dan memulai.
maximumPercent
-
Tipe: Integer
Wajib: Tidak
Jika layanan menggunakan tipe penerapan rolling update (
ECS
),maximumPercent
parameter tersebut mewakili batas atas jumlah tugas layanan Anda yang diizinkan dalamRUNNING
STOPPING
, atauPENDING
status selama penerapan. Hal ini dinyatakan sebagai persentase daridesiredCount
yang dibulatkan ke bawah ke bilangan bulat terdekat. Anda dapat menggunakan parameter ini untuk menentukan ukuran batch deployment. Misalnya, jika layanan Anda menggunakan penjadwalREPLICA
layanan dan memilikidesiredCount
empat tugas danmaximumPercent
nilai 200%, penjadwal mungkin memulai empat tugas baru sebelum menghentikan empat tugas lama. Ini asalkan sumber daya cluster yang diperlukan untuk melakukan ini tersedia. NilaimaximumPercent
default untuk layanan yang menggunakan penjadwal layananREPLICA
adalah 200%.Jika layanan Anda menggunakan jenis penjadwal
DAEMON
layanan,maximumPercent
harus tetap pada 100%. Ini adalah nilai default.Jumlah maksimum tugas selama deployment adalah
desiredCount
dikalikan denganmaximumPercent
/100, dibulatkan ke bawah ke nilai integer terdekat.Jika layanan menggunakan jenis dan tugas biru/hijau (
CODE_DEPLOY
) atauEXTERNAL
penerapan yang menggunakan tipe EC2 peluncuran, nilai persen maksimum disetel ke nilai default. Nilai digunakan untuk menentukan batas atas jumlah tugas dalam layanan yang tetap dalamRUNNING
status saat instance kontainer berada dalamDRAINING
status.catatan
Anda tidak dapat menentukan
maximumPercent
nilai kustom untuk layanan yang menggunakan jenis biru/hijau (CODE_DEPLOY
) atauEXTERNAL
penerapan dan memiliki tugas yang menggunakan jenis peluncuran. EC2Jika tugas dalam layanan menggunakan tipe peluncuran Fargate, nilai persen maksimum tidak digunakan, meskipun dikembalikan saat mendeskripsikan layanan Anda.
minimumHealthyPercent
-
Tipe: Integer
Wajib: Tidak
Jika layanan menggunakan tipe penerapan rolling update (
ECS
), layanan tersebutminimumHealthyPercent
mewakili batas bawah pada jumlah tugas layanan Anda yang harus tetap berada dalamRUNNING
status selama penerapan. Ini dinyatakan sebagai persentase daridesiredCount
yang dibulatkan ke bilangan bulat terdekat. Anda dapat menggunakan parameter ini untuk menyebarkan tanpa menggunakan kapasitas cluster tambahan. Misalnya, jika layanan Anda memilikidesiredCount
empat tugas dan 50%, penjadwal layanan mungkin menghentikan dua tugas yang ada untuk membebaskan kapasitas klaster sebelum memulai dua tugas baru.minimumHealthyPercent
Untuk layanan yang tidak menggunakan penyeimbang beban, pertimbangkan hal berikut:
-
Sebuah layanan dianggap baik jika semua kontainer penting dalam tugas dalam layanan lulus pemeriksaan kondisi.
-
Jika tugas tidak memiliki wadah penting dengan pemeriksaan kesehatan yang ditentukan, penjadwal layanan menunggu selama 40 detik setelah tugas mencapai
RUNNING
keadaan sebelum tugas dihitung terhadap total persen sehat minimum. -
Jika suatu tugas memiliki satu atau lebih wadah penting dengan pemeriksaan kesehatan yang ditentukan, penjadwal layanan menunggu tugas mencapai status sehat sebelum menghitungnya ke total persen sehat minimum. Sebuah tugas dianggap baik ketika semua kontainer penting dalam tugas telah lulus pemeriksaan kondisi. Jumlah waktu tunggu penjadwal layanan ditentukan oleh pengaturan pemeriksaan kondisi kontainer. Untuk informasi selengkapnya, lihat Pemeriksaan kondisi.
Untuk layanan yang menggunakan load balancer, perhatikan hal berikut:
-
Jika suatu tugas tidak memiliki wadah penting dengan pemeriksaan kesehatan yang ditentukan, penjadwal layanan menunggu pemeriksaan kesehatan kelompok sasaran penyeimbang beban untuk mengembalikan status sehat sebelum menghitung tugas menuju total persen sehat minimum.
-
Jika tugas memiliki wadah penting dengan pemeriksaan kesehatan yang ditentukan, penjadwal layanan menunggu tugas untuk mencapai status sehat dan pemeriksaan kesehatan kelompok target penyeimbang beban untuk mengembalikan status sehat sebelum menghitung tugas menuju total persen sehat minimum.
Nilai default untuk layanan replika untuk
minimumHealthyPercent
adalah 100%.minimumHealthyPercent
Nilai default untuk layanan yang menggunakan jadwalDAEMON
layanan adalah 0% untuk AWS CLI AWS SDKs, the, APIs dan 50% untuk AWS Management Console.Jumlah minimal tugas sehat selama deployment adalah
desiredCount
dikalikan denganminimumHealthyPercent
/100, dibulatkan ke atas ke nilai bilangan bulat terdekat.Jika layanan menggunakan tipe biru/hijau (
CODE_DEPLOY
) atauEXTERNAL
penerapan dan menjalankan tugas yang menggunakan tipe EC2 peluncuran, nilai persen sehat minimum disetel ke nilai default. Nilai digunakan untuk menentukan batas bawah pada jumlah tugas dalam layanan yang tetap dalamRUNNING
status saat instance kontainer berada dalamDRAINING
status.catatan
Anda tidak dapat menentukan
maximumPercent
nilai kustom untuk layanan yang menggunakan jenis biru/hijau (CODE_DEPLOY
) atauEXTERNAL
penerapan dan memiliki tugas yang menggunakan jenis peluncuran. EC2Jika layanan menggunakan tipe biru/hijau (
CODE_DEPLOY
) atauEXTERNAL
penerapan dan menjalankan tugas yang menggunakan tipe peluncuran Fargate, nilai persen sehat minimum tidak digunakan, meskipun layanan tersebut dikembalikan saat mendeskripsikan layanan Anda. -
Pengendali deployment
deploymentController
-
Tipe: Objek
Wajib: Tidak
Pengendali deployment yang bisa digunakan untuk layanan. Jika pengendali deployment tidak ditentukan, maka digunakan pengendali
ECS
. Untuk informasi selengkapnya, lihat ECSLayanan Amazon.type
-
Tipe: String
Nilai yang valid:
ECS
|CODE_DEPLOY
|EXTERNAL
Wajib: ya
Tipe pengendali deployment yang bisa digunakan. Tersedia tiga tipe pengendali deployment:
ECS
-
Tipe deployment (
ECS
) pembaruan bergulir mencakup penggantian versi yang berjalan sekarang dari kontainer dengan versi terbaru. Jumlah kontainer yang ECS ditambahkan atau dihapus Amazon dari layanan selama pembaruan bergulir dikontrol dengan menyesuaikan jumlah minimum dan maksimum tugas sehat yang diizinkan selama penerapan layanan, seperti yang ditentukan dalam file. deploymentConfiguration CODE_DEPLOY
-
Tipe penyebaran biru/hijau (
CODE_DEPLOY
) menggunakan model penerapan biru/hijau yang didukung oleh CodeDeploy, yang memungkinkan Anda memverifikasi penerapan layanan baru sebelum mengirim lalu lintas produksi ke sana. EXTERNAL
-
Gunakan jenis penerapan eksternal saat Anda ingin menggunakan pengontrol penerapan pihak ketiga untuk kontrol penuh atas proses penyebaran untuk layanan Amazon. ECS
Penempatan tugas
placementConstraints
-
Tipe: Array objek
Wajib: Tidak
Aray objek batasan penempatan yang digunakan untuk tugas dalam layanan Anda. Anda dapat menentukan maksimum 10 kendala per tugas. Batas ini mencakup kendala dalam definisi tugas dan yang ditentukan pada waktu berjalan. Jika Anda menggunakan tipe peluncuran Fargate, batasan penempatan tugas tidak didukung.
type
-
Tipe: String
Wajib: Tidak
Tipe batasan. Gunakan
distinctInstance
untuk memastikan bahwa setiap tugas dalam grup tertentu berjalan di instans kontainer yang berbeda. GunakanmemberOf
untuk membatasi seleksi ke grup kandidat yang valid. NilaidistinctInstance
tidak didukung dalam ketentuan tugas. expression
-
Tipe: String
Wajib: Tidak
Ekspresi bahasa kueri klaster untuk diterapkan pada batasan. Ingat bahwa Anda tidak dapat menentukan ekspresi jika tipe kendalanya adalah
distinctInstance
. Untuk informasi selengkapnya, lihat Buat ekspresi untuk menentukan instance kontainer untuk tugas Amazon ECS.
placementStrategy
-
Tipe: Array objek
Wajib: Tidak
Objek strategi penempatan untuk digunakan untuk tugas di layanan Anda. Anda dapat menentukan maksimal empat aturan strategi per layanan.
type
-
Tipe: String
Nilai yang valid:
random
|spread
|binpack
Wajib: Tidak
Tipe strategi penempatan. Strategi penempatan
random
menempatkan tugas pada kandidat yang tersedia secara acak. Strategi penempatanspread
menyebarkan penempatan di seluruh kandidat yang tersedia secara merata berdasarkan parameterfield
.binpack
Strategi menempatkan tugas pada kandidat yang tersedia yang memiliki jumlah sumber daya paling sedikit yang tersedia yang ditentukan denganfield
parameter. Misalnya, jika Anda binpack pada memori, tugas ditempatkan pada instance dengan jumlah memori yang tersisa paling sedikit tetapi masih cukup untuk menjalankan tugas. field
-
Tipe: String
Wajib: Tidak
Bidang tempat menerapkan strategi penempatan. Untuk strategi
spread
penempatan, nilai yang valid adalahinstanceId
(atauhost
, yang memiliki efek yang sama), atau platform atau atribut khusus apa pun yang diterapkan ke instance container, sepertiattribute:ecs.availability-zone
. Untuk strategi penempatanbinpack
, nilai yang valid adalahcpu
danmemory
. Untuk strategi penempatanrandom
, bidang ini tidak digunakan.
Tanda
-
Tipe: Array objek
Wajib: Tidak
Metadata yang Anda terapkan ke layanan untuk membantu Anda mengkategorikan dan mengaturnya. Setiap tag terdiri dari kunci dan nilai opsional, yang keduanya Anda tentukan. Ketika layanan dihapus, tag akan dihapus juga. Maksimal 50 tag dapat diterapkan ke layanan. Untuk informasi selengkapnya, lihat Menandai sumber daya Amazon ECS.
key
-
Tipe: String
Batasan Panjang: Panjang minimum 1. Panjang maksimum 128.
Wajib: Tidak
Satu bagian dari pasangan nilai kunci yang membentuk tanda. Kunci adalah label umum yang bertindak seperti kategori untuk nilai tanda yang lebih spesifik.
value
-
Tipe: String
Batasan Panjang: Panjang minimum 0. Panjang maksimum 256.
Wajib: Tidak
Bagian opsional pasangan nilai kunci yang membentuk tanda. Nilai bertindak sebagai deskriptor dalam kategori tanda (kunci).
-
Jenis: Boolean
Nilai yang valid:
true
|false
Wajib: Tidak
Menentukan apakah akan menggunakan tag ECS terkelola Amazon untuk tugas-tugas dalam layanan. Jika tidak ada nilai yang ditentukan, nilai defaultnya adalah
false
. Untuk informasi selengkapnya, lihat Gunakan tag untuk penagihan. propagateTags
-
Tipe: String
Nilai yang valid:
TASK_DEFINITION
|SERVICE
Wajib: Tidak
Menentukan apakah akan menyalin tag dari definisi tugas atau layanan untuk tugas-tugas dalam layanan. Jika tidak ada nilai yang ditentukan, tag tidak disalin. Tag hanya dapat disalin ke tugas dalam layanan selama pembuatan layanan. Untuk menambahkan tag ke tugas setelah pembuatan layanan atau pembuatan tugas, gunakan
TagResource
API tindakan.
Konfigurasi jaringan
networkConfiguration
-
Tipe: Objek
Wajib: Tidak
Konfigurasi jaringan untuk layanan. Parameter ini diperlukan untuk definisi tugas yang menggunakan mode
awsvpc
jaringan untuk menerima Antarmuka Jaringan Elastis mereka sendiri, dan tidak didukung untuk mode jaringan lainnya. Jika menggunakan tipe peluncuran Fargate, modeawsvpc
jaringan diperlukan. Untuk informasi selengkapnya tentang jaringan untuk jenis EC2 peluncuran Amazon, lihatOpsi jaringan ECS tugas Amazon untuk jenis EC2 peluncuran. Untuk informasi selengkapnya tentang jaringan untuk jenis peluncuran Fargate, lihat Jaringan Tugas Fargate.awsvpcConfiguration
-
Tipe: Objek
Wajib: Tidak
Sebuah objek yang menunjukkan subnet dan grup keamanan untuk tugas atau layanan.
subnets
-
Tipe: Array string
Wajib: Ya
Subnet yang terkait dengan tugas atau layanan. Ada batas 16 subnet yang dapat ditentukan sesuai dengan
awsvpcConfiguration
. securityGroups
-
Tipe: Array string
Wajib: Tidak
Grup keamanan yang terkait dengan tugas atau layanan. Jika Anda tidak menentukan grup keamanan, grup keamanan default untuk grup akan VPC digunakan. Ada batas lima grup keamanan yang dapat ditentukan berdasarkan
awsvpcConfiguration
. assignPublicIP
-
Tipe: String
Nilai yang valid:
ENABLED
|DISABLED
Wajib: Tidak
Apakah antarmuka jaringan elastis tugas menerima alamat IP publik. Jika nilai tidak ditentukan, maka digunakan nilai default
DISABLED
.
healthCheckGracePeriodSeconds
-
Tipe: Integer
Wajib: Tidak
Periode waktu, dalam hitungan detik, bahwa penjadwal ECS layanan Amazon harus mengabaikan pemeriksaan kesehatan target Elastic Load Balancing yang tidak sehat, pemeriksaan kesehatan kontainer, dan pemeriksaan kesehatan Route 53 setelah tugas memasuki
RUNNING
keadaan. Ini hanya berlaku jika layanan Anda dikonfigurasi untuk menggunakan penyeimbang beban. Jika layanan Anda memiliki penyeimbang beban yang ditentukan dan Anda tidak menentukan nilai tenggang pemeriksaan kesehatan, nilai default akan0
digunakan.Jika tugas layanan Anda membutuhkan waktu cukup lama untuk memulai dan menanggapi pemeriksaan kesehatan, Anda dapat menentukan masa tenggang pemeriksaan kesehatan hingga 2.147.483.647 detik selama penjadwal ECS layanan mengabaikan status pemeriksaan kesehatan. Masa tenggang ini dapat mencegah penjadwal ECS layanan menandai tugas sebagai tidak sehat dan menghentikannya sebelum mereka punya waktu untuk muncul.
Jika Anda tidak menggunakan Elastic Load Balancing, kami sarankan Anda menggunakan
startPeriod
parameter pemeriksaan kesehatan definisi tugas. Untuk informasi selengkapnya, lihat Menentukan kesehatan ECS tugas Amazon menggunakan pemeriksaan kesehatan kontainer. loadBalancers
-
Tipe: Array objek
Wajib: Tidak
Sebuah objek penyeimbang beban menunjukkan penyeimbang beban untuk digunakan dengan layanan Anda. Untuk layanan yang menggunakan Application Load Balancer atau Network Load Balancer, ada batasan lima grup target yang dapat Anda lampirkan ke layanan.
Setelah Anda membuat layanan, konfigurasi penyeimbang beban tidak dapat diubah dari. AWS Management Console Anda dapat menggunakan AWS Copilot, AWS CloudFormation, AWS CLI atau SDK untuk memodifikasi konfigurasi penyeimbang beban hanya untuk pengontrol penerapan
ECS
bergulir, bukan AWS CodeDeploy biru/hijau atau eksternal. Saat Anda menambahkan, memperbarui, atau menghapus konfigurasi penyeimbang beban, Amazon ECS memulai penerapan baru dengan konfigurasi Elastic Load Balancing yang diperbarui. Hal ini menyebabkan tugas mendaftar dan membatalkan pendaftaran dari penyeimbang beban. Kami menyarankan Anda memverifikasi ini di lingkungan pengujian sebelum memperbarui konfigurasi Elastic Load Balancing. Untuk informasi tentang cara mengubah konfigurasi, lihat UpdateServicedi APIReferensi Layanan Amazon Elastic Container.Untuk Application Load Balancers dan Network Load Balancers, objek ini harus berisi kelompok target load balancerARN, nama kontainer (seperti yang muncul dalam definisi kontainer), dan port kontainer untuk mengakses dari penyeimbang beban. Ketika tugas dari layanan ini ditempatkan pada instance kontainer, instance kontainer dan kombinasi port terdaftar sebagai target dalam kelompok target yang ditentukan.
targetGroupArn
-
Tipe: String
Wajib: Tidak
Nama Sumber Daya Amazon (ARN) lengkap dari grup target Elastic Load Balancing yang terkait dengan layanan.
Grup target hanya ARN ditentukan saat menggunakan Application Load Balancer atau Network Load Balancer.
loadBalancerName
-
Tipe: String
Wajib: Tidak
Nama penyeimbang beban untuk dikaitkan dengan layanan.
Jika Anda menggunakan Application Load Balancer atau Network Load Balancer, hilangkan parameter nama load balancer.
containerName
-
Tipe: String
Wajib: Tidak
Nama kontainer (seperti yang muncul dalam ketentuan kontainer) untuk dikaitkan dengan penyeimbang beban.
containerPort
-
Tipe: Bilangan bulat
Wajib: Tidak
Port pada kontainer untuk dikaitkan dengan penyeimbang beban. Port ini harus sesuai dengan
containerPort
dalam ketentuan tugas yang digunakan oleh tugas dalam layanan. Untuk tugas yang menggunakan tipe EC2 peluncuran, instance container harus mengizinkan lalu lintas masuk padahostPort
pemetaan port.
role
-
Tipe: String
Wajib: Tidak
Nama pendek atau penuh IAM peran ARN yang memungkinkan Amazon melakukan panggilan ECS ke penyeimbang beban Anda atas nama Anda. Parameter ini hanya diizinkan jika Anda menggunakan penyeimbang beban dengan satu grup target untuk layanan Anda, dan definisi tugas Anda tidak menggunakan mode
awsvpc
jaringan. Jika Anda menentukanrole
parameter, Anda juga harus menentukan objek penyeimbang beban denganloadBalancers
parameter.Jika peran yang Anda tentukan memiliki jalur selain
/
, maka Anda harus menentukan peran lengkap ARN (ini disarankan) atau mengawali nama peran dengan jalur tersebut. Misalnya, jika peran dengan namabar
memiliki jalur dari/foo/
maka Anda akan menentukan/foo/bar
sebagai nama peran. Untuk informasi selengkapnya, lihat Nama dan Jalur Ramah di Panduan IAM Pengguna.penting
Jika akun Anda telah membuat peran ECS terkait layanan Amazon, peran tersebut digunakan secara default untuk layanan Anda kecuali Anda menentukan peran di sini. Peran terkait layanan diperlukan jika definisi tugas Anda menggunakan mode jaringan awsvpc, dalam hal ini Anda tidak boleh menentukan peran di sini. Untuk informasi selengkapnya, lihat Menggunakan peran terkait layanan untuk Amazon ECS.
serviceConnectConfiguration
-
Tipe: Objek
Wajib: Tidak
Konfigurasi untuk layanan ini untuk menemukan dan terhubung ke layanan, dan ditemukan oleh, dan terhubung dari, layanan lain dalam namespace.
Untuk informasi selengkapnya, lihat Gunakan Service Connect untuk menghubungkan ECS layanan Amazon dengan nama pendek.
enabled
-
Jenis: Boolean
Wajib: Ya
Menentukan apakah akan menggunakan Service Connect dengan layanan ini.
namespace
-
Tipe: String
Wajib: Tidak
Nama pendek atau Amazon Resource Name (ARN) lengkap dari AWS Cloud Map namespace untuk digunakan dengan Service Connect. Namespace harus Wilayah AWS sama dengan ECS layanan Amazon dan cluster. Jenis namespace tidak memengaruhi Service Connect. Untuk informasi selengkapnya AWS Cloud Map, lihat Bekerja dengan Layanan di Panduan AWS Cloud Map Pengembang.
services
-
Tipe: Array objek
Wajib: Tidak
Array objek layanan Service Connect. Ini adalah nama dan alias (juga dikenal sebagai titik akhir) yang digunakan oleh ECS layanan Amazon lainnya untuk terhubung ke layanan ini.
Bidang ini tidak diperlukan untuk ECS layanan Amazon “klien” yang merupakan anggota namespace hanya untuk terhubung ke layanan lain di dalam namespace. Contohnya adalah aplikasi frontend yang menerima permintaan masuk dari penyeimbang beban yang dilampirkan ke layanan atau dengan cara lain.
Objek memilih port dari definisi tugas, menetapkan nama untuk AWS Cloud Map layanan, dan array alias (juga dikenal sebagai titik akhir) dan port untuk aplikasi klien untuk merujuk ke layanan ini.
portName
-
Tipe: String
Diperlukan: Ya
portName
Harus cocok denganname
salah satuportMappings
dari semua wadah dalam definisi tugas ECS layanan Amazon ini. discoveryName
-
Tipe: String
Wajib: Tidak
discoveryName
Itu adalah nama AWS Cloud Map layanan baru yang ECS dibuat Amazon untuk ECS layanan Amazon ini. Ini harus unik di dalam AWS Cloud Map namespace.Jika bidang ini tidak ditentukan,
portName
digunakan. clientAliases
-
Tipe: Array objek
Wajib: Tidak
Daftar alias klien untuk layanan koneksi layanan ini. Anda menggunakan ini untuk menetapkan nama yang dapat digunakan oleh aplikasi klien. Jumlah maksimum alias klien yang dapat Anda miliki dalam daftar ini adalah 1.
Setiap alias (“titik akhir”) adalah DNS nama dan nomor port yang dapat digunakan oleh ECS layanan Amazon lainnya (“klien”) untuk terhubung ke layanan ini.
Setiap kombinasi nama dan port harus unik di dalam namespace.
Nama-nama ini dikonfigurasi dalam setiap tugas layanan klien, bukan di AWS Cloud Map. DNSpermintaan untuk menyelesaikan nama-nama ini tidak meninggalkan tugas, dan tidak dihitung terhadap kuota DNS permintaan per detik per elastic network interface.
port
-
Jenis: Integer
Wajib: Ya
Nomor port mendengarkan untuk proxy koneksi layanan. Port ini tersedia di dalam semua tugas dalam namespace yang sama.
Untuk menghindari perubahan aplikasi Anda di ECS layanan Amazon klien, atur ini ke port yang sama yang digunakan aplikasi klien secara default.
dnsName
-
Tipe: String
Wajib: Tidak
Itu
dnsName
adalah nama yang Anda gunakan dalam aplikasi tugas klien untuk terhubung ke layanan ini. Nama harus DNS label yang valid.Nilai default adalah
discoveryName.namespace
jika bidang ini tidak ditentukan. JikadiscoveryName
tidak ditentukan, definisiportName
dari tugas digunakan.Untuk menghindari perubahan aplikasi Anda di ECS layanan Amazon klien, atur ini ke nama yang sama dengan yang digunakan aplikasi klien secara default. Misalnya, beberapa nama umum adalah
database
,db
, atau nama huruf kecil dari database, sepertimysql
atau.redis
ingressPortOverride
-
Tipe: Integer
Wajib: Tidak
(Opsional) Nomor port untuk proxy Service Connect untuk didengarkan.
Gunakan nilai bidang ini untuk melewati proxy untuk lalu lintas pada nomor port yang ditentukan dalam nama
portMapping
dalam definisi tugas aplikasi ini, lalu gunakan di grup VPC keamanan Amazon Anda untuk mengizinkan lalu lintas ke proxy untuk ECS layanan Amazon ini.Dalam
awsvpc
mode, nilai default adalah nomor port kontainer yang ditentukan dalam namaportMapping
dalam definisi tugas aplikasi ini. Dalambridge
mode, nilai default adalah port ephemeral dinamis dari proxy Service Connect. logConfiguration
-
Jenis: LogConfigurationObjek
Wajib: Tidak
Ini menentukan di mana log proxy Service Connect dipublikasikan. Gunakan log untuk debugging selama kejadian tak terduga. Konfigurasi ini menetapkan
logConfiguration
parameter dalam wadah proxy Service Connect di setiap tugas di ECS layanan Amazon ini. Kontainer proxy tidak ditentukan dalam definisi tugas.Kami menyarankan Anda menggunakan konfigurasi log yang sama dengan wadah aplikasi definisi tugas untuk ECS layanan Amazon ini. Untuk FireLens, ini adalah konfigurasi log dari wadah aplikasi. Bukan wadah router FireLens log yang menggunakan gambar
fluent-bit
ataufluentd
kontainer.
serviceRegistries
-
Tipe: Array objek
Wajib: Tidak
Detail konfigurasi pencari layanan untuk layanan Anda. Untuk informasi selengkapnya, lihat Gunakan penemuan layanan untuk menghubungkan ECS layanan Amazon dengan DNS nama.
registryArn
-
Tipe: String
Wajib: Tidak
Nama Sumber Daya Amazon (ARN) dari registri layanan. Registri layanan yang saat ini didukung adalah AWS Cloud Map. Untuk informasi selengkapnya, lihat Bekerja dengan Layanan di Panduan AWS Cloud Map Pengembang.
port
-
Tipe: Integer
Wajib: Tidak
Nilai port yang digunakan jika layanan penemuan layanan Anda menentukan SRV catatan. Bidang ini diperlukan jika mode
awsvpc
jaringan dan SRV catatan digunakan. containerName
-
Tipe: String
Wajib: Tidak
Nilai nama kontainer yang akan digunakan untuk layanan penemuan layanan Anda. Nilai ini ditentukan dalam definisi tugas. Jika ketentuan tugas yang menentukan tugas layanan Anda menggunakan mode jaringan
bridge
atauhost
, Anda harus menentukan kombinasicontainerName
dancontainerPort
dari ketentuan tugas. Jika definisi tugas yang ditentukan oleh tugas layanan Anda menggunakan modeawsvpc
jaringan dan SRV DNS catatan tipe digunakan, Anda harus menentukancontainerPort
kombinasicontainerName
dan atauport
nilai, tetapi tidak keduanya. containerPort
-
Tipe: Integer
Wajib: Tidak
Nilai port yang akan digunakan untuk layanan penemuan layanan Anda. Nilai ini ditentukan dalam definisi tugas. Jika ketentuan tugas yang ditentukan oleh tugas layanan Anda menggunakan mode jaringan
bridge
atauhost
, Anda harus menentukan kombinasicontainerName
dancontainerPort
dari ketentuan tugas. Jika definisi tugas yang ditentukan oleh tugas layanan Anda menggunakan modeawsvpc
jaringan dan SRV DNS catatan tipe digunakan, Anda harus menentukancontainerPort
kombinasicontainerName
dan atauport
nilai, tetapi tidak keduanya.
Token klien
clientToken
-
Tipe: String
Wajib: Tidak
Pengidentifikasi unik dan peka huruf besar/kecil yang Anda berikan untuk memastikan idempotensi permintaan. Panjangnya bisa mencapai 32 ASCII karakter.
Konfigurasi volume
volumeConfigurations
-
Tipe: Objek
Wajib: Tidak
Konfigurasi yang akan digunakan untuk membuat volume untuk tugas-tugas yang dikelola oleh layanan. Satu volume dibuat untuk setiap tugas dalam layanan. Hanya volume yang ditandai seperti
configuredAtLaunch
dalam definisi tugas yang dapat dikonfigurasi dengan menggunakan objek ini. Objek ini diperlukan untuk melampirkan volume EBS data Amazon ke tugas yang dikelola oleh layanan. Untuk informasi selengkapnya, lihat EBSVolume Amazon.name
-
Tipe: String
Diperlukan: Ya
Nama volume yang dikonfigurasi saat membuat atau memperbarui layanan. Hingga 255 huruf (huruf besar dan kecil), angka, garis bawah (), dan tanda hubung (
_
) diperbolehkan.-
Nilai ini harus cocok dengan nama volume yang ditentukan dalam definisi tugas. managedEBSVolume
-
Tipe: Objek
Wajib: Tidak
Konfigurasi volume untuk EBS volume Amazon yang dilampirkan ke tugas yang dikelola oleh layanan saat layanan dibuat atau diperbarui.
encrypted
-
Tipe: Boolean
Wajib: Tidak
Nilai yang valid:
true
|false
Menentukan apakah EBS volume Amazon yang dilampirkan ke tugas yang dikelola oleh layanan akan dienkripsi. Jika Anda mengaktifkan EBS enkripsi Amazon secara default untuk akun Anda, pengaturan ini akan diganti, dan volume akan dienkripsi. Untuk informasi selengkapnya tentang EBS enkripsi secara default, lihat Enkripsi secara default di Panduan EC2 Pengguna Amazon.
kmsKeyId
-
Tipe: String
Wajib: Tidak
Pengenal kunci AWS Key Management Service (AWS KMS) yang akan digunakan untuk EBS enkripsi Amazon. Jika parameter ini tidak ditentukan, Anda AWS KMS key untuk Amazon EBS digunakan. Jika
KmsKeyId
ditentukan, status terenkripsi harustrue
.Anda dapat menentukan KMS kunci dengan menggunakan salah satu dari berikut ini:
-
ID Kunci — Misalnya,
1234abcd-12ab-34cd-56ef-1234567890ab
. -
Alias kunci — Misalnya,
alias/ExampleAlias
. -
Kunci ARN — Misalnya,
arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab
. -
Alias ARN — Misalnya,
arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias
.
penting
AWS mengautentikasi KMS kunci secara asinkron. Oleh karena itu, jika Anda menentukan ID, alias, atau ARN yang tidak valid, tindakan dapat tampak berhasil, tetapi akhirnya gagal. Untuk informasi selengkapnya, lihat Memecahkan masalah lampiran EBS volume Amazon.
-
volumeType
-
Tipe: String
Wajib: Tidak
Nilai yang valid:
gp2
gp3
|io1
|io2
|sc1
|st1
|standard
Jenis EBS volume. Untuk informasi selengkapnya tentang jenis volume, lihat Jenis EBS volume Amazon di Panduan EC2 Pengguna Amazon. Jenis volume default adalah
gp3
.catatan
Jenis
standard
volume tidak didukung untuk EBS volume Amazon yang dikonfigurasi untuk lampiran ke tugas Fargate. sizeInGiB
-
Tipe: Integer
Wajib: Tidak
Rentang yang valid: Bilangan bulat antara 1 dan 16.384
Ukuran EBS volume dalam gibibytes (GiB). Jika Anda tidak memberikan ID snapshot untuk mengonfigurasi volume lampiran, Anda harus memberikan nilai ukuran. Jika Anda mengonfigurasi volume untuk lampiran menggunakan snapshot, nilai defaultnya adalah ukuran snapshot. Anda kemudian dapat menentukan ukuran yang lebih besar dari atau sama dengan ukuran snapshot.
Untuk
gp2
dan jenisgp3
volume, kisaran yang valid adalah 1-16.384.Untuk
io1
dan jenisio2
volume, kisaran yang valid adalah 4-16.384.Untuk
st1
dan jenissc1
volume, kisaran yang valid adalah 125-16.384.Untuk jenis
standard
volume, kisaran yang valid adalah 1-1.024. snapshotId
-
Tipe: String
Wajib: Tidak
ID snapshot dari EBS volume yang ada yang digunakan untuk membuat volume baru yang dilampirkan ke ECS tugas.
iops
-
Tipe: Integer
Wajib: Tidak
Jumlah operasi I/O per detik (IOPS). Untuk
gp3
io1
,, danio2
volume, ini mewakili jumlah IOPS yang disediakan untuk volume. Untukgp2
volume, nilai ini mewakili kinerja dasar volume dan tingkat di mana volume mengakumulasi kredit I/O untuk meledak. Parameter ini diperlukan untuk volumeio1
danio2
. Parameter ini tidak didukung untukgp2
,st1
,sc1
, ataustandard
volume.Untuk
gp3
volume, kisaran nilai yang valid adalah 3.000 hingga 16.000.Untuk
io1
volume, kisaran nilai yang valid adalah 100 hingga 64.000.Untuk
io2
volume, kisaran nilai yang valid adalah 100 hingga 64.000. throughput
-
Tipe: Integer
Wajib: Tidak
Throughput untuk penyediaan volume yang melekat pada tugas-tugas yang dikelola oleh layanan.
penting
Parameter ini hanya didukung untuk
gp3
volume. roleArn
-
Tipe: String
Diperlukan: Ya
Amazon Resource ARN (ARN) dari peran infrastruktur AWS Identity and Access Management (IAM) yang menyediakan ECS izin Amazon untuk mengelola EBS sumber daya Amazon untuk tugas Anda. Untuk informasi selengkapnya, lihat IAMPeran ECS infrastruktur Amazon.
tagSpecifications
-
Tipe: Objek
Wajib: Tidak
Spesifikasi tag yang akan diterapkan pada volume Amazon EBS yang dikelola serivce.
resourceType
-
Tipe: String
Diperlukan: Ya
Nilai yang valid:
volume
Jenis sumber daya untuk menandai pada penciptaan.
-
Tipe: Array objek
Wajib: Tidak
Metadata yang Anda terapkan pada volume untuk membantu Anda mengkategorikan dan mengaturnya. Setiap tag terdiri dari kunci dan nilai opsional, yang keduanya Anda tentukan.
AmazonECSCreated
danAmazonECSManaged
merupakan tag cadangan yang ditambahkan oleh Amazon ECS atas nama Anda, sehingga Anda dapat menentukan maksimum 48 tag Anda sendiri. Ketika volume dihapus, tag dihapus juga. Untuk informasi selengkapnya, lihat Menandai sumber daya Amazon ECS.key
-
Tipe: String
Batasan Panjang: Panjang minimum 1. Panjang maksimum 128.
Wajib: Tidak
Salah satu bagian dari pasangan kunci-nilai yang membentuk tag. Kunci adalah label umum yang bertindak seperti kategori untuk nilai tanda yang lebih spesifik.
value
-
Tipe: String
Batasan Panjang: Panjang minimum 0. Panjang maksimum 256.
Wajib: Tidak
Bagian opsional dari pasangan kunci-nilai yang membentuk tag. Nilai bertindak sebagai deskriptor dalam kategori tanda (kunci).
propagateTags
-
Tipe: String
Nilai yang valid:
TASK_DEFINITION
|SERVICE
|NONE
Wajib: Tidak
Menentukan apakah akan menyalin tag dari definisi tugas atau layanan ke volume. Jika
NONE
ditentukan atau tidak ada nilai yang ditentukan, tag tidak disalin.
fileSystemType
-
Tipe: String
Wajib: Tidak
Nilai yang valid:
xfs
|ext3
|ext4
Jenis sistem file pada volume. Jenis sistem file volume menentukan bagaimana data disimpan dan diambil dalam volume. Untuk volume yang dibuat dari snapshot, Anda harus menentukan jenis sistem file yang sama dengan volume yang digunakan saat snapshot dibuat. Jika ada ketidakcocokan tipe sistem file, tugas akan gagal dimulai. Default untuk volume yang dilampirkan ke tugas Linux adalah
XFS
.
Templat definisi layanan
Berikut ini menunjukkan JSON representasi definisi ECS layanan Amazon.
Jenis EC2 peluncuran Amazon
{ "cluster": "", "serviceName": "", "taskDefinition": "", "loadBalancers": [ { "targetGroupArn": "", "loadBalancerName": "", "containerName": "", "containerPort": 0 } ], "serviceRegistries": [ { "registryArn": "", "port": 0, "containerName": "", "containerPort": 0 } ], "desiredCount": 0, "clientToken": "", "launchType": "EC2", "capacityProviderStrategy": [ { "capacityProvider": "", "weight": 0, "base": 0 } ], "platformVersion": "", "role": "", "deploymentConfiguration": { "deploymentCircuitBreaker": { "enable": true, "rollback": true }, "maximumPercent": 0, "minimumHealthyPercent": 0, "alarms": { "alarmNames": [ "" ], "enable": true, "rollback": true } }, "placementConstraints": [ { "type": "distinctInstance", "expression": "" } ], "placementStrategy": [ { "type": "binpack", "field": "" } ], "networkConfiguration": { "awsvpcConfiguration": { "subnets": [ "" ], "securityGroups": [ "" ], "assignPublicIp": "DISABLED" } }, "healthCheckGracePeriodSeconds": 0, "schedulingStrategy": "REPLICA", "deploymentController": { "type": "EXTERNAL" }, "tags": [ { "key": "", "value": "" } ], "enableECSManagedTags": true, "propagateTags": "TASK_DEFINITION", "enableExecuteCommand": true, "serviceConnectConfiguration": { "enabled": true, "namespace": "", "services": [ { "portName": "", "discoveryName": "", "clientAliases": [ { "port": 0, "dnsName": "" } ], "ingressPortOverride": 0 } ], "logConfiguration": { "logDriver": "journald", "options": { "KeyName": "" }, "secretOptions": [ { "name": "", "valueFrom": "" } ] } }, "volumeConfigurations": [ { "name": "", "managedEBSVolume": { "encrypted": true, "kmsKeyId": "", "volumeType": "", "sizeInGiB": 0, "snapshotId": "", "iops": 0, "throughput": 0, "tagSpecifications": [ { "resourceType": "volume", "tags": [ { "key": "", "value": "" } ], "propagateTags": "NONE" } ], "roleArn": "", "filesystemType": "" } } ] }
Jenis peluncuran Fargate
{ "cluster": "", "serviceName": "", "taskDefinition": "", "loadBalancers": [ { "targetGroupArn": "", "loadBalancerName": "", "containerName": "", "containerPort": 0 } ], "serviceRegistries": [ { "registryArn": "", "port": 0, "containerName": "", "containerPort": 0 } ], "desiredCount": 0, "clientToken": "", "launchType": "FARGATE", "capacityProviderStrategy": [ { "capacityProvider": "", "weight": 0, "base": 0 } ], "platformVersion": "", "platformFamily": "", "role": "", "deploymentConfiguration": { "deploymentCircuitBreaker": { "enable": true, "rollback": true }, "maximumPercent": 0, "minimumHealthyPercent": 0, "alarms": { "alarmNames": [ "" ], "enable": true, "rollback": true } }, "placementStrategy": [ { "type": "binpack", "field": "" } ], "networkConfiguration": { "awsvpcConfiguration": { "subnets": [ "" ], "securityGroups": [ "" ], "assignPublicIp": "DISABLED" } }, "healthCheckGracePeriodSeconds": 0, "schedulingStrategy": "REPLICA", "deploymentController": { "type": "EXTERNAL" }, "tags": [ { "key": "", "value": "" } ], "enableECSManagedTags": true, "propagateTags": "TASK_DEFINITION", "enableExecuteCommand": true, "serviceConnectConfiguration": { "enabled": true, "namespace": "", "services": [ { "portName": "", "discoveryName": "", "clientAliases": [ { "port": 0, "dnsName": "" } ], "ingressPortOverride": 0 } ], "logConfiguration": { "logDriver": "journald", "options": { "KeyName": "" }, "secretOptions": [ { "name": "", "valueFrom": "" } ] } }, "volumeConfigurations": [ { "name": "", "managedEBSVolume": { "encrypted": true, "kmsKeyId": "", "volumeType": "", "sizeInGiB": 0, "snapshotId": "", "iops": 0, "throughput": 0, "tagSpecifications": [ { "resourceType": "volume", "tags": [ { "key": "", "value": "" } ], "propagateTags": "NONE" } ], "roleArn": "", "filesystemType": "" } } ] }
Anda dapat membuat templat ketentuan layanan ini menggunakan perintah AWS CLI berikut.
aws ecs create-service --generate-cli-skeleton