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
,AliyunRAMFullAccess和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執行個體。