AWS ECS ECR / Triển khai docker image lên AWS ECS

AWS Aug 19, 2021
Giải pháp giúp cho việc triển khai container image lên AWS dễ dàng

Video thực hành: https://youtu.be/ZjArofRKPsc

1. ECR - Elastic Container Registry.

Một dịch vụ AWS, giống như một kho giúp cho việc lưu trữ, chia sẻ, quản lý, triển khai các container images ở bất cứ đâu.

Lợi ích:
-Bảo mật.
-Dễ dàng làm việc, thao tác, sử dụng.
-Dễ dàng thao tác và kết hợp với các dịch vụ,dứng dụng khác: ECS, EKS, AWS CLI ...
-Dễ dàng chia sẻ công khai, hoặc riêng tư (public/private).

Tóm lại ECR như một kho để bạn đẩy image lên và sử dụng ở nhiều môi trường
Ví dụ sử dụng : docker run -p 80:80 ECR-URI

2. ECS - Elastic Container Service

-Một dịch vụ AWS, giúp cho việc dễ dàng triển khai, quản lý, mở rộng docker image trong ứng dụng trên AWS.
-Có thể khai báo tài nguyên theo nhu cầu sử dụng, nó sẽ giúp triển khai các ứng dụng lên phù hợp túi tiền.

Ví dụ server cấu hình bao nhiêu, Ram bao nhiêu cho các container image, storage bao nhiêu, ports.

Lợi ích:

-Dễ cài đặt, vận hành, mở rộng cơ sở hạ tầng nhanh chóng máy chủ, cụm máy chủ.
-Dễ dàng quản lý, mở rộng, tối ưu các container image theo quy trình.
-Khả năng mở rộng rất cao, kết hợp với các dịch vụ, tính năng khác dễ dàng : VPC, IAM, Elastic Load Balancing, EBS Volumns

3. Hướng dẫn triển khai hệ thống lên AWS sử dụng ECR, ECS

(*).Bước 1 - Đẩy image lên ECR

1- Cài đặt môi trường AWS CLI (version 2.2.*):

https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-linux.html

2- Đăng nhập AWS ECR bằng AWS CLI:

aws ecr get-login-password --region [enter-region] --profile [enter-profile] | docker login --username AWS --password-stdin [enter-account-id].dkr.ecr.[enter-region].amazonaws.com

3. Tạo ECR bằng AWS CLI: 1 ECR cho NGINX , 1 ECR cho PHP FPM

aws ecr create-repository --repository-name laravel-fpm-repo --region us-east-1 --profile [enter-profile]
aws ecr create-repository --repository-name laravel-fpm-repo --region us-east-1 --profile [enter-profile]

4. Khai báo image vào docker-compose file:

image:[enter-repositoryUri]

5. Build images và push images lên ECR:

docker-compose build fpm
docker-compose build nginx
docker-compose push fpm
docker-compose push nginx

6. Kiểm tra lại trên ECR trên AWS ECR.

(2)Bước 2 -  Khởi động ECS

1. Tạo task definitions

(*) Đăng ký các containers cho PHP-FPM, NGINX

Đăng ký container cho PHP FPM
Đăng ký container cho NGINX

2. Tạo ECS Cluster

Thêm thông tin cần thiết: Cluster name, EC2 instance type, key pair

3. Tạo service

Điền thông tin cần thiết sau: Launch type, Task Definition,Service name, Number of tasks

4. Kiểm tra tiến trình deployment là Completed (Rollout state)

(*) Bước 3 - Kiểm tra hệ thống

Lời kết: Trên đây là khái niệm chung và hướng dẫn thực hành đơn giản để sử dụng dịch vụ của AWS ECS, ECS. Mình hy vọng sẽ giúp bạn hiểu sơ qua về 2 dịch vụ này. Cảm ơn bạn đã đọc đến đây. Hãy lướt thêm các bài viết khác bên dưới về AWS của mình nhé !! Thank you chiu chiu ...
Sourse code tham khảo : https://bitbucket.org/cuongdev-163/docker-nginx.git

Chưa hết, nếu đọc chữ mình chán quá có thể xem video thực hành nhé:
https://youtu.be/ZjArofRKPsc

Tags

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.