Amazon Elastic Container Registry (Amazon ECR) adalah layanan Amazon Web Services (AWS) yang menyimpan, mengelola, dan menerapkan gambar Docker, yang merupakan kumpulan terkelola dari instans Amazon EC2. Amazon ECR memungkinkan semua pengembang AWS untuk menyimpan konfigurasi dan dengan cepat memindahkannya ke lingkungan produksi, sehingga mengurangi beban kerja secara keseluruhan.
Amazon ECR menyediakan antarmuka baris perintah (CLI) dan API untuk mengelola repositori dan layanan terintegrasi, seperti Amazon Elastic Container Service (Amazon ECS), yang menginstal dan mengelola infrastruktur untuk kontainer ini. Perbedaan utama antara Amazon ECR dan ECS adalah bahwa sementara ECR menyediakan repositori yang menyimpan semua kode yang telah ditulis dan dikemas sebagai gambar Docker, ECS mengambil file-file ini dan secara aktif menggunakannya dalam penerapan aplikasi.
Seorang pengembang dapat menggunakan antarmuka baris perintah Docker untuk mendorong atau menarik gambar kontainer ke atau dari wilayah AWS. Amazon ECR dapat digunakan di mana pun layanan kontainer Docker berjalan, termasuk lingkungan on-premises. AWS Elastic Beanstalk juga mendukung Amazon ECR untuk lingkungan multi-kontainer.
Bagaimana Amazon ECR bekerja
- Amazon Elastic Container Registry menulis dan mengemas kode dalam bentuk gambar Docker.
- Selanjutnya, ia mengompresi, mengenkripsi, dan mengelola akses ke gambar—termasuk semua tag dan versi—serta mengontrol siklus hidup gambar.
- Akhirnya, Amazon ECS menarik gambar Docker yang diperlukan dari ECR untuk digunakan dalam penerapan aplikasi dan terus mengelola kontainer di mana saja—termasuk Amazon Elastic Kubernetes Service (Amazon EKS), AWS cloud, dan jaringan on-premises.
Selain itu, Amazon ECR secara otomatis mengenkripsi gambar kontainer saat tidak digunakan dengan enkripsi sisi server Amazon Simple Storage Service (Amazon S3) dan memungkinkan administrator menggunakan AWS Identity and Access Management (AWS IAM) untuk membuat pembatasan yang membatasi akses ke setiap repositori. Registri kontainer menyimpan gambar kontainer di S3 untuk ketersediaan tinggi.
Komponen Amazon ECR
Amazon ECR mencakup:
- Gambar Docker. Ini adalah file yang digunakan untuk mengeksekusi kode dalam kontainer Docker.
- Repositori. Gambar Docker disimpan dalam repositori Amazon ECR. Pengembang dapat mendorong dan menarik gambar ke repositori.
- Kebijakan repositori. Pengembang dapat menggunakan kebijakan ini untuk mengelola akses ke repositori dan gambar di dalamnya.
- Registri. Semua akun AWS menerima akses ke Amazon ECR yang memungkinkan mereka membuat repositori dan menyimpan gambar di dalamnya.
- Token otorisasi. Sebelum dapat mendorong dan menarik gambar, klien Docker harus diakui sebagai pemegang akun AWS.
Keamanan Amazon ECR dan manfaat lainnya
Salah satu manfaat terbesar yang disediakan oleh Amazon ECR adalah peningkatan keamanan. Semua gambar di Amazon ECR ditransfer melalui HTTPS. Gambar yang tidak digunakan secara otomatis dienkripsi untuk memastikan keamanan yang lebih baik. Seperti disebutkan sebelumnya, pengembang dapat menggunakan AWS IAM untuk membuat kebijakan yang mengontrol izin dan mengelola akses ke gambar. Ini dapat dilakukan tanpa mengubah kredensial secara langsung pada instans EC2. Kebijakan juga dapat dirancang untuk mengontrol berbagi gambar lintas akun.
Grup keamanan AWS dapat dipilih untuk antarmuka yang mengontrol apakah setiap host diizinkan berinteraksi dengan antarmuka. Grup keamanan AWS adalah firewall virtual pada tingkat instans yang mudah dibuat, dilampirkan, dan dihapus.
Misalnya, mungkin ada grup keamanan yang ditetapkan untuk semua instans EC2 dalam kluster menggunakan grup AWS Auto Scaling. Pengembang dapat membuat aturan yang memungkinkan titik akhir Amazon Virtual Private Cloud (Amazon VPC) diakses oleh semua instans dalam grup keamanan yang ditetapkan ini.
Manfaat lain dari Amazon ECR meliputi:
- Ketersediaan tinggi. Arsitektur Amazon ECR sangat skalabel, tahan lama, dan redundan. Akibatnya, gambar Docker tersedia dan dapat diakses dengan mudah, memungkinkan pengguna untuk dengan cepat dan andal menerapkan kontainer baru untuk aplikasi mereka.
- Mempermudah alur kerja. Integrasi dengan Amazon ECS dan Docker CLI memungkinkan pengguna untuk menyederhanakan proses pengembangan dan produksi dengan mendukung integrasi berkelanjutan (CI) dan penerapan berkelanjutan (CD) dalam Amazon ECS. Selain itu, gambar kontainer dapat dengan mudah dikirim ke Amazon ECR menggunakan Docker CLI. Dari sana, Amazon ECS dapat langsung menarik gambar tersebut dan menggunakannya untuk penerapan produksi.
- Sepenuhnya dikelola. Amazon ECR tidak memerlukan perangkat lunak tambahan yang harus diinstal dan dikelola, atau infrastruktur yang perlu diskalakan. Pengguna cukup mengunggah gambar ke ECR dan menariknya dengan alat manajemen kontainer apa pun saat diperlukan.
Konfigurasi dan implementasi Amazon ECR
Akun AWS adalah persyaratan pertama saat menyiapkan Amazon ECR. Saat pengguna mendaftar akun AWS, mereka secara otomatis terdaftar untuk semua layanan; mereka hanya akan membayar untuk layanan yang mereka gunakan.
Setelah memiliki akun AWS, pengguna dapat mengunduh AWS Command Line Interface (AWS CLI) dan perangkat lunak Docker.
Semua layanan di AWS mengharuskan pengguna memberikan kredensial untuk menentukan apakah mereka memiliki izin untuk mengakses sumber daya yang dilindungi. Konsol AWS memerlukan kata sandi, namun penggunaan kredensial AWS secara langsung tidak disarankan untuk mengakses AWS. Sebagai gantinya, AWS IAM lebih disarankan untuk proses autentikasi yang lebih aman. Pengguna AWS IAM dapat mengakses AWS menggunakan URL khusus dan kredensial unik mereka.
Perkembangan Terbaru dalam Teknologi Terkait
AWS Lambda Container Image Support: Amazon ECR kini mendukung penyimpanan gambar Docker yang digunakan untuk AWS Lambda, memungkinkan pengembang menggunakan bahasa dan alat kustom dalam fungsi Lambda.
Artifact Scanning dengan Amazon Inspector: AWS kini menawarkan pemindaian keamanan otomatis untuk gambar kontainer yang disimpan di Amazon ECR menggunakan Amazon Inspector, yang membantu mendeteksi kerentanan sebelum penerapan.
Amazon ECR Pull-Through Cache: AWS memperkenalkan fitur pull-through cache yang memungkinkan Amazon ECR secara otomatis menyinkronkan gambar dari registri publik seperti Docker Hub, mengurangi latensi dan meningkatkan kinerja untuk beban kerja berskala besar.
Dukungan untuk IPv6: Amazon ECR kini mendukung konektivitas IPv6, memungkinkan organisasi yang menggunakan arsitektur jaringan modern untuk lebih kompatibel dengan kebutuhan cloud-native.
Dengan fitur-fitur terbaru ini, Amazon ECR semakin memperkuat posisinya sebagai layanan registri kontainer yang andal dan aman untuk perusahaan yang mengadopsi strategi cloud-native.