Friday, November 22, 2024

[AWS] Virtual Private Cloud (VPC) của Amazon Web Services

-

1. Tổng quan.

VPC (Virtual Private Cloud) là một dịch vụ của Amazon Web Services (AWS) cho phép tạo một môi trường mạng riêng tư trên đám mây của Amazon. VPC cho phép bạn cấu hình các thiết lập mạng như IP range, route table, security group, và network ACL. Bạn có thể chọn các thiết lập mạng riêng tư cho các tài nguyên của mình và chỉ cho phép truy cập từ một số địa chỉ IP được chọn.

VPC là một môi trường mạng riêng tư trên đám mây của Amazon, cho phép bạn cấu hình các thiết lập mạng như IP range, route table, security group, và network ACL. VPC cung cấp một cách để bạn chủ động quản lý và bảo vệ các tài nguyên của mình trên đám mây.

IP range: Bạn có thể chọn một phạm vi IP cho VPC của mình. Phạm vi IP này sẽ là các địa chỉ IP mà các tài nguyên trong VPC của bạn sẽ sử dụng.

Route table: Route table cho phép bạn quản lý luồng dữ liệu giữa các tài nguyên trong VPC và Internet hoặc các VPC khác. Bạn có thể tạo các route để chuyển tiếp dữ liệu tới các địa chỉ IP cụ thể hoặc các tài nguyên khác trong VPC.

Security group: Security group cho phép bạn chọn quyền truy cập cho các tài nguyên trong VPC. Bạn có thể chỉ định quyền truy cập từ các địa chỉ IP cụ thể hoặc các security group khác.

Network ACL: Network ACL cho phép bạn chọn quyền truy cập cho các tài nguyên trong VPC từ các địa chỉ IP cụ thể. Network ACL là một tầng bảo vệ bổ sung cho các security group và cho phép bạn chỉ định quyền truy cập cho từng subnet trong VPC.

VPC cải thiện tính bảo mật và riêng tư cho các tài nguyên của bạn trên đám mây và cho phép bạn có đầy đủ kiểm soát về các thiết lập mạng của mình. Nó cũng cho phép bạn tạo các kết nối VPN để kết nối VPC của bạn với các môi trường mạng riêng tư trong công ty hoặc các đối tác. VPC còn hỗ trợ cho việc tạo ra các subnet để tạo các môi trường mạng riêng tư cho các tài nguyên khác nhau trong VPC.

VPC còn hỗ trợ cho việc tạo ra các Internet Gateway (IGW) để cho phép tài nguyên trong VPC kết nối với Internet, hoặc tạo ra các Virtual Private Gateway (VGW) để kết nối VPC với môi trường mạng riêng tư của bạn thông qua VPN. Bạn có thể sử dụng Elastic IP để cấp địa chỉ IP tĩnh cho tài nguyên trong VPC để truy cập Internet hoặc các tài nguyên khác.

Bạn cũng có thể tạo ra các Elastic Network Interface (ENI) để cấp thêm các địa chỉ IP cho tài nguyên trong VPC, hoặc sử dụng các Elastic Load Balancer (ELB) để phân phối lưu lượng giữa các tài nguyên trong VPC.

Tổng quan, VPC là một công cụ quan trọng để quản lý và bảo vệ các tài nguyên trên đám mây của Amazon, cho phép bạn cấu hình các thiết lập mạng theo nhu cầu của mình và cung cấp một cách để tạo ra các môi trường mạng riêng tư và an toàn.

Có một số tính năng khác của VPC mà tôi có thể kể cho bạn nếu bạn muốn:

  • VPC Peering: cho phép bạn kết nối hai VPC khác nhau trên cùng một tài khoản hoặc tài khoản khác, giúp cho việc quản lý và bảo vệ tài nguyên trên đám mây trở nên dễ dàng hơn.
  • VPC Flow Logs: cho phép bạn ghi lại và theo dõi các gói tin mạng truyền qua các ENI và IGW trong VPC, giúp cho việc theo dõi và giải quyết các vấn đề bảo mật và mạng trở nên dễ dàng hơn.
  • Security Group và Network Access Control List (ACL): cho phép bạn cấu hình các quy tắc truy cập mạng để bảo vệ tài nguyên trong VPC khỏi các cuộc tấn công bên ngoài.

2. Thực hành.

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.

Bước 1: Tạo 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 : vpc.hoanghd.com, 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 : vpc.hoanghd.com
  • IPv4 CIDR Block: 10.10.0.0/16
  • Tenancy: Default

Vào cấu hình VPC thứ tự như hình:

Vào Create VPC.

Hãy điền các thông tin về VPC của bạn.

Và kéo xuống dưới chọn Create VPC.

Bạn sẽ nhận được 1 thông báo tạo VPC thành công.

Bước 2: Tạo các Subnet.

Trong phần này mình tạo 2 Subnet đánh dấu public và private với thông tin như sau:

  • vpc.hoanghd.com.1a.public (Public Subnet)
  • vpc.hoanghd.com.1b.private (Private Subnet)

+ Tạo Subnet Public

  • Name Tagvpc.hoanghd.com.1a.public
  • VPC : vpc.hoanghd.com
  • Availability Zone : us-east-1a
  • IPv4 CiDR Block: 10.0.1.0/24

Vào tạo subnet mới với thao tác thứ tự như sau.

Điền thông tin Public subnet cần tạo.

+ Tạo Subnet Private

  • Name Tagvpc.hoanghd.com.1b.private
  • VPC : vpc.hoanghd.com
  • Availability Zone : us-east-1b
  • IPv4 CiDR Block: 10.10.2.0/24

Điền thông tin Private subnet cần tạo.

Và đây là kết quả khi tạo xong Public subnet và Private subnet

Bước 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ụ: vpc.hoanghd.com.igw, dành cho VPC vpc.hoanghd.com đã tạo ở trên.

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

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

Bạn sẽ thấy 1 vpc vpc.hoanghd.com.igw được tạo ra như mục 1 hình dưới. Thực hiện gắn Internet Gateway vừa tạo vào VPC ‘vpc.hoanghd.com‘. Chọn “Internet Gateway” và click “Actions” > “Attach to VPC“ như mục 2 hình dưới.

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

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

Bước 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: vpc.hoanghd.com.public.rt. Chọn “Route Tables” > “Create route table“.

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

Bạn sẽ thấy 1 route table mới như mục 1 hình dưới. 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: vpc.hoanghd.com.1a.public. Các bạn thực hiện lần lượt theo mục 2, 3 mình đánh dấu ở hình dưới.

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

Bạn sẽ thấy 1 subnet được thêm vào route table.

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

Với thông tin route default đi về Internet Gateway vpc.hoanghd.com.igw . Còn phần route local private mặc định sẽ chạy về local router tự định tuyến rồi. Để thực hiện, bạn hãy bấm vào Add route.

Tại tab Destination ta trỏ defaul route 0.0.0.0/0 và tab Target chọn Internet Gateway.

Tại đây AWS sẽ list cho bạn các internet gateway đã có sẵn để bạn chọn.

Sau khi chọn internet gateway xong bạn hãy lưu lạ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.

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.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories