คำถามที่พบบ่อยเกี่ยวกับ Amazon Elastic Container Registry

ข้อมูลทั่วไป

Amazon ECR คือคอนเทนเนอร์ที่มีการจัดการอย่างเต็มรูปแบบ ทำให้นักพัฒนาสามารถแชร์และปรับใช้อิมเมจและสิ่งประดิษฐ์คอนเทนเนอร์ได้อย่างง่ายดาย Amazon ECR มีการผสานการทำงานกับ Amazon Elastic Container Service (Amazon ECS)Amazon Elastic Kubernetes Service (Amazon EKS) และ AWS Lambda ซึ่งช่วยลดความซับซ้อนในการพัฒนาเวิร์กโฟลว์การผลิตของคุณ Amazon ECR ตัดความจำเป็นในการใช้คลังคอนเทนเนอร์ของคุณเองหรือความกังวลเกี่ยวกับการปรับขนาดโครงสร้างพื้นฐานที่สำคัญ Amazon ECR โฮสต์อิมเมจของคุณในสถาปัตยกรรมที่พร้อมใช้งานและปรับขนาดได้ คุณจึงสามารถปรับใช้คอนเทนเนอร์สำหรับแอปพลิเคชันของคุณได้อย่างมีเสถียรภาพ การผสานรวมกับ AWS Identity and Access Management (IAM) มอบการควบคุมระดับทรัพยากรให้แต่ละคลัง ซึ่งทำให้คุณสามารถแชร์อิมเมจภายในองค์กรหรือแชร์ให้กับใครๆ ได้ทั่วโลก

Amazon ECR ตัดความจำเป็นในการใช้และปรับขนาดโครงสร้างพื้นฐานที่จำเป็นต่อการขับเคลื่อนรีจิสทรีคอนเทนเนอร์ของคุณ Amazon ECR ใช้ Amazon Simple Storage Service (S3) เป็นพื้นที่จัดเก็บเพื่อให้อิมเมจคอนเทนเนอร์มีความพร้อมใช้งานสูงและเข้าถึงได้ง่าย คุณจึงปรับใช้คอนเทนเนอร์ใหม่สำหรับแอปพลิเคชันของคุณได้อย่างมั่นใจ Amazon ECR จะถ่ายโอนอิมเมจคอนเทนเนอร์ของคุณผ่าน HTTPS และเข้ารหัสอิมเมจที่จัดเก็บไว้ของคุณโดยอัตโนมัติ คุณสามารถกำหนดค่านโยบายเพื่อจัดการสิทธิ์ให้กับแต่ละคลัง และจำกัดการเข้าถึงผู้ใช้และบทบาท IAM หรือบัญชี AWS อื่นๆ ได้ Amazon ECR ผสานรวมกับ Amazon ECS, Amazon EKS, AWS Fargate, AWS Lambda และ Docker CLI ทำให้คุณสามารถลดความซับซ้อนของเวิร์กโฟลว์การพัฒนาและการผลิตของคุณได้ คุณสามารถดันอิมเมจคอนเทนเนอร์ไปยัง Amazon ECR ได้อย่างง่ายดายโดยใช้ Docker CLI จากเครื่องพัฒนาของคุณ และส่วนควบคุมจัดการหรือประมวลผลคอนเทนเนอร์ Amazon สามารถดึงอิมเมจเหล่านั้นได้โดยตรงเพื่อการติดตั้งใช้งานการผลิต

Amazon ECR ไม่มีค่าธรรมเนียมล่วงหน้าหรือภาระผูกพัน เพียงชำระค่าบริการเฉพาะปริมาณข้อมูลที่จัดเก็บไว้ในคลังสาธารณะหรือส่วนตัว และข้อมูลที่ถ่ายโอนไปยังอินเทอร์เน็ตเท่านั้น โปรดดูรายละเอียดเพิ่มเติมที่หน้าราคาของเรา

