# VPC實作 ###### tags: `GCP實作` ## :rocket: 2: 〖實作示範〗VPC外網 - Public VM to the Internet (default internet gateway) ### Step1: 建立VPC   ### Step2: 建立VM       將network修改成剛剛建立的vpc  ### Step3: 回到VPC  - 進到VPC頁面可以看到預設的rule,他們被放到network default上 - 我們剛剛建立新的vpc,這些都沒有被套用 - 但在gpc中有兩個Rule一定會套用到所有vpc上 1. 阻擋外部請求 2. 允許VM出去請求 **這兩個預設的rules在這看不到,是gcp自動提供的**  在還沒套用rules時,用SSH測試進入,會是失敗的  會一直卡在這畫面 建立自己的Rule   - Direction of traffic: Ingress 進入 - Action on match: Allow 允許進入VM - 0.0.0.0/0 不管從哪裡來的請求 都要套用這規則 - SSH用的是ports22   有被套用的VM ### Step4: 回到VM測試SSH連線  成功!  - 0.0.0.0/0指的是去Internet的路線,這條Route會先把我們請求送到internet gateway,再透過internet gateway送到internet ## :rocket: 3: VPC內網 - VM to VM 透過Private IP來進行跨Subnet溝通方式 ### Step1: 建立另一個Subnet並放上另一台VM    ### Step2: 建立另一個VM   - 這次是要用private,所以不需要External IP ### Step3: 建立Rule  - ping 10.0.5.2的時候會導到這個Rule,然後在指下一站Virtual network - pulbic sunbet->private這時會出錯,因為這時的Private VM並沒有允許這樣的請求過來  在ping一次,成功!  ## :rocket: 4: VPC內部外網 - Private VM to the Internet (NAT) 雖然這個Private vm沒有external IP,但仍然可以點SSH直接連進去  會發現出不去,儘管有Route,但沒有Public IP  ### Step1: 把VM Private IP轉成Public IP  NAT與Subnet的region需相同 cloud router有其他功能,但對於NAT而言,我們只把它當作儲存NAT設定的地方  重ping一次,成功!  ## :rocket: 5: VPC安全 - Routes & Firewall Rules - Network Tags network tag - firewall rules 現在兩個vm都可以透過ssh連進去,是因為我們在firewall裡面有建立ssh進去的規則  ### Step1: 回VM 現在只想要Public VM可以使用ssh rule,用Network tag來實現   ### Step2: 回vpc wirewall 刪除舊的rule  重新建立  - tag打上剛剛建立的tag - ip 0.0.0.0/0要對所有的來源進行檢查  成功套用到public vm上  **network tag - routes** ### Step1: 回到VPC Routes 進到default  可以看到現在裡面有兩個vm在使用這個route 先把它刪除  重新建立Routes,並給他tags  ### Step2: 回到public vm 幫這台vm新增tags  ### Step3: VPC Routes 查看剛剛建立的Routes下有了public vm  ## :rocket: 5: 跨Subnet溝通方式 (VM to VM) 在同一VPC中建立另一個subnet     回到Compute enigen頁面,建立另一個VM        接下來先透過SSH先連到Public VM 進到Public VM測試能不能連到另一個Subnet VM     打下Enter ,會套用在這個Route上面,再將請求導到下一站Virtual network 透過這個Route來進行跨Subnet的溝通 會失敗,因為Private VM並沒有允許這樣的請求過來 解決:  現在只有一個SSH In Rule 再去建造一個Rule 讓ping這個指令是允許的    ping屬於的Protocol是屬於ICMP的Protocol  成功套用 連到public VM SSH,重新ping一次  成功ping上 ## :rocket: 6: Private VM to the Internet (NAT) NAT Gateway會將Private IP轉換成Public IP 將NAT Gateway套用到VM上 ### Step1: 回到VPC Routes  對Internet得請求都會轉到Default internet gateway 雖然有route但沒有Public IP 解決:  NAT與subnet的Region需相同  **CLoud router有另外的角色,但對於NAT而言只是一個儲存設定資料的地方  設定要影響的範圍有哪一些IP的範圍 到Private VM Ping 外面IP  成功~ ## :rocket: 6: Routes & Firewall Rules - Network Tags   現在是套用到所有的VM 改成只想要允許Public VM可以使用SSH 回到VM頁面    新增sshok的Tag 回VPC console,把舊的SSH IN RULE砍掉   建立新的 firewall rule     **network tag也可以用在Route上面**  GCP預設會建立3個Route  在沒有設定tag情況下,兩個VM都被套用進去 把這個Roule砍掉,重新建立自己的Role到Inter,並加上tag   到public VM加上這個internetok tag  加完後~  測試OK    
×
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