Ở bài viết trước chúng ta đã deploy project laravel sử dụng AWS ECS type EC2. Hôm nay chúng ta sẽ deploy dựa án laravel sử dụng AWS ECS type fargate.
Đầu tiên chúng ta cần tạo và push image của dự án lên ECR. Các bạn đọc bài viết Create docker image to AWS ECR để tạo và push các image cần thiết lên ECR trước.
Định nghĩa các container cần thiết để chạy project laravel, chúng ta sử dụng 2 container là laravel-nginx và laravel-fpm. Thiết lập các thông số name, role, compatibilities, operating system cho task
Thêm 2 container laravel-nginx và laravel-fpm
Đối với container sử dụng php-fpm chỉ cần khai báo container name và image name, không cần maping post 9000.
Tiếp theo thêm container laravel-nginx
Nginx container cần mapping post 80(http) vaf 443(https). Sau đó cần thiết lập mount volume cho container nginx với container laravel-fpm. Chúng ta cần tạo volume và config mount volume như sau:
Thiết lập mount volume /var/www
trong container laravel-nginx với /var/www
trong container laravel-fpm.
Thiết lập cloudWatch log
Thiết lập cloudWatch cho cả 2 container php và nginx. Như vậy là chúng ta đa thiết lập xong task difinition cho AWS ECS với type là FARGATE.
Tạo cluster sử dụng AWS Fargate
Đối với fargate cluster chỉ cần thiết lập cluster name, còn type ec2 sẽ cần config nhiều hơn
Ấn tạo cluster là xong.
Tiếp theo chúng ta sẽ tạo service để chạy các dịch vụ được khai báo trong task definition.
Thiết lập aws ecs fargate service
chọn launch type là fargate
Thiết lập network
Giờ chỉ việc ấn nút tạo service là xong. Khi server được tạo, các service aws cần thiết sẽ được chạy. Kiểm tra task chạy thành cômg
Kiểm tra 2 container được tạo
Public ip là địa chỉ ip, để bạn truy cập vào website.
Giá của ecs fargate tính theo giờ và cấu hình mà bạn setup
Như vậy là chúng ta đã deploy thành công dự án laravel lên ECS type FARGATE. Chúc bạn deploy thành công nhé.