設定公開 IP 連線

本頁面說明如何設定 Cloud SQL 執行個體的公開 IP 連線。

簡介

您可以設定 Cloud SQL 執行個體擁有公開 IPv4 位址,並將授權位址加入執行個體,以接受來自特定 IP 位址或位址範圍的連線。

如需透過 IP 連線將管理用戶端連線至執行個體的說明,請參閱使用 IP 位址連結 psql 用戶端

如果將執行個體設定為接受經由公開 IP 位址的連線,您也必須將這個執行個體設定為使用 SSL,以保護資料安全。如需詳細資訊,請參閱為執行個體設定安全資料傳輸層 (SSL) 的說明。

如要使用未暴露於公開網際網路的 IP 位址來設定執行個體,請參閱設定私人 IP 連線

啟用公開 IP 並加入授權位址或位址範圍

如要啟用公開 IP 並加入授權位址,請執行下列操作:

當啟用執行個體的公開 IP 時,會使用公開的靜態 IPv4 位址加以設定。

主控台

  1. 前往 Google Cloud Platform 主控台的「Cloud SQL Instances」(Cloud SQL 執行個體) 頁面。

    前往 Cloud SQL「Instances」(執行個體) 頁面

  2. 按一下執行個體名稱,開啟「執行個體詳細資料」頁面。
  3. 選取 [連線設定] 分頁標籤。
  4. 選取 [公開 IP] 核取方塊。
  5. 按一下 [新增網路]
  6. 在 [網路] 欄位中,輸入您要允許連線的 IP 位址或位址範圍。

    使用 CIDR 標記法

  7. 或者,輸入這個項目的名稱。
  8. 按一下 [完成]
  9. 按一下 [Save] (儲存) 以更新執行個體。

gcloud

  1. 如果您尚未將 IPv4 位址加入執行個體,請執行下列操作:
    gcloud sql instances patch [INSTANCE_NAME] --assign-ip
    
  2. 透過描述執行個體來顯示所有現有的授權位址:
    gcloud sql instances describe [INSTANCE_NAME]
    

    在 [ipConfiguration] 下尋找 [authorizedNetwork] 項目,並記下您要保留的任何授權位址。

  3. 更新授權網路清單,包括您要包含的所有位址。
    gcloud sql instances patch [INSTANCE_NAME] --authorized-networks=[IP_ADDR1],[IP_ADDR2]...
    

    使用 CIDR 標記法

  4. 確認變更:
    gcloud sql instances describe [INSTANCE_NAME]
    

cURL

  1. 透過描述執行個體來顯示所有現有的授權位址:
    ACCESS_TOKEN="$(gcloud auth application-default print-access-token)"
    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
           -X GET \
           https://www.googleapis.com/sql/v1beta4/projects/<PROJECT-ID>/instances/<INSTANCE_NAME>?fields=settings
    
  2. 更新執行個體,包括您要對執行個體設定的「所有」位址:
    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
           --header 'Content-Type: application/json' \
           --data '{"settings" : {"ipConfiguration" :
                                  {"authorizedNetworks" :
                                  [{ "value": "<IP_ADDR1>" }, { "value": "<IP_ADDR2>" } ]}}}' \
           -X PATCH \
           https://www.googleapis.com/sql/v1beta4/projects/<PROJECT-ID>/instances/<INSTANCE_NAME>
    

    使用 CIDR 標記法

  3. 確認變更:
    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
           -X GET \
           https://www.googleapis.com/sql/v1beta4/projects/<PROJECT-ID>/instances/<INSTANCE_NAME>?fields=settings
    

移除授權的位址或位址範圍

移除授權的位址:

主控台

  1. 前往 Google Cloud Platform 主控台的「Cloud SQL Instances」(Cloud SQL 執行個體) 頁面。

    前往 Cloud SQL「Instances」(執行個體) 頁面

  2. 按一下執行個體名稱,開啟「執行個體詳細資料」頁面。
  3. 選取 [連線設定] 分頁標籤。
  4. 找出您要刪除的位址,然後按一下相對應的刪除圖示 刪除。
  5. 按一下 [Save] (儲存) 以更新執行個體。

gcloud

  1. 透過描述執行個體來顯示所有現有的授權位址:
    gcloud sql instances describe [INSTANCE_NAME]
    

    在 [ipConfiguration] 下尋找 [authorizedNetwork] 項目,並記下您要保留的任何授權位址。

  2. 更新授權的網路清單,去除您要移除的任何位址。
    gcloud sql instances patch [INSTANCE_NAME] --authorized-networks=[IP_ADDR1],[IP_ADDR2]...
    
  3. 確認變更:
    gcloud sql instances describe [INSTANCE_NAME]
    

