注意事項
固定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地址
前提條件
操作步驟
- 登入Function Compute控制台,在左側導覽列,單擊服務及函數。
- 在頂部功能表列,選擇地區,然後在服務列表頁面,單擊目標服務操作列的配置。
在網路設定地區,參數固定公網 IP選擇是,參數允許函數訪問公網選擇為否。

說明
為保證函數正常訪問外部網路,您可以先配置允許函數訪問公網為是,固定IP生效之後再配置允許函數訪問公網為否,平滑遷移流量。
單擊儲存,在彈出的固定公網 IP 配置對話方塊,仔細閱讀提示資訊,勾選複選框,然後單擊確定。
1~2分鐘後,頁面將跳轉至服務詳情頁面。您可以查看到剛才已儲存的網路配置資訊,也可以前往專用網路控制台,查看剛才關聯或自動建立的公網NAT Gateway相關資源資訊。
結果驗證
- 登入Function Compute控制台,在左側導覽列,單擊服務及函數。
- 在頂部功能表列,選擇地區,然後在服務列表頁面,單擊目標服務。
- 在函數管理頁面,單擊目標函數名稱,然後在函數詳情頁面,單擊函數代碼頁簽。
在函數代碼頁簽的代碼編輯器中,編寫代碼。
本文以Python代碼為例。
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配置項下方的建立新的Elastic IP Address。
在專用網路控制台,手動建立一個Elastic IP Address地址並綁定到對應的NAT Gateway。具體步驟,請參見申請EIP。
綁定成功後,前往服務詳情頁面,您可查看到剛才儲存的服務配置資訊。
相關操作
如您需要關閉固定IP地址功能或刪除已配置的固定IP地址,請先配置允許函數訪問公網為是,然後前往專用網路控制台手動刪除VPC對應的所有NAT執行個體。