Basic Amazon Web Services P3
Hôm nay mình sẽ tiếp tục trình bày với các bạn Phần 3 Bài viết về AWS cơ bản giành cho người mới bắt đầu. Trong phần 2, mình đã hướng dẫn các bạn: Basic về VPC, Public subnet, Private subnet, Internet GateWay và NAT GateWay. Chi tiết các bạn có thể xem lại link bên dưới: ...
Hôm nay mình sẽ tiếp tục trình bày với các bạn Phần 3
Bài viết về AWS cơ bản giành cho người mới bắt đầu.
Trong phần 2, mình đã hướng dẫn các bạn: Basic về VPC, Public subnet, Private subnet, Internet GateWay và NAT GateWay.
Chi tiết các bạn có thể xem lại link bên dưới:
https://viblo.asia/p/basic-amazon-web-services-p2-bWrZnwnYlxw
Tiếp theo phần 2, hôm nay mình viết thêm phần 3.
Nội dung: ACL (Access control lis), SG (Sercurity Group), Instance EC2.
mô hình vẫn follow ở Phần 2
Ở phần 2, sau khi mình tạo VPC, Public subnet, Private subnet, Internet GateWay và NAT GateWay.
Bây giờ mình tiến hành Tạo ACL và SG nhé.
1. Khái niệm về ACL và SG ?
Network access control lists (ACLs)
Hoạt động giống như một tường lửa cho subnet, điều khiển lưu lượng truy cập ra vào mạng ở mức subnet
Có thể hiểu đơn giản, nó giống như ACL của router ở trên công ty vậy.
Security groups ?
Hoạt động giống như một tường lửa cho EC2 Instances, điều khiển lưu lượng truy cập ra vào mạng ở mức EC2 instance.
Có thể hiểu đơn giản, nó giống như firewall ở trên windows vậy
Sự khác nhau:
ACL:
- Quản lý lưu lượng vào ra ở mức Subnet,
- Hỗ trợ cả Allow Rule (Cho phép) và Deny Rule (Từ chối),
- AWS xử lý các rule theo thứ tự số khi quyết định có cho phép lưu lượng truy cập,
- Tự động áp dụng cho tất cả các instance trong subnet được liên kết với (do đó, bạn không phải dựa vào người dùng để chỉ định security group)
SG:
- Quản lý lưu lượng vào ra ở mức Instance
- Chỉ hỗ trợ Allow Rule (Cho phép)
2. Tạo ACLs
Tại thanh tìm kiếm, ta search từ khoá VPC.
Trong mục Security, ta lựa chọn Network ACLs
Tiến hành đặt tên và gán vào VPC ( VPC đã tạo ở Phần 2 rồi nhé )
https://viblo.asia/p/basic-amazon-web-services-p2-bWrZnwnYlxw
Sau khi tạo xong, ta Edit lại rules cho phù hợp.
Default khi tạo mới một ACLs, tất cả các rules sẽ bị deny.
à, để hiểu hơn về cách thức đặt rule.
Inbound: ở ngoài internet truy cập vào.
Outbound: đứng ở EC2 đi ra.
Ở ngoài internet vào - chúng ta muốn mở port nào thì ta mở.
Sau khi mở trên ACL thì mở thêm ở SG nữa nhé
ví dụ: ở ngoài ta muốn ssh vào ec2, thì tất nhiên phần inbound ta phải mở port 22 rồi
Trong trường hợp này, mình sẽ mở một số port cần thiết để chạy Frontend như là: 80/443, 22 (Port này để ssh đến)
Phía trên là phần set inboud rules, tiếp đến ta set thêm phần outbound nữa mới OK nhé
Trong phần outbound rules có thêm 1 rules mở port từ 32768 - 65535, đây là Ephemeral Ports.
ví dụ, mình có 1 web server,
client -> request đến -> Server
Xong
Server -> respone lại > client
thì quá trình respone này nó sẽ đính kèm thêm Ephemeral port nữa
Có thể tham khảo hình này nhé
Set outbount rules
3. Tạo Security Groups
SG cho phép quản lí lưu lượng, rules ở mức Instance (EC2)
Chính vì vậy, mình cũng phải nên set rules cho nó.
Tiến hành tạo SG,
Đặt tên và gán vào VPC
Set inbound rules
Set outbound rules
Như vậy thông qua mục (1) và mục (2) ta đã tạo được ACLs và SG
Nếu như bạn đọc cảm thấy khó hình dung thì ngẫm theo hướng này nhé
từ internet đi vào thì sẽ đi qua ACLs trước sau đó đến SG và đến EC2
Internet -> ACLs -> SG -> EC2
Như vậy, nếu ta mở port 22 để connect vào ec2 chẳng hạn, thì ta phải mở trên ACLs và trên SG luôn đúng không
Nếu mở ACLs mà không mở SG thì đâu đến được ec2 và ngược lại
Còn phần outboud (từ ec2 đi ra ngoài internet), đi ra thì SG cứ mở all cho nó đi thoải mái.
4. Tạo Instance (EC2)
Khái niệm: Nói một cách đơn giản thì Amazon Elastic Computer Cloud (Amazon EC2) hay còn gọi là Instance (Virtual Server)
-> Nó là một Cloud server, một Vitual Machine ...
-> Cũng giống như chúng ta dùng windows trên máy thì bây giờ mình connect vào môi trường cloud mình dùng thôi
Tiến hành tạo 1 con EC2
Tại thanh tìm kiếm, ta search EC2
Lựa chọn instance -> Lauch Instance
Lưu ý, trong khi làm lab thì ta chọn loại có chữ : "Free tier eligible", loại này AWS free cho chúng ta dùng trong khoảng 750 giờ
Lựa chọn type của Instance, loại mình đang chọn là t2.micro
Cách lựa chọn type theo nhu cầu thì các bạn có thể xem như bên dưới:
ví dụ:
dòng t thì thường dùng cho test,
dòng a thì genera, nó cân giữa RAM và CPU
dòng m, dòng r thì dùng cho máy sử dụng nhiều memory
dòng c thì dùng cho máy sử dụng CPU nhiều
dòng hs, dòng i thì dùng cho lưu trữ nhiều
...
Các bạn search để tìm hiểu thêm nhé:
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html
https://aws.amazon.com/ec2/instance-types/
lựa chọn type rồi next
Tại mục network, ta lựa chọn private subnet ( đã tạo ở phần 2)
https://viblo.asia/p/basic-amazon-web-services-p2-bWrZnwnYlxw
Note thêm một tí về lưu trữ EC2 trên AWS,
Theo như mình biết thì
Lưu trữ EC2 trên aws gồm 2 loại chính: EBS và Instance store.
Hãy tưởng tượng, chúng ta có một laptop và một hệ thống file server để lưu trữ riêng (SAM, FTP, ...) hoặc đơn giản là một ổ cứng rời.
lúc này phân vùng ổ cứng trên laptop của ta - có thể được gọi là Instance store.
Còn ổ cứng rời kia - có thể coi là EBS.
Thì sao ? ví dụ ổ cứng trên laptop của ta bị hỏng -> thì máy sẽ không khởi động được nữa.
Tuy nhiên nếu ta lưu trữ trên ổ cứng rời kia thì dù ổ cứng vật lí của laptop có hỏng
-> Ta vẫn có thể attach vào con laptop khác và sử dụng tiếp
Step 5, add tags - phần này có thể tag hoặc không cũng được.
Ví dụ mình để key = Name
Tag = lab-architect-subnet-private
Thì sau khi tạo xong ec2, mình check sẽ thấy name ec2 là: lab-architect-subnet-private
Tiếp đến là lựa chọn Security Group (SG)
Review lại rules, các thông tin cần thiết -> LAUCH
Tạo key để ssh từ client đến server ec2
Kết quả thành công ta sẽ thấy như thế này
Chúng ta thấy rằng IP ở EC2 này là private IP nhé, vì ban nãy ta đã chọn private subnet
Tương tự các bước trên, ta cũng tiến hành tạo 1 EC2 có public subnet
Kết quả:
So sánh với private subnet
Test KQ:
Đứng từ phía client, ta sẽ ssh đến server EC2 ( Server dùng public subnet)
Từ con server EC2 (public subnet), ta tiến hành ssh sang Server EC2 (private subnet)
Kết quả OK
Vâng, thì bài viết của mình đến đây là kết thúc rồi.
Trong phần tiếp theo, phần 4 mình sẽ viết về Load Blancing
Bài viết mình cũng còn khá sơ sài và basic, bạn đọc thấy phần nào không ổn thì comment trao đổi để tốt hơn nhé..
Thank you !
Nguồn tham khảo:
https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html
https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html
https://aws.amazon.com/ec2/instance-types/
https://vinasupport.com/tim-hieu-ve-network-acls-layer-bao-mat-vpc/