Amazon ECR เป็นบริการระดับรีเจี้ยนและได้รับการออกแบบมาเพื่อมอบความยืดหยุ่นให้คุณในการปรับใช้อิมเมจ คุณสามารถดัน/ดึงอิมเมจไปยัง AWS Region เดียวกันกับที่คลัสเตอร์ Docker ของคุณทำงานอยู่เพื่อประสิทธิภาพที่ดีที่สุด และคุณยังสามารถเข้าถึง Amazon ECR ได้จากทุกที่ที่ Docker ทำงาน เช่น เดสก์ท็อปและสภาพแวดล้อมในองค์กร การดึงอิมเมจระหว่าง Region หรือออกไปยังอินเทอร์เน็ตจะมีเวลาแฝงเพิ่มเติมและมีค่าใช้จ่ายในการถ่ายโอนข้อมูล

ใช่ Amazon ECR มีรีจิสทรีคอนเทนเนอร์ที่มีความพร้อมใช้งานสูงและเว็บไซต์ที่ช่วยให้คุณแชร์หรือค้นหาซอฟต์แวร์คอนเทนเนอร์สาธารณะได้ง่าย ทุกคนไม่ว่าจะมีหรือไม่มีบัญชี AWS ก็สามารถใช้คลังสาธารณะของ Amazon ECR เพื่อค้นหาและดาวน์โหลดอิมเมจคอนเทนเนอร์ที่ใช้บ่อยได้ เช่น ระบบปฏิบัติการ, อิมเมจที่เผยแพร่โดย AWS และไฟล์ต่าง ๆ อย่างแผนผัง Helm สำหรับ Kubernetes

คลังส่วนตัวไม่มีบริการค้นหาเนื้อหา และจำเป็นต้องมีการตรวจสอบสิทธิ์ตาม Amazon IAM โดยใช้ข้อมูลประจำตัวของบัญชี AWS ก่อนที่จะสามารถดึงอิมเมจได้ คลังสาธารณะมีเนื้อหาเชิงอธิบายและอนุญาตให้ผู้ใช้ทุกคนจากที่ใดก็ตามสามารถดึงอิมเมจได้โดยไม่จำเป็นต้องมีบัญชี AWS หรือใช้ข้อมูลประจำตัว IAM อิมเมจของคลังสาธารณะยังมีให้ใช้งานในแกลเลอรีสาธารณะของ Amazon ECR อีกด้วย
 

คุณสามารถใช้ AWS CloudTrail บน Amazon ECR เพื่อแสดงประวัติการดำเนินการ API ทั้งหมดได้ เช่น ใครเป็นผู้ดึงอิมเมจ และมีการย้ายแท็กระหว่างอิมเมจเมื่อใด นอกจากนี้ผู้ดูแลระบบยังสามารถดูว่า EC2 instance ใดดึงอิมเมจใดได้อีกด้วย

การใช้ Amazon ECR

วิธีที่ดีที่สุดในการเริ่มใช้ Amazon ECR ก็คือการใช้ Docker CLI ในการดันและดึงอิมเมจแรกของคุณ ดูข้อมูลเพิ่มเติมได้ที่หน้าเริ่มต้นใช้งานของเรา

ใช่ คุณสามารถตั้งค่าตำแหน่งข้อมูล AWS PrivateLink ให้อนุญาตให้อินสแตนซ์ของคุณดึงอิมเมจจากคลังส่วนตัวโดยไม่ต้องผ่านอินเทอร์เน็ตสาธารณะได้

Amazon ECR มีอินเทอร์เฟซบรรทัดคำสั่งและ API สำหรับสร้าง ตรวจสอบ และลบคลังต่าง ๆ รวมถึงตั้งค่าสิทธิ์การใช้งานคลัง คุณสามารถดำเนินการเช่นเดียวกันนี้ได้ใน Amazon ECR Console ซึ่งเข้าถึงได้จากส่วน “คลัง” ของ Amazon ECR Console Amazon ECR ยังผสานรวมกับ Docker CLI ซึ่งทำให้คุณสามารถดัน ดึง และแท็กอิมเมจบนเครื่องพัฒนาของคุณได้อีกด้วย

คุณจะต้องเผยแพร่อิมเมจไปยังแกลเลอรีสาธารณะของ Amazon ECR โดยการเข้าสู่ระบบบัญชี AWS แล้วดันอิมเมจไปยังคลังสาธารณะที่คุณสร้างขึ้น คุณจะได้รับนามแฝงที่ไม่ซ้ำกันต่อบัญชีเพื่อใช้ใน URL ของอิมเมจซึ่งระบุถึงอิมเมจสาธารณะทั้งหมดที่คุณเผยแพร่

ใช่ คุณสามารถขอนามแฝงที่กำหนดเองได้ เช่น ชื่อองค์กรหรือชื่อโครงการของคุณ เว้นแต่นามแฝงดังกล่าวจะได้รับการสงวนไว้ ชื่อต่างๆ ที่ระบุถึงบริการของ AWS ได้รับการสงวนไว้ ชื่อต่างๆ ที่ระบุถึงผู้ขาย AWS Marketplace ก็อาจมีการสงวนไว้เช่นกัน เราจะตรวจสอบและอนุมัติคำขอนามแฝงที่กำหนดเองของคุณภายในไม่กี่วัน เว้นแต่คำขอนามแฝงของคุณจะละเมิดนโยบายการใช้งานที่ยอมรับได้ของ AWS หรือนโยบายอื่นๆ ของ AWS

คุณสามารถดึงอิมเมจได้โดยใช้คำสั่ง “docker pull” ที่ใช้กันโดยทั่วไปกับ URL ของอิมเมจนั้นๆ คุณสามารถค้นหา URL นี้ได้อย่างง่ายดายโดยการค้นหาอิมเมจด้วยนามแฝงของผู้เผยแพร่ ชื่ออิมเมจ หรือคำอธิบายอิมเมจโดยใช้แกลเลอรีสาธารณะของ Amazon ECR URL ของอิมเมจจะอยู่ในรูปแบบ public.ecr.aws/<alias>/<image>:<tag> ตัวอย่างเช่น public.ecr.aws/eks/aws-alb-ingress-controller:v1.1.5

ใช่ Amazon ECR ได้รับการออกแบบมาให้คุณมีความยืดหยุ่นในการเลือกสถานที่จัดเก็บอิมเมจ รวมถึงวิธีการปรับใช้อิมเมจของคุณ คุณสามารถสร้างไปป์ไลน์การปรับใช้ที่จะสร้างอิมเมจ ดันอิมเมจไปยัง Amazon ECR ในรีเจี้ยนหนึ่ง แล้ว Amazon ECR จะสามารถจำลองแบบอิมเมจนั้นโดยอัตโนมัติไปยังรีเจี้ยนและบัญชีอื่นๆ เพื่อการปรับใช้กับคลัสเตอร์แบบหลายรีเจี้ยนได้

ใช่ คุณสามารถเข้าถึง Amazon ECR ได้จากทุกที่ที่ Docker ทำงาน เช่น เดสก์ท็อปและสภาพแวดล้อมในองค์กร

ใช่ บริการต่างๆ เช่น Amazon EKS, Amazon SageMaker และ AWS Lambda เผยแพร่อิมเมจและสิ่งประดิษฐ์คอนเทนเนอร์สำหรับสาธารณะแบบเป็นทางการของตนไปยัง Amazon ECR  

ใช่ Amazon ECR ผสานรวมกับ Amazon ECS ซึ่งช่วยให้คุณสามารถจัดเก็บ เรียกใช้ และจัดการอิมเมจคอนเทนเนอร์สำหรับแอปพลิเคชันต่างๆ ที่ทำงานบน Amazon ECS ได้อย่างง่ายดาย ที่คุณต้องทำก็มีเพียงการกำหนดคลัง Amazon ECR ในคำจำกัดความของงานของคุณ แล้ว Amazon ECS จะดึงข้อมูลอิมเมจที่เหมาะสมให้กับแอปพลิเคชันของคุณเอง

ใช่ AWS Elastic Beanstalk รองรับ Amazon ECR สำหรับทั้งสภาพแวดล้อม Docker แบบคอนเทนเนอร์เดียวและแบบหลายคอนเทนเนอร์ ซึ่งช่วยให้คุณนำอิมเมจคอนเทนเนอร์ที่จัดเก็บไว้ใน Amazon ECR ไปปรับใช้กับ AWS Elastic Beanstalk ได้อย่างง่ายดาย ที่คุณต้องทำก็มีเพียงการกำหนดคลัง Amazon ECR ในการกำหนดค่า Dockerrun.aws.json ของคุณและแนบนโยบาย AmazonEC2ContainerRegistryReadOnly ไปกับบทบาทอินสแตนซ์คอนเทนเนอร์ของคุณ

