Tạo AWS VPC gồm Public Subnet và Private Subnet

776

Tạo AWS VPC gồm Public Subnet và Private SubnetCuongquach.com | Tiếp tục chuỗi bài về AWS VPC Networking, thì giờ chúng ta sẽ tìm hiểu cách tạo một Public Subnet và một Private Subnet như thế nào nhé ?! Đơn giản vì sao phải tìm hiểu cách tạo 2 subnet này, vì một kiến trúc hạ tầng mạng thường chỉ có vài Public IP Node là được phép access từ bên ngoài, còn lại đều phải nằm trong kiến trúc mạng nội bộ bên trong.

tao-aws-vpc-public-subnet-private-subnet

Mô hình Lab AWS VPC Public Subnet và Private Subnet

Trong bài viết này chúng ta sẽ kết hợp kiến thức của các phần gồm :

  • VPC
  • Subnet
  • Route Table
  • Internet Gateway
  • Elastic IP

Trong mô hình như dưới, chúng ta sẽ học cách cấu hình một Subnet trong VPC được phép truy cập Internet Public, còn subnet còn lại thì chỉ để trong lớp mạng private không ra Internet Public. Để dễ hình dung thì chúng ta sẽ đánh dấu subnet nào đi public là SubnetPublic còn Subnet nào dùng private thôi thì là Subnet Private.

Lab AWS VPC Public Subnet và Private Subnet
Lab AWS VPC Public Subnet và Private Subnet

1. Tạo một VPC

Ở phần này bạn có thể tham khảo chi tiết lại bài viết : Hướng dẫn tạo AWS VPC và AWS VPC Subnet , mục VPC nhằm hướng dẫn cách tạo VPC.

Trong bài lab này thì mình sẽ tạo một VPC tên : prod.cuongquach.main , dùng để quy hoạch toàn bộ network subnet cho các ứng dụng của sản phẩm chẳng hạn. Lớp mạng thì mình cho theo ý của mình.

Thông tin VPC:

  • Name Tag : prod.cuongquach.main
  • IPv4 CIDR Block: 10.110.0.0/16
  • Tenancy: Default
tạo vpc aws
tạo vpc aws

2. Tạo các Subnet

Ở phần tạo các Subnet bạn có thể tham khảo chi tiết tại bài viết : Hướng dẫn tạo AWS VPC và AWS VPC Subnet, mục Subnet để hiểu rõ quy trình tạo chuẩn về Subnet trong VPC giữa các Availability Zones.

Trong bài lab này mình sẽ tạo 2 Subnet đánh dấu public và private để dễ phân biệt khi lab gồm :

  • prod.cuongquach.web.1a.public (Public Subnet)
  • prod.cuongquach.web.1b.private (Private Subnet)

+ Tạo Subnet Public

  • Name Tag: prod.cuongquach.web.1a.public
  • VPC : prod.cuongquach.main
  • Availability Zone : ap-southeast-1a (Singapore Region)
  • IPv4 CiDR Block: 10.110.4.0/22
tạo vpc subnet public
tạo vpc subnet public

+ Tạo Subnet Private

  • Name Tag: prod.cuongquach.web.1b.private
  • VPC : prod.cuongquach.main
  • Availability Zone : ap-southeast-1b (Singapore Region)
  • IPv4 CiDR Block: 10.110.8.0/22
tạo vpc subnet
tạo vpc subnet

3. Tạo Internet Gateway

Giờ chúng ta sẽ tạo Internet Gateway, chỉ định gateway dành cho các Instance sở hữu địa chỉ IP Public biết đường đi ra Internet Public từ các Subnet trong VPC của bạn.

Đầu tiên ta chọn tạo “Internet Gateway” với thông tin tên ví dụ : prod.cuongquach.main.igw , dành cho VPC ‘prod.cuongquach.main‘ đã tạo ở trên.

Chọn “Internet Gateway” bên pannel trái > “Create Internet Gateway“.

