接下來我們要完成以下練習在新加坡地區 VPC
登入AWS 管理控制台,選擇VPC服務,進入VPC控制台,要先注意自己在那一個地區,選離自己區域比較接近的地區,當然也可以考慮成本,因為不同地區的計費方式是不同的,另一個考量點是應用程式要服務的地區,作者比較喜歡在新加坡地區作業,接著新增VPC的方法可以是透過控制台所提供的精靈(Launch VPC Wizard),也可以全部手動完成,本次選擇手動完成,所以按下Your VPCs。
圖一、VPC儀表板畫面
Name tag: ithomeVPC
IPv4 CIDR block: 172.16.0.0/16
圖二、輸入Name Tag跟IPv4 CIDR block就可以建立一個VPC
因為公有網路的IP位址有限,所以在設定時可以設定可用 IP 少一點,所以設定為 172.16.0.0/26, 172.16.0.64/26 這兩個網段。對於剛學習 AWS 的使用者而言,比較容易覺得困惑的是為何這個網段是私有 IP 的網段,考量安全起見, AWS 是不會直接讓使用者設定公開 IP 網段的,所以不管是公開子網還是私有子網,都是在 VPC 的網段中,唯一的差別是路由表,如果是連接 IGW (Internet Gateway) 的路由就屬於公開子網,若是沒有特別指定或是指定 NAT gateway 或NAT instance 的路由,就屬於私有子網,在後續的設定中可以看到。
回到VPC控制主畫面,選擇左邊選單的Subnets,接著點選Create subnet
圖三、建立子網
建立子網時需輸入名稱、所屬VPC、所在的可用區以及IPv4 CIDR block,從圖四中可以看到,在輸入 VPC 時,可以發現會顯示前面一個 vpc-XXXXXXXXXXX 的字串,這是 VPC ID ,如果我們用SDK或是CLI來存取時,需要指定這各字串,而非我們先前指定的 ithomeVPC, AWS 的資源都是要透過它們所指定的ID來存取。從畫面中也可以看出在新加坡地區有三個可用區,分別是ap-southeast-1a, ap-southeast-1b, ap-southeast-1c,不難從命名中發現它的規則 ap - Asia pacific 亞太, southeast 東南區,而1則是只第一個建立 AWS 服務的地區,新加坡是 ap-southeast-1 ,雪梨是 ap-southeast-2,而接下來的a, b, c 則是它的可用區。
公有子網 1
Name tag: ithome public subnet 1
VPC* : vpc-0bb7004b67556d0da | ithomeVPC
Availability Zone : ap-southeast-1a (apse1-az2)
IPv4 CIDR block* : 172.16.0.0/26
圖四、設定子網內容
依照這個方式我們繼續設定其它的三個子網
公有子網 2
Name tag: ithome public subnet 2
VPC* : vpc-0bb7004b67556d0da | ithomeVPC
Availability Zone : ap-southeast-1b (apse1-az1)
IPv4 CIDR block* : 172.16.0.64/26
私有子網 1
Name tag: ithome private subnet 1
VPC* : vpc-0bb7004b67556d0da | ithomeVPC
Availability Zone : ap-southeast-1a (apse1-az2)
IPv4 CIDR block* : 172.16.1.0/24
私有子網 2
Name tag: ithome private subnet 2
VPC* : vpc-0bb7004b67556d0da | ithomeVPC
Availability Zone : ap-southeast-1b (apse1-az1)
IPv4 CIDR block* : 172.16.2.0/24
圖五、觀察子網建立狀況
建立完四個子網後,記得務必再觀察建立狀況,如果沒錯的話應該可以在子網功能畫面中看到四個子網,選擇其中一個子網 ithome public subnet 1 後,觀察下方的詳細資料,選擇 Route Table 頁籤,可以看到預設的路由表示 172.16.0.0/16,所以正常來說,在哪一個子網開啟一個 EC2 ,在其它三個子網都是可以存取的到的
可以發現上述的四個子網除了 IPv4 CIDR block 有所不同外,其它設定幾乎相同,那公有子網跟私有子網有何差別?所以我們要設定的就是路由表,凡是公有子網的子網,都必須加上 IGW 這條路由規則,所以要先建立一個新的 IGW (PS :如果已有當然也可以直接使用)。進入VPC的管理控制台,選擇左手邊的 Internet Gateways 後再按下右手邊的 Create internet gateway就會進入新增畫面,只要輸入VPC的名稱即可。
Name tag: ithomeIGW
圖六、新增Internet Gateways
接著需要把這個新增的 ithomeIGW 綁定在目前的這個 VPC 上,進入 Internet Gateways 的瀏覽畫面(圖七),可以發現剛剛建立的 ithomeIGW 的狀態是未連接 (Detached),所以必須要把它連接到 ithomeVPC ,按下 ithomeIGW 的 Internet gateway ID,就可以進入圖八進行設定。
圖七、Internet Gateways 瀏覽畫面
圖八、ithomeIGW 綁定 VPC 畫面
新增一個路由表提供公有子網對外的連線規劃,選擇左手邊的 Route Tables 後再按下右手邊的 Create route table就會進入新增畫面,輸入路由表的名稱與對應的 VPC 即可。
Name tag: ithomePublicRouteTable
VPC*: vpc-0bb7004b67556d0da | ithomeVPC
圖九、新增路由表畫面
接下來要做的就是設定路由表以及將兩個公有子網關連到這個路由表。1.選擇左手邊的 Route Tables 後再2.選擇剛剛新增 ithomePublicRouteTable ,3.按下 Routes 後,4.按下Edit routes按鈕,會進入編輯路由畫面,按下 Add Route 按鈕後新增一條路由內容如下:
Destination: 0.0.0.0/0
Target: Internet Gateway -> ithomeIGW -> igw-032fe67ddb97f43c3
圖十、設定路由表畫面
儲存該路由後,再選擇 5. Subnet Associations 頁籤來設定公有子網關聯,按下 Edit subnet sssociations,進入設定子網關聯畫面,因為這各路由是設定給公有子網的,所以要把兩個公有子網 ithome public subnet 1 和 ithome public subnet 2 建立關聯,這樣就算是完成整個 VPC 的網路規劃
圖十一、設定子網關聯畫面
其實還有私有子網也有設定,但這一部分留到介紹 EC2 時再來說明,因為安全組也還沒做好。
目前 AWS 完成進度如圖十二
圖十二、目前 AWS 完成進度