Database
 sql >> Teknologi Basis Data >  >> RDS >> Database

Cara Memulai dengan Amazon ECS dan Amazon Fargate

Docker dapat diinstal pada platform OS yang paling umum digunakan. CoreOS memiliki Docker yang sudah diinstal sebelumnya, dan dirancang khusus untuk menjalankan container Docker. Docker untuk AWS menyediakan mode gerombolan Docker yang siap pakai di mana sekelompok node, yang disebut swarm, menyediakan platform terdistribusi untuk menjalankan aplikasi container Docker.

Masalah: Semua platform Docker yang disebutkan di atas hanyalah jenis instalasi Docker yang berbeda, dan memerlukan container Docker untuk dijalankan dan dikelola pada baris perintah.

Solusi: Amazon ECS (Layanan Kontainer Elastis ) adalah layanan terkelola untuk container Docker dengan dukungan bawaan untuk penskalaan, penyeimbangan beban, jaringan, penyimpanan, pencatatan log, dan tugas manajemen container Docker lainnya. Amazon ECS mendukung dua jenis peluncuran:EC2 dan Fargate.

Dengan tipe peluncuran EC2, instans EC2 mulai menjalankan container Docker. Jenis peluncuran Fargate, yang diperkenalkan baru-baru ini (November 2017), menampung tugas-tugas yang merangkum wadah Docker. Tugas dibuat dapat diakses secara langsung oleh pengguna melalui Antarmuka Jaringan Elastis (ENI ). Instans EC2 yang menyediakan Fargate tidak diekspos ke pengguna dan tidak dapat diakses secara langsung.

Dalam bab ini, kita akan mempelajari hal berikut:Apa itu Amazon Fargate

  • Manfaat objek Fargate Amazon ECS
  • Menghitung sumber daya di Amazon ECS Fargate
  • Apa yang baru dalam mode jenis peluncuran Amazon Fargate?

Apa itu Amazon Fargate

Amazon Fargate adalah jenis peluncuran baru untuk Amazon ECS dan Amazon EKS (Layanan Kubernetes Elastis ) layanan orkestrasi terkelola untuk container Docker di AWS. Dengan jenis peluncuran Fargate, infrastruktur sepenuhnya disediakan oleh Fargate. Ini tanpa server, dan tidak ada instans EC2 yang diekspos ke pengguna. Kontainer Docker didefinisikan sebagai definisi kontainer dalam definisi tugas. Sebuah layanan mengimplementasikan definisi tugas untuk menjalankan satu atau lebih tugas. Setiap tugas dikaitkan dengan ENI. Jika penetapan otomatis IP publik di tingkat tugas diaktifkan, IP publik tempat klien eksternal dapat mengakses tugas secara otomatis ditetapkan ke tugas. Tugas berkomunikasi satu sama lain melalui IP pribadi.

Manfaat Fargate

Manfaat dalam ECS adalah sebagai berikut:

  • Layanan terkelola untuk aplikasi dalam container yang tidak memerlukan banyak masukan pengguna untuk menjalankan aplikasi Docker
  • Layanan mikro yang terdiri dari beberapa aplikasi yang dijalankan dalam wadah terisolasi Otomatis menskalakan tugas berdasarkan beban aplikasi
  • Terintegrasi dengan layanan AWS lainnya termasuk IAM, CloudWatch Logs, Elastic Load Balancing, template CloudFormation, Volume EBS, Batch, ECR, dan log CloudTrail
  • Awan pribadi virtual (VPC ) tanpa sumber daya yang dibagikan dengan pengguna lain Memberikan dukungan untuk menjalankan CodePipeline dengan ECS sebagai platform penerapan
  • Mendukung Docker versi terbaru 17.0

Fargate memberikan manfaat tambahan berikut:

  • Dengan jenis peluncuran Fargate, pengguna tidak membuat atau mengelola instans EC2 apa pun, karena tidak ada yang terekspos di cluster.
  • Tugas diekspos langsung ke pengguna melalui ENI.
  • Infrastruktur dasar disediakan oleh Fargate. Instans EC2 tidak dikelola dengan jenis peluncuran Fargate.
  • CodePipeline mendukung Fargate sebagai platform penerapan.
  • Layanan mikro berdasarkan definisi Penampung yang dienkapsulasi dalam definisi tugas ditautkan secara eksplisit, dan tidak untuk ditautkan dengan opsi tambahan apa pun, seperti tautan.
  • CloudWatch Logs dapat dikonfigurasi secara otomatis.

Objek ECS Amazon

Objek Amazon ECS dengan Fargate sama seperti untuk jenis peluncuran EC2. Cluster ECS adalah enkapsulasi terluar, dan terdiri dari satu atau lebih layanan. Sebuah cluster dapat didistribusikan melalui beberapa zona ketersediaan. Layanan adalah implementasi dari definisi tugas, dan menjalankan satu atau lebih tugas. Definisi tugas dapat memiliki satu atau lebih revisi tugas. Revisi tugas adalah definisi tugas yang berbeda dengan serangkaian tugas dan layanan yang terkait dengannya. Satu instance Fargate dikaitkan dengan serangkaian tugas dalam layanan. Definisi tugas terdiri dari nol atau lebih definisi wadah. Biasanya, definisi tugas akan dikaitkan dengan satu atau lebih definisi wadah, dan definisi tugas yang tidak terdiri dari definisi wadah apa pun tidak akan menjalankan wadah tugas apa pun. Diagram objek ECS ditunjukkan sebagai berikut:

Definisi tugas adalah template aplikasi dan menjelaskan satu atau lebih container. Sementara beberapa atribut atau pengaturan dikonfigurasi di tingkat tugas, sebagian besar dikonfigurasi di tingkat wadah. Beberapa revisi dapat dikaitkan dengan definisi tugas.

Sebuah Layanan mengimplementasikan definisi tugas, dan menentukan jumlah tugas yang diinginkan untuk dijalankan untuk definisi tugas. Fitur opsional seperti penskalaan otomatis dan penyeimbangan beban dikonfigurasi dalam layanan.

Sebuah Kluster dalam layanan ECS adalah pengelompokan satu atau lebih layanan kontainer. Nama cluster harus unik dalam akun. Sebuah cluster yang disebut default disediakan secara default.

Menghitung sumber daya di Amazon ECS Fargate

Ukuran tugas terdiri dari Memori tugas (GB) dan CPU Tugas (vCPU) . Sementara opsional dalam jenis peluncuran EC2, ukuran tugas diperlukan dengan jenis peluncuran Fargate. Memori tingkat wadah Docker dan pengaturan CPU dapat ditentukan secara opsional, tetapi ditimpa oleh pengaturan tingkat definisi tugas. Hanya kombinasi tertentu dari memori tugas dan CPU tugas yang didukung, dan wizard ECS menunjukkan dengan pesan nilai yang didukung (atau rentang nilai) untuk nilai yang dipilih. Sebagai contoh, rentang CPU yang valid untuk memori 1 GB adalah 0,25 vCPU hingga 0,5 vCPU. Sumber daya total (memori atau CPU) yang dikonfigurasi pada tingkat penampung tidak boleh melebihi pengaturan sumber daya tingkat tugas. Sebagai contoh, jika definisi tugas terdiri dari dua wadah (MySQL dan WordPress) dengan batas memori 128 MB untuk setiap wadah, memori tingkat tugas harus minimal 256 MB. Juga, total memori tingkat penampung tidak boleh melebihi 256 MB. Demikian pula untuk CPU. Dua batas memori dapat ditentukan pada tingkat penampung:Batas lunak dan Batas keras . Batas Lunak sesuai dengan memoryReservation atribut di tingkat tugas, dan batas Keras sesuai dengan memori atribut di tingkat tugas. Jumlah reservasi memori kontainer (Batas lunak) tidak boleh melebihi memori tugas. Batas Keras untuk setiap wadah tidak boleh melebihi memori yang dikonfigurasi pada tingkat tugas. Minimal 4 GB harus ditentukan secara default untuk penampung.

Contoh ukuran tugas ditunjukkan pada tangkapan layar berikut, di mana Memori tugas (memori atribut) disetel ke 0,5 GB (512 GB), dan CPU Tugas disetel ke 0,25 vCPU . Pada tingkat container, sebagaimana dikonfigurasi dalam dua definisi container, reservasi memori adalah 128 MB untuk setiap container, yang membuat total reservasi memori 256 MB baik dalam 512 GB dialokasikan pada tingkat tugas. Ukuran tugas dialokasikan untuk tugas, apakah digunakan atau tidak. Demikian pula, jumlah Unit CPU dikonfigurasi untuk setiap penampung adalah 10 , yang membuat total unit CPU 20 untuk kontainer dalam unit CPU, 25 dialokasikan pada tingkat tugas. Lihat tangkapan layar berikut:

Konfigurasi ukuran tugas dan alokasi untuk container

Apa yang baru dalam mode jenis peluncuran Amazon Fargate?

Selain dan bersamaan dengan manfaat Fargate yang dibahas sebelumnya, Fargate mendukung fitur baru berikut:

  • Mode jaringan, awsvpc , adalah satu-satunya mode yang didukung
  • Pemetaan port host tidak valid dengan mode jaringan jenis peluncuran Fargate (awsvpc ), dan port host tempat aplikasi diekspos sama dengan port container
  • ecsTaskExecutionRole ditambahkan untuk jenis peluncuran Fargate untuk memungkinkan pengambilan gambar Docker dan mengirim log ke CloudWatch Logs
  • Hanya awslog konfigurasi log dan awslogs driver log didukung dengan CloudWatch Logs
  • Penempatan tugas tidak didukung, karena tidak ada instance ECS yang disediakan untuk menentukan batasan penempatan
  • Hanya image Docker di Docker Hub dan Amazon ECR yang didukung Wadah Windows yang diistimewakan tidak didukung untuk tipe peluncuran Fargate Perangkat host tidak dapat diekspos ke wadah
  • Si tuan rumah dan sourcePath parameter untuk volume tidak didukung dengan jenis peluncuran Fargate

Ringkasan

Dalam bab pendahuluan ini, kita membahas manfaat menggunakan jenis peluncuran Fargate, bagaimana sumber daya komputasi didistribusikan dan dikonfigurasikan dengan jenis peluncuran Fargate, bagaimana objek ECS dengan Fargate sama dengan jenis peluncuran EC2, dan fitur-fitur baru di Fargate. Di bab berikutnya, kita akan membahas jaringan seperti yang digunakan dengan Fargate.

Materi sebelumnya adalah kutipan dari Panduan Memulai Cepat Amazon Fargate , oleh Deepak Vohra, diterbitkan oleh Pact Publishing.

Artikel ini disumbangkan. © Pengembang. com. Semua Hak Dilindungi Undang-undang


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 2 Cara Memilih Baris yang Cocok dengan Semua Item dalam Daftar (T-SQL)

  2. SQL ANTARA Operator untuk Pemula

  3. Penyimpanan Data:REST vs. POSIX untuk Arsip dan HSM

  4. Bekerja dengan Data Java di Alteryx

  5. Cara Mengubah Kolom Dari NULL menjadi NOT NULL