Kirim log Amazon ECS ke AWS layanan atau AWS Partner - Amazon Elastic Container Service

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

Kirim log Amazon ECS ke AWS layanan atau AWS Partner

Anda dapat menggunakan Amazon ECS FireLens untuk menggunakan parameter definisi tugas untuk merutekan log ke AWS layanan atau tujuan AWS Partner Network (APN) untuk penyimpanan log dan analitik. AWS Partner Network Ini adalah komunitas mitra global yang memanfaatkan program, keahlian, dan sumber daya untuk membangun, memasarkan, dan menjual penawaran pelanggan. Untuk informasi lebih lanjut lihat AWS Partner. FireLensbekerja dengan Fluentd danFluent Bit. Kami menyediakan AWS untuk Fluent Bit gambar atau Anda dapat menggunakan gambar Anda sendiri Fluentd atau Fluent Bit gambar.

Secara default, Amazon ECS mengonfigurasi dependensi penampung sehingga kontainer Firelens dimulai sebelum penampung apa pun yang menggunakannya. Wadah Firelens juga berhenti setelah semua wadah yang menggunakannya berhenti.

Untuk menggunakan fitur ini, Anda harus membuat peran IAM untuk tugas Anda yang memberikan izin yang diperlukan untuk menggunakan AWS layanan apa pun yang diperlukan tugas. Misalnya, jika kontainer merutekan log ke Firehose, tugas tersebut memerlukan izin untuk memanggil firehose:PutRecordBatch API. Untuk informasi selengkapnya, silakan lihat Menambahkan dan Menghapus Izin Identitas IAM dalam Panduan Pengguna IAM.

Tugas Anda mungkin juga memerlukan peran eksekusi tugas Amazon ECS dalam kondisi berikut. Untuk informasi selengkapnya, lihat Peran IAM eksekusi tugas Amazon ECS.

  • Jika tugas Anda di-host di Fargate dan Anda menarik gambar kontainer dari Amazon ECR atau mereferensikan data sensitif dari AWS Secrets Manager konfigurasi log Anda, maka Anda harus menyertakan peran IAM eksekusi tugas.

  • Saat Anda menggunakan file konfigurasi khusus yang di-host di Amazon S3, peran IAM eksekusi tugas Anda harus menyertakan izin. s3:GetObject

Pertimbangkan hal berikut saat menggunakan FireLens untuk Amazon ECS:

  • Kami menyarankan Anda my_service_ menambahkan nama wadah log sehingga Anda dapat dengan mudah membedakan nama kontainer di konsol.

  • Amazon ECS menambahkan dependensi pesanan kontainer awal antara container aplikasi dan FireLens container secara default. Saat Anda menentukan urutan kontainer antara wadah aplikasi dan FireLens kontainer, maka urutan kontainer awal default diganti.

  • FireLensuntuk Amazon ECS didukung untuk tugas-tugas yang di-host AWS Fargate di Linux dan Amazon EC2 di Linux. Kontainer Windows tidak mendukungFireLens.

    Untuk informasi tentang cara mengonfigurasi pencatatan terpusat untuk kontainer Windows, lihat Pencatatan terpusat untuk kontainer Windows di Amazon ECS menggunakan Bit Lancar.

  • Anda dapat menggunakan CloudFormation templat FireLens untuk mengonfigurasi Amazon ECS. Untuk informasi selengkapnya, lihat AWS::ECS::TaskDefinition FirelensConfigurationdi Panduan AWS CloudFormation Pengguna

  • FireLensmendengarkan di port24224, jadi untuk memastikan bahwa router FireLens log tidak dapat dijangkau di luar tugas, Anda tidak boleh mengizinkan lalu lintas masuk pada port 24224 dalam grup keamanan yang digunakan tugas Anda. Untuk tugas yang menggunakan mode awsvpc jaringan, ini adalah grup keamanan yang terkait dengan tugas tersebut. Untuk tugas yang menggunakan mode host jaringan, ini adalah grup keamanan yang terkait dengan EC2 instans Amazon yang menghosting tugas. Untuk tugas yang menggunakan mode bridge jaringan, jangan membuat pemetaan port apa pun yang menggunakan port. 24224

  • Untuk tugas yang menggunakan mode bridge jaringan, wadah dengan FireLens konfigurasi harus dimulai sebelum wadah aplikasi apa pun yang mengandalkannya dimulai. Untuk mengendalikan urutan mulai kontainer Anda, gunakan syarat dependensi dalam ketentuan tugas Anda. Untuk informasi selengkapnya, lihat Dependensi kontainer.

    catatan

    Jika Anda menggunakan parameter kondisi ketergantungan dalam definisi kontainer dengan FireLens konfigurasi, pastikan bahwa setiap kontainer memiliki persyaratan START atau HEALTHY kondisi.

  • Secara default, FireLens tambahkan nama definisi klaster dan tugas serta Amazon Resource Name (ARN) klaster sebagai kunci metadata ke log container Anda. stdout/stderr Berikut ini adalah contoh format metadata.

    "ecs_cluster": "cluster-name", "ecs_task_arn": "arn:aws:ecs:region:111122223333:task/cluster-name/f2ad7dba413f45ddb4EXAMPLE", "ecs_task_definition": "task-def-name:revision",

    Jika Anda tidak ingin metadata di log Anda, atur enable-ecs-log-metadata ke false firelensConfiguration bagian definisi tugas.

    "firelensConfiguration":{ "type":"fluentbit", "options":{ "enable-ecs-log-metadata":"false", "config-file-type":"file", "config-file-value":"/extra.conf" }

Anda dapat mengonfigurasi FireLens wadah untuk dijalankan sebagai pengguna non-root. Pertimbangkan hal berikut:

  • Untuk mengonfigurasi FireLens wadah agar dijalankan sebagai pengguna non-root, Anda harus menentukan pengguna dalam salah satu format berikut:

    • uid

    • uid:gid

    • uid:group

    Untuk informasi selengkapnya tentang menentukan pengguna dalam definisi container, lihat ContainerDefinitiondi Referensi API Amazon Elastic Container Service.

    FireLensWadah menerima log aplikasi melalui UNIX soket. Agen Amazon ECS menggunakan uid untuk menetapkan kepemilikan direktori soket ke wadah. FireLens

  • Mengonfigurasi FireLens penampung untuk dijalankan sebagai pengguna non-root didukung pada versi Amazon ECS Agent dan yang lebih baru, 1.96.0 serta versi AMI Amazon ECS yang dioptimalkan dan yang lebih baru. v20250716

  • Ketika Anda menentukan pengguna untuk FireLens wadah, uid harus unik dan tidak digunakan untuk proses lain milik kontainer lain dalam tugas atau instance kontainer.

Untuk informasi tentang cara menggunakan beberapa file konfigurasi dengan Amazon ECS, termasuk file yang Anda host atau file di Amazon S3, lihat Proses init untuk Bit Lancar di ECS, dukungan multi-konfigurasi.

Untuk informasi tentang konfigurasi contoh, lihatContoh definisi tugas Amazon ECS: Rute log ke FireLens.

Untuk informasi selengkapnya tentang mengonfigurasi log untuk throughput tinggi, lihat. Mengkonfigurasi log Amazon ECS untuk throughput tinggi