Tổng quan về VPC
Virtual Private Cloud là gì ?
Amazon Virtual Private Cloud (Amazon VPC) là dịch vụ cho phép bạn khởi chạy các tài nguyên AWS trong mạng ảo cô lập theo logic mà bạn xác định. Bạn có toàn quyền kiểm soát môi trường mạng ảo của mình, bao gồm lựa chọn dải địa chỉ IP, tạo các mạng con, cấu hình các bảng định tuyến và cổng kết nối mạng. Bạn có thể dùng cả IPv4 và IPv6 cho hầu hết các tài nguyên trong đám mây riêng ảo, giúp bảo mật nghiêm ngặt và truy cập dễ dàng các tài nguyên cũng như ứng dụng.
Là một trong các dịch vụ nền tảng của AWS, Amazon VPC sẽ giúp bạn dễ dàng tùy chỉnh cấu hình mạng của VPC. Bạn có thể tạo một mạng con công khai cho các máy chủ web có quyền truy cập internet. Dịch vụ này cũng cho phép bạn đặt các hệ thống backend, như máy chủ ứng dụng hoặc cơ sở dữ liệu, trong mạng con riêng tư không có quyền truy cập internet. Với Amazon VPC, bạn có thể sử dụng nhiều lớp bảo mật, bao gồm các nhóm bảo mật và danh sách kiểm soát truy cập mạng, để giúp kiểm soát quyền truy cập vào các phiên bản Amazon EC2 trong mỗi mạng con.
Các thành phần của VPC
IPv4 and IPv6 address blocks
VPC IP address ranges được định nghĩa bằng Classless interdomain routing (CIDR) blocks. Bạn có thể thêm primary và secondary CIDR blocks vào VPC, nếu như secondary CIDR block có cùng address range với primary block.
AWS khuyến nghị sử dụng CIDR blocks từ private address ranges được định nghĩa trong RFC 1918:
Subnet
Subnet, được hiểu là 1 sub network (mạng con ảo). Sau khi tạo 1 VPC, bạn có thể thêm một hoặc nhiều subnet (mạng con) trong mỗi Availability Zone. Khi bạn tạo 1 subnet, bạn cần chỉ định khối CIDR cho subnet đó. Mỗi subnet phải nằm hoàn toàn trong 1 Availability Zone và không thể kéo dài tới các zone khác. Các Availability Zone là các vị trí riêng biệt được thiết kế để cách ly để tránh bị ảnh hưởng khi các zone khác gặp vấn đề.
Có 2 loại subnet:
- Public Subnet: là 1 subnet được định tuyến tới 1 internet gateway. 1 instance trong public subnet có thể giao tiếp với internet thông qua địa chỉ IPv4 (public IPv4 address hoặc Elastic IP address).
- Private Subnet: Ngược với Public Subnet, Private Subnet là một subnet không được định tuyến tới một internet gateway. Bạn không thể truy cập vào các instance trên một Private Subnet từ internet.
Route tables
Là bảng định tuyến, bao gồm một tập hợp các rule (được gọi là route), được sử dụng để xác định đường đi, nơi đến của các gói tin từ mạng con hay gateway.
Internet connectivity
- Internet Gateway: là một thành phần cho phép giao tiếp giữa VPC và Internet. Nói một cách dễ hiểu hơn là một server trong VPC muốn giao tiếp được với Internet thì cần có Internet Gateway.
- NAT Gateway: là một thành phần cho phép server ảo trong mạng private có thể kết nối tới Internet hoặc dịch vụ khác của AWS nhưng lại ngăn không cho Internet kết nối đến server đó.
- NAT Instance: là một server ảo được chúng ta tạo ra và quản lý có chức năng tương tự như NAT Gateway. Bạn có thể tham khảo sự khác nhau giữa NAT Gateway và NAT Instance được mô tả chi tiết tại đây
Elastic IP addresses
Là một địa chỉ public IPv4, có thể kết nối được từ Internet được sử dụng cho:
- EC2 instance
- AWS elastic network interface (ENI)
- Một số service khác cần public IP address
Network/subnet security
AWS cung cấp hai tính năng mà bạn có thể sử dụng để tăng cường bảo mật trong VPC của bạn: Security Group và Network ACLs .
- Security Group kiểm soát lưu lượng vào và ra cho các instance
- Network ACL giúp kiểm soát lưu lượng truy cập vào và ra cho subnet.
Một số networking services khác
- Virtual Private Networks (VPNs)
- Direct connectivity between VPCs (VPC peering)
- Gateways
- Mirror sessions
Một số VPC scenarios thường được sử dụng
Scenario 1 - VPC with a single public subnet
Thông tin chi tiết: https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Scenario1.html
Scenario 2 - VPC with public and private subnets (NAT)
Thông tin chi tiết: https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Scenario2.html
Scenario 3 - VPC with public and private subnets and AWS Site-to-Site VPN access
Thông tin chi tiết: https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Scenario3.html
Scenario 4 - VPC with a private subnet only and AWS Site-to-Site VPN access
Thông tin chi tiết: https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Scenario4.html
Thực hành bài lab với scenario 1
Tạo VPC
Tạo 2 public subnet ở 2 availability zone khác nhau
Tạo subnet lab-larchitect-public-a tại us-east-1a:
Tạo subnet lab-larchitect-public-b tại us-east-1b:
Tạo custom route table
Gán subnet đến route table vừa tạo:
Tạo Internet Gateway
Attach to VPC:
Gán Internet Gateway đến route table:
Tạo Network ACL cho public subnet
Gán ACL đến 2 subnet: