# AWS VPC with subnet 在 AWS 的服務中,可以透過 [AWS Virtual Private Cloud](https://docs.aws.amazon.com/zh_tw/vpc/latest/userguide/what-is-amazon-vpc.html) 來把部署的運算資源做有效的管控以及隔離 ## AWS subnet 每當開啟一個 VPC 時,預設會開啟一個網路區段的空間來配置資源 舉例來說: 一般會是 10.0.0.0/16 代表有 16bit 被 lock 只剩 16bit 可分配 而 VPC 內會在把該網路區段隔離成多個更小的子網段稱為 subnet 舉例來說: 以下圖來說,切隔成 10.0.1.0/24 與 10.0.2.0/24 兩個子網段  且在假設都在相同網段且相同 Available Zone 的子網段彼此可以相通 而其中兩個子網段的連通性會根據其設定 route table 來做路由處理 比如說 路徑是在 10.0.1.x 的 target 會被導向 local 而 public subnet 因為有設定連接到 Internet Gateway 所以 route table 可以解析外部的 request 所以跟外部做互通 一般會把 Subnet 有沒有連接到 Internet Gateway 與否分成兩種 Subnet ### Public Subnet 一般會放置需要接收外部 request 的服務的比如 front-end web server 或是 api server ### Private Subnet 一般會放置不需要對外的服務,比如內部 cronjob 或是 ETL 等等內部服務 甚至是 DB service 通常也會配置 private subnet 並且限定特殊 Security Group 存取 ### 一般的 High Availability 配置 為了避免因為單一 Available Zone 出事導致服務無法運行 通常會把一個服務配置到兩個不同 Available Zone 的地方  以上圖來說 AZ1, AZ2, AZ3 只要還有兩個 AZ 有正常 服務就可以正常運行 ## IP 小知識 當 subnet 為 10.0.1.0/24 時,代表有 24bit 被 lock 只剩下 (32-24) = 8 bit 可以使用 所以代表有 2^8 = 256 個 ip 可以用 然而以下有幾個特殊的 IP是無法使用的 10.0.1.0 ---> NETWORK ADDRESS 用來界定 subnet 10.0.1.1 ---> AWS ROUTING 10.0.1.2 ---> AWS DNS 10.0.1.3 ---> AWS FUTURE 10.0.1.255 ---> BROADCAST 所以實際上能使用的只有 256 - 5 = 251 個 ip
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up