Tạo ECR, tạo Image và đẩy Image

Tạo ECR, tạo Image và đẩy Image

Trong bước này chúng ta sẽ tiến hành tạo ECR, sau đó sẽ tiến hành tạo ra image và đẩy lên ECR này để có thể sử dụng trong việc khởi tạo Lambda.

  1. Truy cập giao diện console
  • Tìm kiếm ECR.
  • Chọn ECR.

ECR

  1. Tại trang ECR, nhấn chọn Create.

ECR

  1. Tại trang Create Repository.
  • Ở dòng Visibility settings:

    • Private: Nếu bạn muốn repository của bạn là private
    • Public: Nếu bạn muốn repository của bạn là public
  • Ở dòng Repository name, điền tên của repository mà bạn muốn, ở đây mình sẽ điền django-serverless-demo

  • Ở dòng (Optional) Image scan settings:

    • Đây là tùy chọn cho phép bạn bật tính năng quét hình ảnh (image scanning) để kiểm tra các lỗ hổng bảo mật có thể có trong các image mà bạn đẩy lên repository. Nếu được bật, hệ thống sẽ tự động quét các image và đưa ra báo cáo về các lỗ hổng được phát hiện. Điều này rất hữu ích nếu bạn muốn đảm bảo an toàn cho các image trước khi sử dụng chúng trong môi trường sản xuất.
  • Ở dòng (Optional) Encryption settings:

    • Đây là tùy chọn cho phép bạn bật mã hóa cho các image được lưu trữ trong repository. Khi bật mã hóa, tất cả các image sẽ được mã hóa trước khi được lưu trữ, giúp bảo vệ dữ liệu khỏi các truy cập trái phép. Bạn có thể sử dụng khóa mã hóa do AWS quản lý hoặc tự quản lý khóa mã hóa của mình để kiểm soát bảo mật cao hơn.
  • Ở dòng (Optional) Tag Immutability:

    • Đây là tùy chọn cho phép bạn bật tính năng không thay đổi tag (tag immutability). Khi bật tính năng này, một khi một tag đã được gán cho một image, tag đó sẽ không thể được thay đổi hoặc gán lại cho một image khác. Điều này giúp đảm bảo tính toàn vẹn của các phiên bản image, tránh việc vô tình ghi đè hoặc thay đổi các image quan trọng đã được gán tag.
  • Sau khi lựa chọn xong thì nhấn Create Repository ECR ECR

  1. Nhấn vào Repository vừa tạo.
  • Nhấn chọn View push command để có thể xem cách push image lên repository ECR ECR ECR
  1. Mở Terminal tại Source Code.
  • Đầu tiên ta sẽ login vào repository của mình
aws ecr get-login-password --region ap-southeast-1 | docker login --username AWS --password-stdin <acoount-id>.dkr.ecr.ap-southeast-1.amazonaws.com
  • Tiếp theo ta sẽ tiến hành build image với câu lệnh sau. Đối với các bạn xài Mac M1 nhưng muốn chạy kiến trúc x86_64 thì mình sẽ thêm –platform linux/amd64.
docker build --platform linux/amd64 -t django-serverless-demo -f docker/DockerfileLambda .
  • Cuối cùng là đánh tag cho image và push lên ECR:
docker tag django-serverless-demo:latest <acoount-id>.dkr.ecr.ap-southeast-1.amazonaws.com/django-serverless-demo:latest
docker push <account-id>.dkr.ecr.ap-southeast-1.amazonaws.com/django-serverless-demo:latest  

ECR

Tiếp theo chúng ta sẽ thực hiện tạo Lambda & API Gateway.