tạo vpc internet gateway
tạo vpc internet gateway

Nhập tên của Internet Gateway và chọn “Create” để tiến hành khởi tạo.

Thực hiện gắn Internet Gateway vừa tạo vào VPC ‘prod.cuongquach.main‘. Chọn “Internet Gateway” và click “Actions” > “Attach to VPC“.

tạo vpc internet gateway 2
tạo vpc internet gateway 2

Chọn VPC mà ta mong muốn attach IGW vào.

tạo vpc internet gateway 3
tạo vpc internet gateway 3

Sau khi gắn IGW vào VPC, thì trạng thái sẽ là ‘attached‘.

tạo vpc internet gateway 4
tạo vpc internet gateway 4

4. Thêm route ở Public Subnet

Để các Instance được tạo ở Public Subnet có thể kết nối ra ngoài Internet thì bạn cần tạo một Route Table riêng để cấu hình thông tin định tuyến cho Subnet đó. Do ta tránh chỉnh sửa trực tiếp Route Table default.

Tạo một Route Table tên : prod.cuongquach.web.public.rt . Chọn “Route Tables” > “Create route table“.

tạo route table 1
tạo route table 1

Nhập thông tin tên Route TableVPCRoute Table đó sẽ thuộc về.

tạo route table 2
tạo route table 2

Kế đến bạn cần gán Route Table đó cho một Subnet cụ thể mà bạn muốn. Với route table public này ta sẽ dùng cho Subnet public : prod.cuongquach.web.1a.public

tạo route table 3
tạo route table 3

Chọn Subnet public và nhấn “Save“.

tạo route table 4
tạo route table 4

Giờ bạn sẽ thêm route cho Route Table vừa tạo. Chọn Route Table và tab “Routes” > “Edit Routes“.

tạo route table 5
tạo route table 5

Với thông tin route default đi về Internet Gateway prod.cuongquach.main.igw . Còn phần route local private mặc định sẽ chạy về local router tự định tuyến rồi.

Chọn “Save routes” và hoàn tất việc add route default về Internet Gateway, như vậy nếu các Instance trong Subnet gặp route default là các IP Public Dest thì sẽ mặc định chạy về Internet Gateway đã gán cho VPC đó để đi Internet.

tạo route table 6
tạo route table 6

Bạn cũng đã hoàn tất việc khởi tạo VPC Subnet Private Subnet Public.

Bước 5 : gán IP public cho EC2 Instance

Ở phần này chỉ là nhắc lại bạn những lưu ý sau :

  • Subnet/ VPC dù đã có Internet Gateway và route về IGW nhưng nếu EC2 Instance không có địa chỉ IP Public để sử dụng thì cũng không thể đi Internet, đó là điều hiển nhiên.
  • Bạn có thể gán IP Public cho EC2 Instance với 2 kiểu : 1 là Elastic IP , 2 là IPv4 Public tự động của AWS.
  • Bạn đã có thể tạo EC2 Instance trong 2 subnet cụ thể gồm : Subnet Public , có route đi ra Internet Public hoặc Subnet Private, không có route đi ra Internet Public nên ở trong mạng nội bộ mà thôi.

+ IPv4 Public tự động của AWS

Khi bạn tạo một Instance mới trong VPC và Subnet public ở trên , bạn có thể chọn “Auto-assign Public IP” để có địa chỉ IP.

+ Elastic IP

Bạn vui lòng xem lại bài viết này để có thể cấu hình Elastic IP : Hướng dẫn cài đặt Elastic IP cho Amazon EC2 Instance

Tổng kết

Vậy là bạn có thể tự trải nghiệm kiến trúc network VPC trên, bằng cách tự tạo các Instance trong các Subnet PrivatePublic rồi test mạng với nhau là xong. Chúc các bạn thành công.

Nguồn: https://cuongquach.com/

LEAVE A REPLY

Please enter your comment!
Please enter your name here