Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Anda dapat meningkatkan postur keamanan VPC Anda dengan mengonfigurasi Amazon ECR untuk menggunakan antarmuka VPC endpoint. Titik akhir VPC didukung oleh AWS PrivateLink, teknologi yang memungkinkan Anda mengakses Amazon APIs ECR secara pribadi melalui alamat IP pribadi. AWS PrivateLink membatasi semua lalu lintas jaringan antara VPC Anda dan Amazon ECR ke jaringan Amazon. Anda tidak memerlukan sebuah gateway internet, perangkat NAT, atau gateway privat virtual.
Untuk informasi selengkapnya tentang AWS PrivateLink dan titik akhir VPC, lihat Titik Akhir VPC di Panduan Pengguna Amazon VPC.
Pertimbangan untuk VPC endpoint Amazon ECR
Sebelum Anda mengkonfigurasi VPC endpoint untuk Amazon ECR, perhatikan pertimbangan berikut.
-
Untuk mengizinkan tugas Amazon ECS Anda yang dihosting di EC2 instans Amazon menarik gambar pribadi dari Amazon ECR, buat titik akhir VPC antarmuka untuk Amazon ECS. Untuk informasi selengkapnya, lihat Titik Akhir VPC Antarmuka (AWS PrivateLink) di Panduan Pengembang Layanan Amazon Elastic Container.
-
Tugas Amazon ECS yang dihosting di Fargate yang menarik gambar kontainer dari Amazon ECR dapat membatasi akses ke VPC tertentu yang digunakan tugas mereka dan ke titik akhir VPC yang digunakan layanan dengan menambahkan kunci kondisi ke peran IAM eksekusi tugas untuk tugas tersebut. Untuk informasi selengkapnya, lihat Izin IAM Opsional untuk Tugas Fargate dalam Menarik Citra Amazon ECR melalui Antarmuka Titik Akhir dalam Panduan Developer Amazon Elastic Container Service.
-
Grup keamanan yang dilampirkan ke VPC endpoint harus mengizinkan koneksi masuk pada port 443 dari subnet privat VPC.
-
VPC endpoint saat ini tidak support permintaan lintas wilayah. Pastikan bahwa Anda membuat VPC endpoint Anda di Wilayah yang sama tempat Anda berencana untuk mengeluarkan panggilan API ke Amazon ECR.
-
Titik akhir VPC saat ini tidak mendukung repositori Publik Amazon ECR. Pertimbangkan untuk menggunakan aturan pull through cache untuk meng-host citra publik di repositori pribadi di Wilayah yang sama dengan titik akhir VPC. Untuk informasi selengkapnya, lihat Sinkronkan registri hulu dengan registri ECR pribadi Amazon.
-
Titik akhir VPC hanya mendukung DNS yang AWS disediakan melalui Amazon Route 53. Jika Anda ingin menggunakan DNS Anda sendiri, Anda dapat menggunakan penerusan DNS bersyarat. Untuk informasi selengkapnya, lihat Pengaturan DHCP dalam Panduan Pengguna Amazon VPC.
-
Jika kontainer Anda memiliki koneksi yang tersedia ke Amazon S3, koneksi mereka mungkin akan terganggu sebentar ketika Anda menambahkan titik akhir gateway Amazon S3. Jika Anda ingin menghindari gangguan ini, buatlah VPC baru yang menggunakan titik akhir gateway Amazon S3 dan kemudian migrasikan klaster Amazon ECS dan kontainer ke VPC baru.
-
Saat gambar ditarik menggunakan aturan cache tarik untuk pertama kalinya, jika Anda telah mengonfigurasi Amazon ECR untuk AWS PrivateLink menggunakan titik akhir VPC antarmuka, maka Anda perlu membuat subnet publik di VPC yang sama, dengan gateway NAT, dan kemudian merutekan semua lalu lintas keluar ke internet dari subnet pribadinya ke gateway NAT agar tarikan berfungsi. Penarikan gambar berikutnya tidak memerlukan ini. Untuk informasi selengkapnya, lihat Skenario: Mengakses internet dari subnet pribadi di Panduan Pengguna Amazon Virtual Private Cloud.
Pertimbangan untuk citra Windows
Citra yang didasarkan pada sistem operasi Windows termasuk artefak yang distribusinya dibatasi oleh lisensi. Secara default, ketika Anda mendorong citra Windows ke repositori Amazon ECR, lapisan yang menyertakan artefak ini tidak didorong karena mereka dianggap sebagai lapisan asing. Ketika artefak disediakan oleh Microsoft, lapisan asing diambil dari infrastruktur Microsoft Azure. Dengan demikian, untuk mengaktifkan kontainer Anda untuk menarik lapisan asing ini dari Azure, langkah-langkah tambahan selain membuat VPC endpoint diperlukan.
Hal ini dimungkinkan untuk menimpa perilaku ini ketika mendorong citra Windows ke Amazon ECR dengan menggunakan tanda --allow-nondistributable-artifacts
di Docker daemon. Bila diaktifkan, tanda ini akan mendorong lapisan berlisensi untuk Amazon ECR yang mengizinkan citra ini ditarik dari Amazon ECR melalui VPC endpoint tanpa memerlukan akses tambahan ke Azure.
penting
Menggunakan tanda --allow-nondistributable-artifacts
tidak menghalangi kewajiban Anda untuk mematuhi persyaratan lisensi citra berbasis kontainer Windows; Anda tidak dapat mengirim konten Windows untuk redistribusi publik atau pihak ke tiga. Penggunaan dalam lingkungan Anda sendiri diperbolehkan.
Untuk mengaktifkan penggunaan tanda ini untuk instalasi Docker, Anda harus memodifikasi file konfigurasi Docker daemon yang, tergantung pada instalasi Docker Anda, biasanya dapat dikonfigurasi di pengaturan atau menu preferensi pada bagian Mesin Docker atau dengan mengedit file C:\ProgramData\docker\config\daemon.json
secara langsung.
Berikut ini adalah contoh konfigurasi yang diperlukan. Ganti nilai dengan repositori URI yang Anda gunakan untuk mendorong citra.
{ "allow-nondistributable-artifacts": [ "
111122223333
.dkr.ecr.us-west-2
.amazonaws.com" ] }
Setelah memodifikasi file konfigurasi Docker daemon, Anda harus memulai ulang Docker daemon sebelum mencoba mendorong citra Anda. Konfirmasikan dorongan yang dikerjakan dengan memverifikasi bahwa lapisan dasar didorong ke repositori Anda.
catatan
Lapisan dasar untuk citra Windows berukuran besar. Ukuran lapisan akan menyebabkan waktu mendorong menjadi lebih lama dan biaya penyimpanan tambahan di Amazon ECR untuk citra ini akan dibebankan. Dengan demikian, sebaiknya hanya menggunakan opsi ini bila diperlukan jika benar-benar diperlukan untuk mengurangi waktu pembuatan dan biaya penyimpanan yang sedang berlangsung. Misalnya, citra mcr.microsoft.com/windows/servercore
berukuran sekitar 1,7 GiB ketika dikompresi di Amazon ECR.
Buat VPC endpoint untuk Amazon ECR
Untuk membuat VPC endpoint untuk layanan Amazon ECR, gunakan prosedurMembuat Antarmuka Titik Akhir dalam Panduan Pengguna Amazon VPC.
Tugas Amazon ECS yang dihosting di EC2 instans Amazon memerlukan titik akhir Amazon ECR dan titik akhir gateway Amazon S3.
Tugas Amazon ECS yang dihosting di Fargate menggunakan 1.4.0
versi platform atau yang lebih baru memerlukan titik akhir Amazon ECR VPC dan titik akhir gateway Amazon S3.
Tugas Amazon ECS yang dihosting di Fargate yang menggunakan 1.3.0
versi platform atau sebelumnya hanya memerlukan com.amazonaws. region
.ecr.dkr Titik akhir Amazon ECR VPC dan titik akhir gateway Amazon S3.
catatan
Urutan titik akhir boleh dibuat di dalam.
- com.amazonaws.
region
.ecr.dkr -
Endpoint ini digunakan untuk Docker Registry. APIs Perintah klien Docker seperti
push
danpull
mengunakan titik akhir ini.Saat Anda membuat titik akhir ini, Anda harus mengaktifkan nama host DNS pribadi. Untuk melakukan ini, pastikan opsi Aktifkan Nama DNS Pribadi dipilih di konsol VPC Amazon saat Anda membuat titik akhir VPC.
- com.amazonaws.
region
.ecr.api -
catatan
Yang ditentukan
region
mewakili pengenal Wilayah untuk AWS Wilayah yang didukung oleh Amazon ECR, sepertius-east-2
untuk Wilayah AS Timur (Ohio).titik akhir ini digunakan untuk panggilan ke API Amazon ECR. Tindakan API seperti
DescribeImages
danCreateRepository
masuk ke titik akhir ini.Ketika titik akhir ini dibuat, Anda memiliki opsi untuk mengaktifkan nama host DNS pribadi. Aktifkan pengaturan ini dengan memilih Aktifkan Nama DNS privat di konsol VPC saat Anda membuat VPC endpoint. Jika Anda mengaktifkan nama host DNS pribadi untuk titik akhir VPC, perbarui SDK Anda atau AWS CLI ke versi terbaru sehingga menentukan URL titik akhir saat menggunakan SDK atau tidak diperlukan. AWS CLI
Jika Anda mengaktifkan nama host DNS pribadi dan menggunakan SDK atau AWS CLI versi yang dirilis sebelum 24 Januari 2019, Anda harus menggunakan
--endpoint-url
parameter untuk menentukan titik akhir antarmuka. Contoh berikut menunjukkan format untuk titik akhir URL.aws ecr create-repository --repository-name
name
--endpoint-url https://api.ecr.region
.amazonaws.com.rproxy.goskope.comJika Anda tidak mengaktifkan nama host DNS privat untuk VPC endpoint, Anda harus menggunakan parameter
--endpoint-url
yang menentukan ID VPC endpoint untuk titik akhir antarmuka. Contoh berikut menunjukkan format untuk titik akhir URL.aws ecr create-repository --repository-name
name
--endpoint-url https://VPC_endpoint_ID
.api.ecr.region
.vpce.amazonaws.com
Buat titik akhir gateway Amazon S3
Untuk tugas-tugas Amazon ECS Anda yang berfungsi untuk menarik citra privat dari Amazon ECR, Anda harus membuat titik akhir gateway untuk Amazon S3. titik akhir gateway diperlukan karena Amazon ECR menggunakan Amazon S3 untuk menyimpan lapisan citra Anda. Ketika kontainer Anda mengunduh citra dari Amazon ECR, mereka harus mengakses Amazon ECR untuk mendapatkan manifest citra dan kemudian Amazon S3 untuk mengunduh lapisan citra yang sebenarnya. Berikut adalah Amazon Resource Name (ARN) dari bucket Amazon S3 yang berisi lapisan untuk setiap citra Docker.
arn:aws:s3:::prod-
region
-starport-layer-bucket/*
Menggunakan prosedur Membuat titik akhir gateway dalam Panduan Pengguna Amazon VPC untuk membuat titik akhir gateway Amazon S3 berikut untuk Amazon ECR. Saat membuat titik akhir, pastikan untuk memilih tabel rute untuk VPC Anda.
- com.amazonaws.
region
.s3 -
titik akhir gateway Amazon S3 menggunakan dokumen kebijakan IAM untuk membatasi akses ke layanan. Kebijakan Akses penuh dapat digunakan karena pembatasan yang telah Anda masukkan ke dalam tugas IAM role Anda atau kebijakan pengguna IAM lainnya yang masih berlaku di atas kebijakan ini. Jika Anda ingin membatasi akses bucket Amazon S3 ke izin minimum yang diperlukan untuk menggunakan Amazon ECR, lihat Izin Bucket Amazon S3 Minimum untuk Amazon ECR.
Izin Bucket Amazon S3 Minimum untuk Amazon ECR
titik akhir gateway Amazon S3 menggunakan dokumen kebijakan IAM untuk membatasi akses ke layanan. Untuk mengizinkan hanya izin minimum bucket Amazon S3 untuk Amazon ECR, maka batasi akses ke bucket Amazon S3 yang menggunakan Amazon ECR ketika Anda membuat dokumen kebijakan IAM untuk titik akhir.
Tabel berikut menjelaskan izin kebijakan bucket Amazon S3 yang dibutuhkan oleh Amazon ECR.
Izin | Deskripsi |
---|---|
|
Menyediakan akses ke bucket Amazon S3 yang berisi lapisan untuk setiap citra Docker. Merepresentasikan identifier Wilayah untuk Wilayah AWS
yang didukung oleh Amazon ECR, seperti |
Contoh
Contoh berikut menggambarkan bagaimana memberikan akses ke bucket Amazon S3 yang diperlukan untuk operasi Amazon ECR.
{
"Statement": [
{
"Sid": "Access-to-specific-bucket-only",
"Principal": "*",
"Action": [
"s3:GetObject"
],
"Effect": "Allow",
"Resource": ["arn:aws:s3:::prod-region
-starport-layer-bucket/*"]
}
]
}
Buat titik akhir CloudWatch Log
Tugas Amazon ECS menggunakan tipe peluncuran Fargate yang menggunakan VPC tanpa gateway internet yang juga menggunakan awslogs
driver log untuk mengirim informasi log ke Log mengharuskan Anda membuat CloudWatch com.amazonaws. region
.logs antarmuka VPC CloudWatch endpoint untuk Log. Untuk informasi selengkapnya, lihat Menggunakan CloudWatch Log dengan titik akhir VPC antarmuka di Panduan Pengguna Amazon CloudWatch Logs.
Buat kebijakan titik akhir untuk VPC endpoint Amazon ECR
Kebijakan VPC endpoint adalah kebijakan sumber daya IAM yang Anda lampirkan ke titik akhir ketika membuat atau memodifikasi titik akhir. Jika Anda tidak melampirkan kebijakan saat membuat titik akhir, AWS lampirkan kebijakan default untuk Anda yang memungkinkan akses penuh ke layanan. Kebijakan titik akhir tidak membatalkan atau mengganti kebijakan pengguna IAM atau kebijakan khusus layanan. Ini adalah kebijakan terpisah untuk mengendalikan akses dari titik akhir ke layanan tertentu. Kebijakan titik akhir harus ditulis dalam format JSON. Untuk informasi selengkapnya, lihat Pengontrolan Akses ke Layanan dengan VPC endpoint dalam Panduan Pengguna Amazon VPC.
Kami merekomendasikan agar Anda membuat kebijakan sumber daya IAM tunggal dan melampirkannya ke kedua VPC endpoint Amazon ECR.
Berikut adalah contoh kebijakan titik akhir untuk Amazon ECR. Kebijakan ini mengizinkan IAM role tertentu untuk menarik citra dari Amazon ECR.
{
"Statement": [{
"Sid": "AllowPull",
"Principal": {
"AWS": "arn:aws:iam::1234567890
:role/role_name
"
},
"Action": [
"ecr:BatchGetImage",
"ecr:GetDownloadUrlForLayer",
"ecr:GetAuthorizationToken"
],
"Effect": "Allow",
"Resource": "*"
}]
}
Contoh kebijakan titik akhir berikut mencegah penghapusan repositori tertentu.
{
"Statement": [{
"Sid": "AllowAll",
"Principal": "*",
"Action": "*",
"Effect": "Allow",
"Resource": "*"
},
{
"Sid": "PreventDelete",
"Principal": "*",
"Action": "ecr:DeleteRepository",
"Effect": "Deny",
"Resource": "arn:aws:ecr:region
:1234567890
:repository/repository_name
"
}
]
}
Contoh kebijakan titik akhir berikut menggabungkan dua contoh sebelumnya ke kebijakan tunggal.
{
"Statement": [{
"Sid": "AllowAll",
"Effect": "Allow",
"Principal": "*",
"Action": "*",
"Resource": "*"
},
{
"Sid": "PreventDelete",
"Effect": "Deny",
"Principal": "*",
"Action": "ecr:DeleteRepository",
"Resource": "arn:aws:ecr:region
:1234567890
:repository/repository_name
"
},
{
"Sid": "AllowPull",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::1234567890
:role/role_name
"
},
"Action": [
"ecr:BatchGetImage",
"ecr:GetDownloadUrlForLayer",
"ecr:GetAuthorizationToken"
],
"Resource": "*"
}
]
}
Untuk mengubah kebijakan VPC endpoint untuk Amazon ECR
Buka konsol Amazon VPC di. https://console.aws.amazon.com/vpc/
-
Di panel navigasi, pilih Titik akhir.
-
Jika Anda belum membuat VPC endpoint untuk Amazon ECR, lihat Buat VPC endpoint untuk Amazon ECR.
-
Pilih VPC endpoint Amazon ECR untuk menambahkan kebijakan, dan pilih tab Kebijakan di bagian bawah layar.
-
Pilih Edit Kebijakan dan buat perubahan pada kebijakan.
-
Pilih Terapkan untuk menyimpan kebijakan tersebut.
Subnet bersama
Anda tidak dapat membuat, mendeskripsikan, memodifikasi, atau menghapus titik akhir VPC di subnet yang dibagikan dengan Anda. Namun, Anda dapat menggunakan titik akhir VPC di subnet yang dibagikan dengan Anda.