建立及管理鏈結端點

建立及管理鏈結端點

建立及管理鏈結端點

建立您的「Satellite」端點,以管理您的「IBM Cloud Satellite」據點與據點外運作的服務、伺服器或應用程式之間的網路連線。

建立 cloud 端點以連接至位置外部的資源

建立一個類型為「cloud」的端點,以便位於「Satellite」位置中的來源能夠連線至該位置之外執行的服務、伺服器或應用程式。

開始之前,請確認您已備妥以下物品。

來源用戶端
Satellite 叢集或您連接至位置的主機。 如需如何建立 Satellite 叢集的相關資訊,請參閱 建立 Satellite 叢集。 若要使用主機,請 將主機連接至您的位置,但不要將主機指派給 Satellite 控制平面或 Satellite 叢集。 指派主機會啟動引導處理程序,以移除對主機的 SSH 存取權。
目的地資源
在外部執行但可從 IBM Cloud內存取的服務、伺服器或應用程式。 例如,您可以將專用服務端點用於 IBM Cloud 服務,因為該專用服務端點可從 IBM Cloud 網路內遞送。 如果您要連接至在 IBM Cloud外部執行的服務,則必須可從 IBM Cloud 網路內存取此服務。
許可權
管理者 IBM Cloud IBM Cloud Satellite中 Link 資源的 IAM 平台角色。 如需相關資訊,請參閱 檢查使用者許可權。

使用主控台建立雲端端點

請使用控制台建立雲端端點,以便您位於「Satellite」位置中的來源能連線至該位置之外執行的服務、伺服器或應用程式。

  1. 從 Satellite 位置 儀表板 中,按一下您的位置名稱。
  2. 從 概觀 標籤中,驗證您的位置是否具有 正常 狀態。
  3. 從 鏈結端點 標籤中,按一下 建立端點。
  4. 選取 雲端,以針對在位置外部執行的服務、伺服器或應用程式建立端點。
  5. 輸入端點名稱、目的地資源的完整網域名稱 (FQDN) 或 IP 位址,以及目的地資源接聽送入要求的埠。 IP 位址或 FQDN 必須解析為公用 IP 位址或可在 IBM Cloud內存取的專用 IP 位址,例如專用服務端點。
  6. 選取來源必須用來連接目的地 FQDN 或 IP 位址的通訊協定。 此通訊協定必須符合目的地資源的埠。 如需相關資訊,請參閱 端點通訊協定。
    • 如果您選擇了 TLS 或 HTTPS 通訊協定,並希望要求對目的地憑證進行伺服器端驗證,請勾選「驗證目的地憑證」核取方塊。
    • 如果您選擇了 TLS 或 HTTPS 通訊協定,但目標資源仍處於開發階段,您可以點擊「上傳憑證」以新增您的自簽名憑證檔案。 此 ssl.crt 檔案必須包含您資源主機名的公開、base-64 格式加密憑證,且不得包含私有 ssl.key 憑證金鑰。 若要使用 OpenSSL, 建立用於測試用途的自簽名憑證,請參閱這篇 關於 SSL 自簽名憑證的教學指南。
    • 如果您選擇了 TLS 或 HTTPS 通訊協定,並希望允許在資源連線的 TLS 握手過程中提供獨立的主機名稱,請輸入伺服器名稱指示碼 (SNI)。
  7. 配置選用連線設定,例如設定閒置逾時。 請選擇 1 至 600 秒之間的數值。 預設值為 60 秒。
  8. 按一下建立。 等待幾分鐘,讓 Satellite 鏈結連接器元件將埠指派給您的端點。
  9. 在端點的表格列中,複製 Satellite 鏈結連接器的主機名稱,以及 位址 欄位中的端點埠。
  10. 使用位址來 從位置中的來源連接至目的地。

使用 CLI 建立雲端端點