cURL

  1. 透過描述執行個體來顯示所有現有的授權位址:
    ACCESS_TOKEN="$(gcloud auth application-default print-access-token)"
    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
           -X GET \
           https://www.googleapis.com/sql/v1beta4/projects/<PROJECT-ID>/instances/<INSTANCE_NAME>?fields=settings
    
  2. 更新執行個體,去除您要移除的任何位址:
    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
           --header 'Content-Type: application/json' \
           --data '{"settings" : {"ipConfiguration" :
                                  {"authorizedNetworks" :
                                  [{ "value": "<IP_ADDR1>" }, { "value": "<IP_ADDR2>" } ]}}}' \
           -X PATCH \
           https://www.googleapis.com/sql/v1beta4/projects/<PROJECT-ID>/instances/<INSTANCE_NAME>
    
  3. 確認變更:
    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
           -X GET \
           https://www.googleapis.com/sql/v1beta4/projects/<PROJECT-ID>/instances/<INSTANCE_NAME>?fields=settings
    

設定執行個體以拒絕所有公開 IP 連線

要設定執行個體以拒絕所有公開 IP 連線:

主控台

  1. 前往 Google Cloud Platform 主控台的「Cloud SQL Instances」(Cloud SQL 執行個體) 頁面。

    前往 Cloud SQL「Instances」(執行個體) 頁面

  2. 按一下執行個體名稱,開啟「執行個體詳細資料」頁面。
  3. 選取 [連線設定] 分頁標籤。
  4. 按一下所有已授權位址的刪除圖示 刪除。
  5. 按一下 [Save] (儲存) 以更新執行個體。

gcloud

  1. 清除授權的位址清單:
    gcloud sql instances patch [INSTANCE_NAME] --clear-authorized-networks
    
  2. 確認變更:
    gcloud sql instances describe [INSTANCE_NAME]
    

cURL

  1. 透過描述執行個體來顯示所有現有的授權位址:
    ACCESS_TOKEN="$(gcloud auth application-default print-access-token)"
    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
           -X GET \
           https://www.googleapis.com/sql/v1beta4/projects/<PROJECT-ID>/instances/<INSTANCE_NAME>?fields=settings
    
  2. 將執行個體更新為空位址清單:
    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
           --header 'Content-Type: application/json' \
           --data '{"settings" : {"ipConfiguration" :
                                  {"authorizedNetworks" : [] }}}' \
           -X PATCH \
           https://www.googleapis.com/sql/v1beta4/projects/<PROJECT-ID>/instances/<INSTANCE_NAME>
    
  3. 確認變更:
    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
           --header 'Content-Type: application/json' \
           -X GET \
           https://www.googleapis.com/sql/v1beta4/projects/<PROJECT-ID>/instances/<INSTANCE_NAME>?fields=settings
    

停用公開 IP

要停用公開 IP:

主控台

  1. 前往 Google Cloud Platform 主控台的「Cloud SQL Instances」(Cloud SQL 執行個體) 頁面。

    前往 Cloud SQL「Instances」(執行個體) 頁面

  2. 按一下執行個體名稱,開啟「執行個體詳細資料」頁面。
  3. 選取 [連線設定] 分頁標籤。
  4. 取消選取 [公開 IP] 核取方塊。
  5. 按一下 [Save] (儲存) 以更新執行個體。

gcloud

  1. 更新執行個體:
    gcloud sql instances patch [INSTANCE_NAME] --no-assign-ip
    
  2. 確認變更:
    gcloud sql instances describe [INSTANCE_NAME]
    

cURL

  1. 透過描述執行個體來顯示所有現有的授權位址:
    ACCESS_TOKEN="$(gcloud auth application-default print-access-token)"
    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
           -X GET \
           https://www.googleapis.com/sql/v1beta4/projects/<PROJECT-ID>/instances/<INSTANCE_NAME>?fields=settings
    
  2. 更新執行個體:
    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
           --header 'Content-Type: application/json' \
           --data '{"settings" : {"ipConfiguration" :
                                   “ipv4Enabled”: false }}}'  \
           -X PATCH \
           https://www.googleapis.com/sql/v1beta4/projects/<PROJECT-ID>/instances/<INSTANCE_NAME>
    
  3. 確認變更:
    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
           -X GET \
           https://www.googleapis.com/sql/v1beta4/projects/<PROJECT-ID>/instances/<INSTANCE_NAME>?fields=settings
    

後續步驟

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
PostgreSQL 適用的 Cloud SQL