Function Compute系統預設的出口IP是動態,無固定網段。而Function Compute訪問資料庫、微信小程式或其他第三方服務時,需通過配置白名單來訪問,此時您可以使用Function Compute的固定公網IP功能綁定一個固定IP公網地址,然後將其添加到白名單列表中。本文介紹如何在Function Compute控制台配置函數出口方向的固定公網IP地址。
注意事項
固定IP地址功能需配合Virtual Private Cloud的公網NAT Gateway來完成。通過建立一個公網NAT Gateway,並為其綁定一個Elastic IP Address地址和添加一個SNAT條目,允許VPC內的執行個體通過此Elastic IP Address地址訪問公網。此時,在公網接收端查詢到的用戶端IP地址為該NAT Gateway綁定的Elastic IP Address地址。
NAT Gateway和Elastic IP Address地址均只能在某個地區的固定可用性區域購買。如果NAT Gateway、Elastic IP Address與Function Compute的服務所在的可用性區域不一致,您必須通過設定交換器來實現跨可用性區域公網互連。更多資訊,請參見Function Compute支援的可用性區域。
Elastic IP Address地址在同一地區下的所有服務間共用。
RAM使用者使用固定IP地址功能前,需先登入RAM 存取控制為其授予
AliyunECSFullAccess
、AliyunVPCFullAccess
、AliyunEIPFullAccess
和AliyunNATGatewayFullAccess
許可權。
計費說明
配置固定公網IP地址可能會建立NAT Gateway和Elastic IP Address地址,產生一定的費用。具體資訊,請參見公網NAT Gateway計費和Elastic IP Address地址計費。
首次配置固定公網IP地址
前提條件
操作步驟
- 登入Function Compute控制台,在左側導覽列,單擊服務及函數。
- 在頂部功能表列,選擇地區,然後在服務列表頁面,單擊目標服務操作列的配置。
在網路設定地區,參數固定公網 IP選擇是,參數允許函數訪問公網選擇為否。
說明為保證函數正常訪問外部網路,您可以先配置允許函數訪問公網為是,固定IP生效之後再配置允許函數訪問公網為否,平滑遷移流量。
單擊儲存,在彈出的固定公網 IP 配置對話方塊,仔細閱讀提示資訊,勾選複選框,然後單擊確定。
1~2分鐘後,頁面將跳轉至服務詳情頁面。您可以查看到剛才已儲存的網路配置資訊,也可以前往專用網路控制台,查看剛才關聯或自動建立的公網NAT Gateway相關資源資訊。
結果驗證
- 登入Function Compute控制台,在左側導覽列,單擊服務及函數。
- 在頂部功能表列,選擇地區,然後在服務列表頁面,單擊目標服務。
- 在函數管理頁面,單擊目標函數名稱,然後在函數詳情頁面,單擊函數代碼頁簽。
在函數代碼頁簽的代碼編輯器中,編寫代碼。
本文以Python代碼為例。
# -*- coding: utf-8 -*- import logging import requests def handler(event, context): logger = logging.getLogger() try: r = requests.get('https://myip.ipip.net') clientIP = r.content.split()[1] logger.info('Client IP: ' + clientIP) except: r = requests.get('http://ipinfo.io') clientIP = r.json()['ip'] logger.info('Client IP: ' + clientIP) return clientIP
完成函數編寫後,單擊部署代碼,然後單擊測試函數。
執行成功後,查看返回結果返回的用戶端IP地址,即配置的固定IP地址。
增加固定公網IP地址
如您需要增加其他的固定IP地址,操作步驟如下。
相關操作
如您需要關閉固定IP地址功能或刪除已配置的固定IP地址,請先配置允許函數訪問公網為是,然後前往專用網路控制台手動刪除VPC對應的所有NAT執行個體。