❗ ❗ ❗ Harap diperhatikan bahwa proyek ini tidak lagi dikelola secara aktif. Opsi yang lebih baik untuk penerapan Fargate baru di AWS adalah AWS Copilot CLI, yang lebih berfitur dan dikelola secara aktif oleh AWS. ❗ ❗ ❗
Secara default, fargate menggunakan us-east-1 . CLI menerima parameter --region dan akan menerapkan pengaturan lingkungan AWS_REGION dan AWS_DEFAULT_REGION . Perhatikan bahwa menentukan wilayah di mana semua layanan yang diperlukan tidak tersedia akan menghasilkan kesalahan.
Lihat Tabel Wilayah untuk perincian layanan apa saja yang tersedia di wilayah mana.
fargate dibangun menggunakan AWS SDK for Go yang mencari kredensial di lokasi berikut:
Variabel Lingkungan
File Kredensial Bersama
Profil Instans EC2
Untuk informasi lebih lanjut lihat Menentukan Kredensial dalam dokumentasi AWS SDK for Go.
Bendera | Bawaan | Keterangan |
---|---|---|
--gugus | fargate | Nama klaster ECS |
--wilayah | kami-timur-1 | Wilayah AWS |
--tidak berwarna | PALSU | Nonaktifkan keluaran warna |
--bertele-tele | PALSU | Keluaran yang panjang lebar |
Tugas adalah eksekusi satu kali pada container Anda. Instans tugas Anda dijalankan hingga Anda menghentikannya secara manual melalui API AWS, AWS Management Console, atau fargate task stop
, atau hingga instans tersebut terganggu karena alasan apa pun.
fargate task list
Daftar kelompok tugas yang sedang berjalan
fargate task run <task-group-name> [--num <count>] [--cpu <cpu-units>] [--memory <MiB>]
[--image <docker-image>] [--env <key=value>]
[--task-role <task-role>] [--subnet-id <subnet-id>]
[--security-group-id <security-group-id>]
Jalankan tugas baru
Anda harus menentukan nama grup tugas untuk berinteraksi dengan tugas dalam perintah berikutnya untuk melihat log, menghentikan, dan memeriksa tugas. Nama grup tugas tidak harus unik -- beberapa konfigurasi contoh tugas dapat dimulai dengan grup tugas yang sama.
Beberapa contoh tugas dapat dijalankan dengan menentukan nomor di flag --num. Jika tidak ada nomor yang ditentukan, satu contoh tugas akan dijalankan.
Pengaturan CPU dan memori secara opsional dapat ditentukan sebagai unit CPU dan mebibyte masing-masing menggunakan tanda --cpu dan --memory. Setiap 1024 unit CPU setara dengan satu vCPU. AWS Fargate hanya mendukung kombinasi konfigurasi CPU dan memori tertentu:
CPU (Unit CPU) | Memori (MiB) |
---|---|
256 | 512, 1024, atau 2048 |
512 | 1024 hingga 4096 dengan kelipatan 1GiB |
1024 | 2048 hingga 8192 dengan kelipatan 1GiB |
2048 | 4096 hingga 16384 dengan kelipatan 1GiB |
4096 | 8192 hingga 30720 dengan kelipatan 1GiB |
Jika tidak ditentukan, fargate akan meluncurkan tugas berukuran minimal pada 0,25 vCPU (256 unit CPU) dan memori 0,5 GB (512 MiB).
Gambar kontainer Docker yang akan digunakan dalam tugas dapat ditentukan secara opsional melalui flag --image. Jika tidak ditentukan, fargate akan membuat image kontainer Docker baru dari direktori kerja saat ini dan mengirimkannya ke Amazon ECR dalam repositori yang diberi nama untuk grup tugas. Jika direktori kerja saat ini adalah repositori git, gambar kontainer akan ditandai dengan referensi singkat dari komit HEAD. Jika tidak, stempel waktu dalam format YYYYMMDDHHMMSS akan digunakan.
Variabel lingkungan dapat ditentukan melalui flag --env. Tentukan --env dengan parameter key=value beberapa kali untuk menambahkan beberapa variabel.
Grup keamanan secara opsional dapat ditentukan untuk tugas tersebut dengan meneruskan tanda --security-group-id dengan ID grup keamanan. Untuk menambahkan beberapa grup keamanan, teruskan --security-group-id dengan ID grup keamanan beberapa kali. Jika --security-group-id dihilangkan, grup keamanan permisif akan diterapkan pada tugas tersebut.
Secara default, tugas akan dibuat di VPC default dan dilampirkan ke subnet VPC default untuk setiap zona ketersediaan. Anda dapat menggantinya dengan menentukan subnet eksplisit dengan meneruskan tanda --subnet-id dengan ID subnet.
Peran tugas dapat ditentukan secara opsional melalui tanda --task-role dengan menyediakan ARN IAM role lengkap atau nama IAM role. Tugas akan dapat mengambil peran ini.
fargate task info <task-group-name> [--task <task-id>]
Periksa tugas
Menampilkan informasi tambahan untuk setiap tugas yang berjalan dalam grup tugas atau untuk tugas tertentu yang ditentukan dengan tanda --task. Informasi mencakup variabel lingkungan yang dapat berbeda antar tugas dalam kelompok tugas. Untuk memeriksa beberapa tugas tertentu dalam grup tugas tertentu --task dengan ID tugas beberapa kali.
fargate task ps <task-group-name>
Daftar tugas yang sedang berjalan
fargate task logs <task-group-name> [--follow] [--start <time-expression>] [--end <time-expression>]
[--filter <filter-expression>] [--task <task-id>]
Tampilkan log dari tugas
Kembalikan segmen log tugas atau log ekor tertentu secara real-time menggunakan opsi --follow. Log diawali dengan nama pengaliran lognya dalam format "fargate/<task-group-name>/<task-id>."
Follow akan terus berjalan dan mengembalikan log hingga diinterupsi oleh Control-C. Jika --follow diteruskan --end tidak dapat ditentukan.
Log dapat dikembalikan untuk tugas tertentu dalam grup tugas dengan meneruskan ID tugas melalui tanda --task. Lewati --task dengan ID tugas beberapa kali untuk mengambil log dari beberapa tugas tertentu.
Jendela log tertentu dapat diminta dengan meneruskan opsi --start dan --end dengan ekspresi waktu. Ekspresi waktu dapat berupa durasi atau stempel waktu:
Anda dapat memfilter log untuk istilah tertentu dengan meneruskan ekspresi filter melalui tanda --filter. Berikan satu istilah untuk mencari istilah tersebut, berikan beberapa istilah untuk mencari pesan log yang mencakup semua istilah. Lihat dokumentasi CloudWatch Logs untuk detail selengkapnya.
fargate task stop <task-group-name> [--task <task-id>]
Hentikan tugas
Menghentikan semua tugas dalam grup tugas jika dijalankan hanya dengan nama grup tugas atau menghentikan tugas individual jika satu atau lebih tugas diteruskan melalui tanda --task. Tentukan --task dengan parameter ID tugas beberapa kali untuk menghentikan beberapa tugas tertentu.
Layanan mengelola instans kontainer Anda yang berumur panjang dan dijalankan di AWS Fargate. Jika kontainer Anda keluar karena alasan apa pun, penjadwal layanan akan memulai ulang kontainer Anda dan memastikan layanan Anda menjalankan jumlah tugas yang diinginkan. Layanan dapat digunakan bersama dengan penyeimbang beban untuk mendistribusikan lalu lintas di antara tugas-tugas di layanan Anda.
fargate service list
Daftar layanan
fargate service create <service name> [--cpu <cpu units>] [--memory <MiB>] [--port <port-expression>]
[--lb <load-balancer-name>] [--rule <rule-expression>]
[--image <docker-image>] [--env <key=value>] [--num <count>]
[--task-role <task-role>] [--subnet-id <subnet-id>]
[--security-group-id <security-group-id>]
Buat layanan baru
Pengaturan CPU dan memori secara opsional dapat ditentukan sebagai unit CPU dan mebibyte masing-masing menggunakan tanda --cpu dan --memory. Setiap 1024 unit CPU setara dengan satu vCPU. AWS Fargate hanya mendukung kombinasi konfigurasi CPU dan memori tertentu:
CPU (Unit CPU) | Memori (MiB) |
---|---|
256 | 512, 1024, atau 2048 |
512 | 1024 hingga 4096 dengan kelipatan 1GiB |
1024 | 2048 hingga 8192 dengan kelipatan 1GiB |
2048 | 4096 hingga 16384 dengan kelipatan 1GiB |
4096 | 8192 hingga 30720 dengan kelipatan 1GiB |
Jika tidak ditentukan, fargate akan meluncurkan tugas berukuran minimal pada 0,25 vCPU (256 unit CPU) dan memori 0,5 GB (512 MiB).
Gambar kontainer Docker yang akan digunakan dalam layanan dapat ditentukan secara opsional melalui flag --image. Jika tidak ditentukan, fargate akan membuat image kontainer Docker baru dari direktori kerja saat ini dan mengirimkannya ke Amazon ECR dalam repositori yang diberi nama untuk grup tugas. Jika direktori kerja saat ini adalah repositori git, gambar kontainer akan ditandai dengan referensi singkat dari komit HEAD. Jika tidak, stempel waktu dalam format YYYYMMDDHHMMSS akan digunakan.
Untuk menggunakan layanan dengan penyeimbang beban, port harus ditentukan saat layanan dibuat. Tentukan port dengan meneruskan flag --port dan ekspresi port dari protokol:nomor port. Misalnya, jika layanan mendengarkan pada port 80 dan menggunakan HTTP, tentukan HTTP:80. Protokol yang valid adalah HTTP, HTTPS, dan TCP. Anda hanya dapat menentukan satu port.
Layanan secara opsional dapat dikonfigurasi untuk menggunakan penyeimbang beban. Untuk menempatkan penyeimbang beban di depan layanan, berikan tanda --lb dengan nama penyeimbang beban. Jika Anda menentukan penyeimbang beban, Anda juga harus menentukan port melalui tanda --port yang permintaannya harus diteruskan oleh penyeimbang beban. Secara opsional, Application Load Balancer dapat dikonfigurasi untuk merutekan lalu lintas HTTP/HTTPS ke layanan berdasarkan aturan. Aturan dikonfigurasikan dengan meneruskan satu atau lebih aturan dengan menentukan tanda --rule bersama dengan ekspresi aturan. Ekspresi aturan dalam format TYPE=VALUE. Jenisnya bisa berupa PATH atau HOST. PATH cocok dengan PATH permintaan dan HOST cocok dengan nama host yang diminta dalam permintaan HTTP. Tipe PATH dan HOST dapat menyertakan hingga tiga karakter wildcard: * untuk mencocokkan beberapa karakter dan ? untuk mencocokkan satu karakter. Jika aturan dihilangkan, layanan akan menjadi tindakan default penyeimbang beban.
Variabel lingkungan dapat ditentukan melalui flag --env. Tentukan --env dengan parameter key=value beberapa kali untuk menambahkan beberapa variabel.
Tentukan jumlah tugas yang diinginkan yang harus dipertahankan oleh layanan dengan meneruskan tanda --num dengan angka. Jika Anda menghilangkan tanda ini, fargate akan mengonfigurasi layanan dengan jumlah tugas yang diinginkan sebesar 1.
Grup keamanan secara opsional dapat ditentukan untuk layanan dengan meneruskan tanda --security-group-id dengan ID grup keamanan. Untuk menambahkan beberapa grup keamanan, teruskan --security-group-id dengan ID grup keamanan beberapa kali. Jika --security-group-id dihilangkan, grup keamanan permisif akan diterapkan ke layanan.
Secara default, layanan akan dibuat di VPC default dan dilampirkan ke subnet VPC default untuk setiap zona ketersediaan. Anda dapat menggantinya dengan menentukan subnet eksplisit dengan meneruskan tanda --subnet-id dengan ID subnet.
Peran tugas dapat ditentukan secara opsional melalui tanda --task-role dengan menyediakan ARN IAM role lengkap atau nama IAM role. Tugas yang dijalankan oleh layanan akan dapat mengambil peran ini.
fargate service deploy <service-name> [--image <docker-image>]
Menyebarkan gambar baru ke layanan
Gambar kontainer Docker yang akan digunakan dalam layanan dapat ditentukan secara opsional melalui flag --image. Jika tidak ditentukan, fargate akan membuat image kontainer Docker baru dari direktori kerja saat ini dan mengirimkannya ke Amazon ECR dalam repositori yang diberi nama untuk grup tugas. Jika direktori kerja saat ini adalah repositori git, gambar kontainer akan ditandai dengan referensi singkat dari komit HEAD. Jika tidak, stempel waktu dalam format YYYYMMDDHHMMSS akan digunakan.
fargate service info <service-name>
Periksa layanan
Tampilkan informasi tambahan untuk suatu layanan termasuk konfigurasi penyeimbang beban, penerapan aktif, dan variabel lingkungan.
Penerapan menunjukkan versi aktif layanan Anda yang sedang berjalan. Beberapa penerapan ditampilkan jika layanan sedang bertransisi karena penerapan atau pembaruan pada konfigurasi seperti CPU, memori, atau variabel lingkungan.
fargate service logs <service-name> [--follow] [--start <time-expression>] [--end <time-expression>]
[--filter <filter-expression>] [--task <task-id>]
Tampilkan log dari tugas dalam suatu layanan
Kembalikan segmen log layanan atau log ekor tertentu secara real-time menggunakan opsi --follow. Log diawali dengan nama pengaliran lognya dalam format "fargate/<nama-layanan>/<task-id>."
Follow akan terus berjalan dan mengembalikan log hingga diinterupsi oleh Control-C. Jika --follow diteruskan --end tidak dapat ditentukan.
Log dapat dikembalikan untuk tugas tertentu dalam layanan dengan meneruskan ID tugas melalui tanda --task. Lewati --task dengan ID tugas beberapa kali untuk mengambil log dari beberapa tugas tertentu.
Jendela log tertentu dapat diminta dengan meneruskan opsi --start dan --end dengan ekspresi waktu. Ekspresi waktu dapat berupa durasi atau stempel waktu:
Anda dapat memfilter log untuk istilah tertentu dengan meneruskan ekspresi filter melalui tanda --filter. Berikan satu istilah untuk mencari istilah tersebut, berikan beberapa istilah untuk mencari pesan log yang mencakup semua istilah. Lihat dokumentasi CloudWatch Logs untuk detail selengkapnya.
fargate service ps <service-name>
Daftar tugas yang berjalan untuk suatu layanan
fargate service scale <service-name> <scale-expression>
Skalakan jumlah tugas dalam suatu layanan
Mengubah jumlah tugas yang diinginkan untuk dijalankan dalam suatu layanan dengan ekspresi skala yang diberikan. Ekspresi skala dapat berupa angka absolut atau delta yang ditentukan dengan tanda seperti +5 atau -2.
fargate service env set <service-name> --env <key=value>
Tetapkan variabel lingkungan
Setidaknya satu variabel lingkungan harus ditentukan melalui flag --env. Tentukan --env dengan parameter key=value beberapa kali untuk menambahkan beberapa variabel.
fargate service env unset <service-name> --key <key-name>
Hapus variabel lingkungan
Membatalkan variabel lingkungan yang ditentukan melalui tanda --key. Tentukan --key dengan nama kunci beberapa kali untuk menghapus beberapa variabel.
fargate service env list <service-name>
Tampilkan variabel lingkungan
fargate service update <service-name> [--cpu <cpu-units>] [--memory <MiB>]
Perbarui konfigurasi layanan
Pengaturan CPU dan memori ditentukan masing-masing sebagai unit CPU dan mebibyte menggunakan tanda --cpu dan --memory. Setiap 1024 unit CPU setara dengan satu vCPU. AWS Fargate hanya mendukung kombinasi konfigurasi CPU dan memori tertentu:
CPU (Unit CPU) | Memori (MiB) |
---|---|
256 | 512, 1024, atau 2048 |
512 | 1024 hingga 4096 dengan kelipatan 1GiB |
1024 | 2048 hingga 8192 dengan kelipatan 1GiB |
2048 | 4096 hingga 16384 dengan kelipatan 1GiB |
4096 | 8192 hingga 30720 dengan kelipatan 1GiB |
Setidaknya salah satu dari --cpu atau --memory harus ditentukan.
fargate service restart <service-name>
Mulai ulang layanan
Membuat serangkaian tugas baru untuk layanan dan menghentikan tugas sebelumnya. Ini berguna jika layanan Anda perlu memuat ulang data yang di-cache dari sumber eksternal, misalnya.
fargate service destroy <service-name>
Hancurkan layanan
Untuk menghancurkan suatu layanan, pertama-tama layanan tersebut harus diskalakan ke 0 tugas yang sedang berjalan.
Penyeimbang beban mendistribusikan lalu lintas masuk antar tugas dalam layanan untuk aplikasi HTTP/HTTPS dan TCP. Penyeimbang beban HTTP/HTTPS dapat merutekan ke beberapa layanan berdasarkan aturan yang Anda tentukan saat membuat layanan baru.
fargate lb list
Daftar penyeimbang beban
fargate lb create <load-balancer-name> --port <port-expression> [--certificate <certificate-name>]
[--subnet-id <subnet-id>] [--security-group-id <security-group-id>]
[--scheme <lb-scheme>]
Buat penyeimbang beban
Setidaknya satu port harus ditentukan untuk pendengar penyeimbang beban melalui tanda --port dan ekspresi port dari protokol:nomor port. Misalnya, jika Anda ingin penyeimbang beban HTTP mendengarkan pada port 80, Anda harus menentukan HTTP:80. Protokol yang valid adalah HTTP, HTTPS, dan TCP. Anda dapat menentukan beberapa pendengar dengan meneruskan tanda --port dengan ekspresi port beberapa kali. Anda tidak dapat menggabungkan port TCP dengan port HTTP/HTTPS pada satu penyeimbang beban.
Anda juga dapat menyertakan sertifikat untuk mengamankan port HTTPS dengan meneruskan tanda --certificate bersama dengan nama sertifikat. Opsi ini dapat ditentukan beberapa kali untuk menambahkan sertifikat tambahan ke penyeimbang beban tunggal yang menggunakan Identifikasi Nama Layanan (SNI) untuk memilih sertifikat yang sesuai untuk permintaan.
Secara default, penyeimbang beban akan dibuat di VPC default dan dilampirkan ke subnet VPC default untuk setiap zona ketersediaan. Anda dapat menggantinya dengan menentukan subnet eksplisit dengan meneruskan tanda --subnet-id dengan ID subnet. Penyeimbang beban HTTP/HTTPS memerlukan setidaknya dua subnet yang terpasang sedangkan penyeimbang beban TCP hanya memerlukan satu. Anda hanya dapat menentukan satu subnet dari setiap zona ketersediaan.
Grup keamanan secara opsional dapat ditentukan untuk penyeimbang beban HTTP/HTTPS dengan meneruskan tanda --security-group-id dengan ID grup keamanan. Untuk menambahkan beberapa grup keamanan, teruskan --security-group-id dengan ID grup keamanan beberapa kali. Jika --security-group-id dihilangkan, grup keamanan permisif akan diterapkan ke penyeimbang beban.
Anda juga dapat memilih jenis skema untuk penyeimbang beban melalui tanda --scheme. Secara default, penyeimbang beban terhubung ke internet.
fargate lb destroy <load-balancer-name>
Hancurkan penyeimbang beban
fargate lb alias <load-balancer-name> <hostname>
Buat catatan alias penyeimbang beban
Buat catatan alias ke penyeimbang beban untuk domain yang dihosting dalam Amazon Route 53 dan dalam akun AWS yang sama. Jika Anda menggunakan penyedia DNS lain atau menghosting domain Anda di akun lain, Anda perlu membuat catatan ini secara manual.
fargate lb info <load-balancer-name>
Periksa penyeimbang beban
Mengembalikan informasi tambahan tentang penyeimbang beban termasuk daftar pendengar, aturan, dan sertifikat yang digunakan oleh penyeimbang beban.
Sertifikat adalah sertifikat TLS yang diterbitkan atau diimpor ke AWS Certificate Manager untuk digunakan dalam mengamankan lalu lintas antara penyeimbang beban dan pengguna akhir. ACM menyediakan sertifikat TLS secara gratis untuk digunakan dalam sumber daya AWS.
fargate certificate list
Daftar sertifikat
fargate certificate import <domain-name> --certificate <filename> --key <filename> [--chain <filename>]
Impor sertifikat
Unggah sertifikat dari file sertifikat, file kunci pribadi, dan opsional file rantai sertifikat perantara. File harus dikodekan PEM dan kunci pribadi tidak boleh dienkripsi atau dilindungi oleh frasa sandi. Lihat dokumentasi AWS Certificate Manager untuk detail selengkapnya.
fargate certificate request <domain-name> [--alias <domain-name>]
Minta sertifikat
Sertifikat bisa untuk nama domain yang sepenuhnya memenuhi syarat (misalnya www.example.com) atau nama domain wildcard (misalnya *.example.com). Anda dapat menambahkan alias ke sertifikat dengan menentukan nama domain tambahan melalui flag --alias. Untuk menambahkan beberapa alias, berikan --alias beberapa kali. Secara default, AWS Certificate Manager memiliki batas 10 nama domain per sertifikat, namun batas ini dapat ditingkatkan dengan dukungan AWS.
fargate certificate info <domain-name>
Periksa sertifikat
Tampilkan informasi tambahan untuk sertifikat. Termasuk setiap validasi sertifikat yang menunjukkan catatan DNS yang harus dibuat untuk memvalidasi kepemilikan domain.
fargate certificate validate <domain-name>
Validasi kepemilikan sertifikat
fargate akan secara otomatis membuat catatan validasi DNS untuk memverifikasi kepemilikan nama domain apa pun yang dihosting dalam Amazon Route 53. Jika sertifikat Anda memiliki alias, catatan validasi akan dicoba per alias. Setiap catatan yang domainnya dihosting di penyedia hosting DNS lain atau di akun DNS lain dan tidak dapat divalidasi secara otomatis akan memiliki keluaran catatan yang diperlukan. Catatan ini juga tersedia di fargate certificate info <domain-name>
.
AWS Certificate Manager mungkin memerlukan waktu hingga beberapa jam setelah catatan DNS dibuat untuk menyelesaikan validasi dan menerbitkan sertifikat.
fargate certificate destroy <domain-name>
Hancurkan sertifikat
Untuk menghancurkan sertifikat, sertifikat tidak boleh digunakan oleh penyeimbang beban atau sumber daya AWS lainnya.