ขณะนี้ Amazon ECR สนับสนุน Docker Engine เวอร์ชัน 1.7.0 ขึ้นไป

Amazon ECR สนับสนุน Docker Registry V2 API

ไม่ แต่ Amazon ECR จะผสานรวมกับโซลูชัน CI/CD ยอดนิยมต่างๆ มากมายเพื่อสร้างอิมเมจอัตโนมัติ ดูข้อมูลเพิ่มเติมได้ที่หน้าพาร์ทเนอร์ Amazon ECR

ใช่ Amazon ECR ผสานรวมกับ AWS Identity and Access Management (IAM) ซึ่งรองรับการเชื่อมโยงข้อมูลระบุตัวตนสำหรับการเข้าถึงที่ได้รับมอบสิทธิ์ไปยังคอนโซลการจัดการของ AWS หรือ AWS API

Amazon ECR สนับสนุน Docker Image Manifest V2 ในรูปแบบ Schema 2 เพื่อรักษาความเข้ากันได้แบบย้อนหลังกับอิมเมจ Schema 1 เอาไว้ Amazon ECR จะยังคงยอมรับอิมเมจที่อัปโหลดในรูปแบบ Schema 1 ต่อไป นอกจากนี้ Amazon ECR สามารถแปลงอิมเมจลงจาก Schema 2 เป็น Schema 1 เมื่อดึงอิมเมจด้วย Docker Engine เวอร์ชันเก่าได้ (1.9 และต่ำกว่า)

ใช่ Amazon ECR เข้ากันได้กับข้อกำหนดอิมเมจ Open Container Initiative (OCI) คุณจึงสามารถดันและดึงอิมเมจและสิ่งประดิษฐ์ OCI ได้ นอกจากนี้ Amazon ECR ยังสามารถแปลงระหว่าง Docker Image Manifest V2, อิมเมจ Schema 2 และอิมเมจ OCI เมื่อดึงได้

การรักษาความปลอดภัย

Amazon ECR จะเข้ารหัสอิมเมจที่จัดเก็บไว้โดยอัตโนมัติโดยใช้การเข้ารหัสฝั่งเซิร์ฟเวอร์ Amazon S3 หรือการเข้ารหัส AWS KMS และถ่ายโอนอิมเมจคอนเทนเนอร์ของคุณผ่าน HTTPS คุณสามารถกำหนดค่านโยบายในการจัดการสิทธิ์และควบคุมการเข้าถึงภาพโดยใช้ผู้ใช้และบทบาทของ AWS Identity and Access Management (IAM) โดยไม่ต้องจัดการข้อมูลประจำตัวโดยตรงใน EC2 Instances ของคุณ

คุณสามารถใช้นโยบายตามทรัพยากร IAM เพื่อควบคุมและตรวจสอบได้ว่าใครและสิ่งใดบ้าง (เช่น EC2 Instance) ที่สามารถเข้าถึงอิมเมจคอนเทนเนอร์ของคุณ รวมถึงวิธีการ เวลา และตำแหน่งที่ตั้งที่สามารถเข้าถึงได้ หากต้องการเริ่มต้นใช้งาน ให้ใช้ AWS Management Console สร้างนโยบายตามทรัพยากรให้กับคลังของคุณ หรือคุณอาจใช้นโยบายตัวอย่างและแนบเข้ากับคลังของคุณผ่าน Amazon ECR CLI ก็ได้

ใช่ ต่อไปนี้เป็นตัวอย่างวิธีสร้างและกำหนดนโยบายสำหรับการแชร์อิมเมจข้ามบัญชี

คุณสามารถเปิดใช้งาน Amazon ECR เพื่อสแกนอิมเมจคอนเทนเนอร์ของคุณได้โดยอัตโนมัติเพื่อตรวจหาช่องโหว่รูปแบบต่าง ๆ ของระบบปฏิบัติการ คุณยังสามารถสแกนอิมเมจได้โดยใช้คำสั่ง API และ Amazon ECR จะแจ้งให้คุณทราบผ่าน API และใน Console เมื่อการสแกนเสร็จสิ้น คุณสามารถเปิด Amazon Inspector เพื่อการสแกนภาพที่ดียิ่งขึ้นได้