使用 CLI 建立一個端點,以便位於 Satellite 位置中的來源能夠連線至該位置之外所執行的服務、伺服器或應用程式。

  1. 取得 Satellite 位置的 ID,並驗證您的位置是否處於 正常 狀態。

    ibmcloud sat location ls
    

    輸出範例

    Name               ID                     Status   Ready   Created       Hosts (used/total)   Managed From
    port-antwerp       brlono42051up3k4htu0   normal   yes     2 weeks ago   6 / 7                London
    
  2. 建立一個 cloud 端點。

    ibmcloud sat endpoint create --location <location_ID> --name <endpoint_name> --dest-type cloud --dest-hostname <FQDN_or_IP> --dest-port <port> [--dest-protocol <destination_protocol>] --source-protocol <source_protocol>  [--sni <sni>]
    
    了解 API 請求
    元件 說明
    --location <location_ID> 輸入您先前擷取的 Satellite 位置的 ID。
    --name <endpoint_name> 輸入 Satellite 端點的名稱。
    --dest-type cloud 輸入 cloud,以指出目的地資源在位置之外執行。
    --dest-hostname <FQDN_or_IP> 請輸入您要連線到的目標之完全合格網域名稱 (FQDN) 或可從外部存取的 IP 位址。 對於雲端端點,此值必須可解析為公網 IP 位址,或可於 IBM Cloud 內存取的私有 IP 位址(例如私有雲服務端點)。
    --dest-port <port> 請輸入目標資源用於監聽傳入請求的埠號。 請確定埠與目的地通訊協定相符。
    --dest-protocol <destination-protocol> 選用項目: 輸入目的地資源的通訊協定。 如果未指定此選項,則會從來源通訊協定繼承目的地通訊協定。 支援的通訊協定包括 tcp 及 tls。 如需相關資訊,請參閱 端點通訊協定。
    --source-protocol <source-protocol> 輸入來源必須用來連接目的地資源的通訊協定。 支援的通訊協定包括 tcp、tls、http、https 及 http-tunnel。 如需相關資訊,請參閱 端點通訊協定。
    --sni <sni> 選用。 若您指定了 tls 或 https 來源協定,且希望在 TLS 握手過程中加入獨立的主機名稱,請包含伺服器名稱標示符。
  3. 等待幾分鐘,讓 Satellite 鏈結連接器元件將埠指派給您的端點。

  4. 請確認您的端點已建立。 在輸出中,複製 Satellite 鏈結連接器的主機名稱,以及 位址 欄位中端點的埠。

    ibmcloud sat endpoint ls --location <location_ID>
    

    輸出範例

    ID                           Name                                         Destination Type   Address                                                                                                    Status
    c0mnbnkw0jl8si22djkg_cEomQ   openshift-api-c0mpnn4w0bv28oq2dks0           location           TCP  c-02.us-east.link.satellite.cloud.ibm.com:32823                                                       enabled
    c0mnbnkw0jl8si22djkg_6UTZd   satellite-healthcheck-c0mnbnkw0jl8si22djkg   location           HTTP c-02.us-east.link.satellite.cloud.ibm.com:32822                                                       enabled
    c0mnbnkw0jl8si22djkg_GzstO   test-endpoint                                cloud              TLS  nae4dce0eb35957baff66-edfc0a8ba65085c5081eced6816c5b9c-c000.us-east.satellite.appdomain.cloud:30819   enabled
    
  5. 使用位址來 從位置中的來源連接至目的地。

透過雲端端點測試連線

請使用已指派給您端點的「Satellite」連結連接器主機名稱與埠號,從您所在位置的來源連線至目標資源。 來源可以是您先前建立的 Satellite 叢集,或是您指派給該位置的主機。

測試來自未指派主機的連線範例

  1. 請登入您的主機。 當系統提示時,輸入密碼以存取主機。

    ssh root@<ip_address>
    
  2. 使用 Satellite 鏈結連接器主機名稱及埠來測試與目的地資源的連線。

    curl http://<linkconnector_hostname>:<port>
    

