Giới thiệu sơ qua về bản thân
Chào mọi người, mình là Hiệp 23 tuổi nhưng đã có 24 năm kinh nghiệm làm lập trình. Đợt này mình cũng mày mò tìm tòi thử cách deploy trang web lên các môi trường cloud và mình cũng muốn chia sẻ luôn với mọi người. Mình định làm một series về việc deploy, xây dựng môi trường trên cloud và có thể là tích hợp thêm việc tự động hóa CICD. Dưới đây là series đi sâu vào chi tiết việc tạo dựng môi trường trên cloud cũng như là tích hợp CICD và vô vàn những thứ nữa nên hãy để lại 1 like 1 đăng ký kênh để mình có thêm động lực nhé ❤️. Kiến thức mình còn hạn hẹp nên có gì mọi người cùng góp ý để mình hoàn thiện bài viết tốt nhất nhé.
Tổng quan về những việc mình sẽ làm trong series
Cấu hình môi trường AWS gồm các service Cloudfront, S3, EC2, CloudWatch, ElasticCache, RDS, Route53, Elastic Beanstalk cùng với đó là việc tích hợp gitlab CI để thực hiện CICD. Ngôn ngữ sử dụng PHP (Laravel) và ReactJS ( Series này chủ yếu đi vào việc cấu hình hệ thống cũng như là tích hợp CICD nên mình sẽ không đi sâu vào ngôn ngữ. Cho nên ai không biết PHP hay ReactJS thì vẫn hoàn toàn làm theo được nha )
Mô tả qua về các phần trong series cũng như là hệ thống hệ thống:
- Mình sẽ tạo ra 1 Cloudfrond gồm 3 origin 1 fe ( nằm trên S3 ), 1 be ( nằm trên EC2 ), 1 là các file upload ở trên S3.Tạo 1 VPC gồm 1 private subnet và 1 public subnet. Tạo 1 EC2 là bastion trên private subnet và 1 EC2 là server trên public subnet. Bastion đươc dùng để ssh, ta sẽ không thể ssh vào thẳng vào server gốc mà ta phải tạo tunnel thông qua bastion, nghĩa là ta chỉ có thể truy cập vào sever ec2 thông qua bastion và server ec2 sẽ chỉ allow giao thức tcp 22 của ip của bastion.
- Cấu hình server EC22 gồm Nginx, PHP
- Dùng gitlab CI để tích hợp CICD vào hệ thống
- Cấu hình file .env để tích hợp ElasticCahe, RDS vào hệ thống
- Tiến hành mua domain và tích hợp domain vào hệ thống
- Đổi http thành https
- Tận hưởng thành quả và đôi lời gửi gắm
Tổng kết
Nếu bạn thấy hay hãy cho mình một upvote để cho mình thêm động lực làm nha. Ngoài ra mình tạo ra series này để giúp mọi người có thêm góc nhìn về AWS nên nếu và mình cũng vừa làm vừa tìm hiểu nên là nếu có bất kỳ chỗ nào chưa đúng thì đừng ngần ngại comment cho mình sửa nhé