2014-01-11 52 views
88

我有兩個Google Compute Engine實例,我想在兩個實例中打開端口9090。我認爲我們需要添加一些防火牆規則。但我不知道究竟需要做什麼。任何人都可以幫我找出我該怎麼做?如何在Google Compute Engine中打開特定端口(如9090)

+2

我認爲這個問題已經有了答案。你介意選擇下面的答案之一嗎?這將有助於未來的讀者更容易認識到這個問題已經解決。 – modulitos

回答

170

你需要:

  1. 轉到cloud.google.com

  2. 轉到我的控制檯

  3. 選擇您項目。

  4. 選擇網絡>​​ VPC網絡

  5. 選擇 「防火牆規則」

  6. 選擇創建防火牆規則

  7. 要將規則只選擇VM實例,選擇目標「規定的目標標籤「,然後在」目標標籤「中輸入用於確定規則應用於哪些實例的標籤。然後確保實例具有應用的網絡標記。

  8. 允許傳入TCP端口9090,在 「協議和端口」 中輸入tcp:9090

  9. 單擊創建

我希望這可以幫助您。

+1

偉大的一步一步,謝謝。 – Deleplace

+3

計算引擎沒有「網絡」選項(已?) – default

+4

是的,現在沒有網絡選項,更新的路徑是項目 - >網絡 - >防火牆規則 –

9

您需要添加防火牆規則以打開對您的實例的入站訪問tcp:9090。如果你有兩個以上的實例,並且你只想打開9090這兩個實例,你需要確保這兩個實例共享一個標籤。您可以通過控制檯或命令行添加或更新標籤;如果需要,我建議使用GUI,因爲它使用setinstancetags來處理讀 - 修改 - 寫週期。

如果要打開端口9090到所有的情況下,你可以創建防火牆規則,如:

gcutil addfirewall allow-9090 --allowed=tcp:9090 

將適用於所有的實例。

如果你只是想打開端口9090到被服務的應用程序的兩個實例,確保他們有一個標籤像my-app,然後再加一個防火牆,像這樣:

gcutil addfirewall my-app-9090 --allowed=tcp:9090 --target_tags=my-app 

你可以閱讀更多關於creating and managing firewalls in GCE here

+5

'gcutil'不再可用;請使用'gcloud'重寫你的命令行。 –

6

我遇到了同樣的問題,我可以通過遵循@CarlosRojas指令來解決這個問題。我沒有創建新的防火牆規則,而是編輯了default-allow-internal,因爲創建新規則沒有任何區別。

+0

需要負責創建新的防火牆規則。您是否通過編輯此規則來避免這種情況? – killjoy

+0

@killjoy我不確定。我目前沒有使用谷歌計算引擎。抱歉。 – Nevershowmyface

+0

@Nevershowmyface你真棒 – Tejas

46

下面是命令行的方式來回答這個問題:

gcloud compute firewall-rules create <rule-name> --allow tcp:9090 --source-tags=<list-of-your-instances-names> --source-ranges=0.0.0.0/0 --description="<your-description-here>" 

這將打開端口9090爲您命名實例。省略--source-tags--source-ranges會將規則應用於所有實例。更多詳細信息都在Gcloud documentationthe firewall-rule create command manual

以前的答案是偉大的,but Google recommends使用較新的gcloud命令,而不是gcutil命令。

PS: 要獲得谷歌的防火牆規則的想法,運行gcloud compute firewall-rules list並查看您的所有防火牆規則

+0

當我使用' - 描述「部分,但否則這對我很有用。 – shabbychef

+0

我不確定他們是否改變了api,但源和目標似乎與@modulitos的答案相反。根據[firewall-rules命令文檔](https://cloud.google.com/sdk/gcloud/reference/compute/firewall-rules/create),「source」表示傳入流量,而「target」表示實例將規則應用於。 – cindyxiaoxiaoli

+0

'錯誤:(gcloud.compute.firewall-rules.create)無法獲取資源: - 權限不足@modulitos – Alper

相關問題