從 Satellite 叢集測試連線的範例

  1. 鎖定您的叢集。 如果您未連接至位置主機網路,請包含 --endpoint link 選項。

    ibmcloud oc cluster config --cluster <cluster_name> --admin [--endpoint link]
    
  2. 將範例應用程式部署至叢集。 若要測試從您的位置到端點的連線,您必須連接至 Satellite 叢集所連接的網路。 您可以透過部署應用程式、登入應用程式,然後對端點執行 curl 要求,來連接至網路。 下列範例會將 nginx 部署至叢集。

    1. 為您的部署建立一個設定檔。
        apiVersion: apps/v1
        kind: Deployment
        metadata:
          name: nginx-deployment
        spec:
          replicas: 1
          selector:
            matchLabels:
              app: nginx
          template:
            metadata:
              labels:
                app: nginx
            spec:
              containers:
              - name: nginx
                image: nginxinc/nginx-unprivileged
                ports:
                - containerPort: 80
        ```
    2. 將應用程式部署至您的叢集。
    
    ```sh {: pre}
        oc apply -f deployment.yaml
        ```
    3. 驗證 `nginx` 應用程式已順利部署在叢集裡。
    
    ```sh {: pre}
        oc get pods
        ```
        輸出範例
    
        ```sh {: screen}
        NAME                                READY   STATUS    RESTARTS   AGE
        nginx-deployment-85ff79dd56-6lrpg   1/1     Running   0          11s
        ```
    
  3. 登入 Pod。

    oc exec <pod_name> -it bash
    
  4. 使用 Satellite 鏈結連接器主機名稱及埠來測試與目的地資源的連線。

    curl http://<linkconnector_hostname>:<port>
    

建立 location 端點以連接至位置中的資源

建立一個類型為「location」的端點,以便連接到「IBM Cloud」私有網路的來源,能夠連接到您位於「Satellite」位置中的服務、伺服器或應用程式。

開始之前,請確認您已備妥以下物品。

來源用戶端

可存取 IBM Cloud 專用網路的服務、伺服器或應用程式。 目的地資源

在 Satellite 叢集或您連接至位置的主機中執行的服務、伺服器或應用程式。 如需如何建立 Satellite 叢集的相關資訊,請參閱 建立 Satellite 叢集。 若要使用主機,請 將主機連接至您的位置,但不要將主機指派給 Satellite 控制平面或 Satellite 叢集。 指派主機會啟動引導處理程序,以移除對主機的 SSH 存取權。

許可權

管理者 IBM Cloud IBM Cloud Satellite中 Link 資源的 IAM 平台角色。 如需相關資訊,請參閱 檢查使用者許可權。

使用主控台建立位置端點

請使用主控台建立一個端點,以便連接到「IBM Cloud」私有網路的來源,能夠連線至您位於「Satellite」位置中的服務、伺服器或應用程式。

  1. 從 Satellite 位置 儀表板 中,按一下您的位置名稱。

  2. 從 概觀 標籤中,驗證您的位置是否具有 正常 狀態。

  3. 從 鏈結端點 標籤中,按一下 建立端點。

  4. 選取 Satellite 位置,以在 Satellite 位置中建立服務、伺服器或應用程式的端點。

  5. 輸入端點名稱、目的地資源的完整網域名稱 (FQDN) 或 IP 位址,以及目的地資源接聽送入要求的埠。 FQDN 或 IP 位址必須從 Satellite 位置或代理程式針對 Satellite 連接器執行的控制平面主機解析並可從其存取。

  6. 選取來源必須用來連接目的地 FQDN 或 IP 位址的通訊協定。 此通訊協定必須符合目的地資源的埠。 如需相關資訊,請參閱 端點通訊協定。

    • 如果您選擇了 TLS 或 HTTPS 通訊協定,並希望要求對目的地憑證進行伺服器端驗證,請勾選「驗證目的地憑證」核取方塊。
    • 如果您選擇了 TLS 或 HTTPS 通訊協定,但目標資源仍處於開發階段,您可以點擊「上傳憑證」以新增您的自簽名憑證檔案。 此 ssl.crt 檔案必須包含您資源主機名的公開、base-64 格式加密憑證,且不得包含私有 ssl.key 憑證金鑰。 若要使用 OpenSSL, 建立用於測試用途的自簽名憑證,請參閱這篇 關於 SSL 自簽名憑證的教學指南。
    • 如果您選擇了 TLS 或 HTTPS 通訊協定,並希望允許在資源連線的 TLS 握手過程中提供獨立的主機名稱,請輸入伺服器名稱指示碼 (SNI)。
  7. 配置選用連線設定,例如設定閒置逾時。 請選擇 1 至 600 秒之間的數值。 預設值為 60 秒。

  8. 按一下建立。 等待幾分鐘,讓 Satellite 鏈結連接器元件將埠指派給您的端點。

  9. 在端點的表格列中,複製 Satellite 鏈結通道伺服器的主機名稱,以及端點在 位址 欄位中的埠。

  10. 從 IBM Cloud 專用網路中的來源用戶端,使用位址來測試與 Satellite 端點的連線。 例如,視您的來源用戶端而定,您可以將 curl 要求傳送至端點:

    curl http://<linkserver_hostname>:<port>
    

使用 CLI 建立位置端點

使用 CLI 建立一個端點,以便連接到 IBM Cloud 私有網路的來源,能夠連接到您位於 Satellite 位置中的服務、伺服器或應用程式。

  1. 取得 Satellite 位置的 ID,並驗證您的位置是否處於 正常 狀態。

    ibmcloud sat location ls
    

    輸出範例

    Name               ID                     Status   Ready   Created       Hosts (used/total)   Managed From
    port-antwerp       brlono42051up3k4htu0   normal   yes     2 weeks ago   6 / 7                London
    
  2. 建立一個 location 端點。

    ibmcloud sat endpoint create --location <location_ID> --name <endpoint_name> --dest-type location --dest-hostname <FQDN_or_IP> --dest-port <port> [--dest-protocol <destination_protocol>] --source-protocol <source_protocol>
    
    了解 API 請求
    元件 說明
    --location <location_ID> 輸入您先前擷取的 Satellite 位置的 ID。
    --name <endpoint_name> 輸入 Satellite 端點的名稱。
    --dest-type cloud 輸入 cloud,以指出目的地資源在位置之外執行。
    --dest-hostname <FQDN_or_IP> 請輸入您要連線到的目標之完全合格網域名稱 (FQDN) 或可從外部存取的 IP 位址。 對於位置終點,此值必須可從控制平面主機解析,且從該主機可存取該位置(適用於 Satellite 位置),或從代理程式執行之處可存取該位置(適用於 Satellite Connector)。
    --dest-port <port> 請輸入目標資源用於監聽傳入請求的埠號。 請確定埠與目的地通訊協定相符。
    --dest-protocol <destination-protocol> 選用項目: 輸入目的地資源的通訊協定。 如果未指定此選項,則會從來源通訊協定繼承目的地通訊協定。 支援的通訊協定包括 tcp 及 tls。 如需相關資訊,請參閱 端點通訊協定。
    --source-protocol <source-protocol> 輸入來源必須用來連接目的地資源的通訊協定。 支援的通訊協定包括 tcp、tls、http、https 及 http-tunnel。 如需相關資訊,請參閱 端點通訊協定。
    --sni <sni> 選用。 若您指定了 tls 或 https 來源協定,且希望在 TLS 握手過程中加入獨立的主機名稱,請包含伺服器名稱標示符。
  3. 等待幾分鐘,讓 Satellite 鏈結連接器元件將埠指派給您的端點。

  4. 請確認您的端點已建立。 在輸出中,複製 Satellite 鏈結通道伺服器的主機名稱,以及 位址 欄位中的端點埠。

    ibmcloud sat endpoint ls --location <location_ID>
    

    輸出範例

    ID                           Name                                         Destination Type   Address
    c0mnbnkw0jl8si22djkg_cEomQ   openshift-api-c0mpnn4w0bv28oq2dks0           location           TCP  c-02.us-east.link.satellite.cloud.ibm.com:32823
    c0mnbnkw0jl8si22djkg_6UTZd   satellite-healthcheck-c0mnbnkw0jl8si22djkg   location           HTTP c-02.us-east.link.satellite.cloud.ibm.com:32822
    
  5. 從 IBM Cloud 專用網路中的來源用戶端,使用位址來測試與 Satellite 端點的連線。 例如,視您的來源用戶端而定,您可能會將 curl 要求傳送至端點。

    curl http://<linkserver_hostname>:<port>
    

設定存取控制清單以限制對端點的存取

透過為端點建立存取控制清單,控制哪些用戶端可以存取目的地資源。

如果未配置任何來源,則任何用戶端都可以使用端點來連接至目的地資源。 例如,對於位置端點,任何連接至 IBM Cloud 專用網路的用戶端都可以使用該端點來連接至在 Satellite 位置中執行的目的地資源。 您可以透過僅將特定用戶端的 IP 位址或子網路 CIDR 新增至端點的來源清單,來限制對目的地資源的存取權。

目前,您只能為 location 類型的端點建立來源清單。 您無法為 cloud 類型的端點建立來源清單。

使用主控台建立存取控制清單

完成下列步驟,從主控台為端點建立存取控制清單。

  1. 從 Satellite 位置 儀表板 中,按一下您的位置名稱。
  2. Select the 存取控制清單 tab, then click 建立規則.
  3. 在 ACL 規則頁面上,請完成以下步驟。
    1. 請輸入規則名稱。
    2. 輸入允許連線到端點的用戶端的 IP 位址。 此值可以是單一 IP 位址、CIDR 區塊或以逗點區隔的清單。 該值必須完全包含在下列 CIDR 中:10.0.0.0/8, 161.26.0.0/16, 166.8.0.0/14, 172.16.0.0/12.
    3. 選取此規則應在您的位置控制存取的端點 (或多個端點)。 只有使用您在規則中指定範圍內 IP 位址的用戶端,才允許透過端點傳送到目的地的網路流量。 來自其他用戶端且透過端點傳送至目的地資源的網路資料流量會被封鎖。
  4. 按一下建立。
  5. To modify an existing ACL rule, select 編輯 in the overflow menu at the right end of the rule, update the field values, and press 節省 when done.

使用 CLI 建立存取控制清單

完成下列步驟,從 CLI 為端點建立存取控制清單。

  1. 執行下列指令為一個或多個子網路建立 ACL 規則,並可選擇綁定到一個或多個端點。

    ibmcloud sat acl create --location LOCATION --name NAME --subnet SUBNET [--subnet SUBNET ...] [--endpoint ENDPOINT ...]
    
    --location LOCATION
    請輸入您的「Satellite」據點名稱或編號。
    --name NAME
    請輸入存取控制清單 (ACL) 的名稱。
    --subnet SUBNET
    輸入此 ACL 允許的 IP 或 CIDR 區塊。 值必須完全包含在下列 CIDR 中:10.0.0.0/8, 161.26.0.0/16, 166.8.0.0/14, 172.16.0.0/12. 您可以重複此參數以提供多個數值。
    --endpoint ENDPOINT
    可選擇輸入要為此 ACL 啟用的端點名稱或 ID。 您可以重複此參數以提供多個數值。
  2. 請確認已建立存取控制清單 (ACL)。

    ibmcloud sat acl ls --location LOCATION
    
  3. 您也可以新增或移除現有 ACL 的端點或子網路。

     ibmcloud sat acl endpoint add --location LOCATION --acl-id ID --endpoint ENDPOINT [--endpoint ENDPOINT ...]
     ibmcloud sat acl endpoint rm --location LOCATION --acl-id ID --endpoint ENDPOINT [--endpoint ENDPOINT ...]
     ibmcloud sat acl subnet add --location LOCATION --acl-id ID --subnet SUBNET [--subnet SUBNET ...]
     ibmcloud sat acl subnet rm --location LOCATION --acl-id ID --subnet SUBNET [--subnet SUBNET ...]
    

啟用及停用端點

設定端點之後,您可以隨時啟用或停用端點,以控制透過端點的網路資料流量流程。

  1. 從 位置儀表板中,選取您建立 Satellite 端點的位置。
  2. 選取 鏈結端點 標籤,並尋找您要啟用或停用的端點。
  3. 請使用切換鈕來啟用或停用該端點。 停用端點之後,所有來源都會封鎖位置與目的地伺服器、服務或應用程式之間的網路資料流量。