您可以將常用IP位址區段統一管理在首碼列表中,並在當前或其他帳號的安全性群組規則、路由條目中引用。修改首碼列表後,所有引用方的配置會自動同步更新。
首碼列表常見的使用情境:
統一管理公司出口IP:某公司需要通過公網訪問多台ECS,傳統做法是為每台ECS的安全性群組規則單獨添加公司出口IP。然而,該公司出口IP經常變動,每次變更都需手動更新所有ECS的安全性群組規則,操作繁瑣且易錯。改用首碼列表統一管理出口IP後,只需更新首碼列表,所有引用它的安全性群組規則即可自動生效,配置效率和管理便捷性顯著提升。
集中維護夥伴IP段:若業務需和夥伴IP段互連,通常需要在不同的路由表重複添加路由。此時使用首碼列表統一管理夥伴的IP段,可避免重複配置。夥伴IP段發生變動時,只需編輯首碼列表,所有引用的路由表自動更新,更易擴充和維護。
使用限制
網關路由表和基礎版轉寄路由器無法引用首碼列表。
首碼列表是地區級資源,僅限建立地區內使用,不可跨地區引用或共用。
一個首碼列表不能同時包含 IPv4 和 IPv6 CIDR地址塊。
建立首碼列表時必須設定其最大條目數。
首碼列表被引用時,會佔用引用方的配額。其中VPC路由表和ECS安全性群組會按照首碼列表的最大條目數進行配額佔用;TR(轉寄路由器)路由表會按照首碼列表實際包含的條目數進行佔用。例如您建立了一個最大條目數為50的首碼列表,實際包含的條目數為20。那麼在VPC路由表或安全性群組引用時,首碼列表會佔用50條路由或50條安全性群組規則的配額。而在TR路由表引用時,會佔用20條路由配額。
在某個地區首次為某類雲端服務建立網關終端節點時,系統會自動建立1個系統首碼列表,該首碼列表包含對應雲端服務的IP位址區段。系統自動將其引用到VPC路由表中,下一跳指向網關終端節點,實現VPC通過網關終端節點訪問特定雲端服務。您無法引用、修改、刪除、共用該系統首碼列表,控制台顯示其擁有者為ALIYUN/系統帳號。
管理首碼列表
控制台
建立首碼列表
前往專用網路控制台VPC首碼列表頁面。先在頂部功能表列左上處選擇目標地區,再單擊建立VPC首碼列表。
在建立VPC首碼列表面板中:
增加或刪除條目
在目標首碼列表的基本資料的條目頁簽下:
增加條目:單擊建立VPC首碼列表條目。
刪除條目:在目標條目的操作列單擊刪除,或多選後單擊大量刪除。
查看引用首碼列表的資源
在目標首碼列表的基本資料頁面,單擊關聯頁簽查看。
刪除首碼列表
在目標首碼列表的操作列或詳情頁單擊刪除。
刪除前,請確保首碼列表未被其他資源引用,且未被共用。
API
調用CreateVpcPrefixList建立首碼列表。
調用ModifyVpcPrefixList增加或刪除條目。
調用GetVpcPrefixListAssociations查看引用首碼列表的資源。
調用DeleteVpcPrefixList刪除首碼列表。
刪除前,請確保首碼列表未被其他資源引用,且未被共用。
Terraform
Resource: alicloud_vpc_prefix_list
# 指定地區
provider "alicloud" {
region = "cn-hangzhou"
}
# 建立首碼列表
resource "alicloud_vpc_prefix_list" "example_pl" {
prefix_list_name = "example_pl_name"
ip_version = "IPV4" # IP版本
max_entries = 50 # 最大條目數
entrys {
cidr = "10.0.1.0/24" # 條目1
}
entrys {
cidr = "10.0.2.0/24" # 條目2
}
}引用首碼列表
您可在VPC路由表、TR(轉寄路由器)路由表、ECS安全性群組引用首碼列表。一旦您修改了首碼列表中的內容,引用首碼列表的資源將自動同步更新修改,從而協助您提升配置效率。
VPC路由表引用
在VPC路由表中添加自訂路由條目時,您可以引用首碼列表。引用時需注意:
避免與VPC現有路由條目發生路由衝突,否則無法引用。如果引用後發生了衝突,請參考處理引用後出現的條目衝突。
首碼列表的最大條目數(注意不是實際包含的條目數),會佔用VPC路由表自訂路由條目數配額。您可嘗試通過調低最大條目數、合并相鄰IP段、清理無用條目等方式來降低配額超限風險。
控制台
前往路由表基本資料頁面,在頁簽下,單擊添加路由條目進行配置:
目標網段:左側下拉框選擇VPC首碼列表,右側選擇目標首碼列表,
下一跳類型:選擇對應的類型及執行個體。
API
調用CreateRouteEntry,DestinationCidrBlock參數填入首碼列表的執行個體 ID。
Terraform
Resources:alicloud_route_entry
# 指定地區
provider "alicloud" {
region = "cn-hangzhou"
}
# 增加1條VPC路由條目,目標網段為首碼列表
resource "alicloud_route_entry" "example" {
route_table_id = "vtb-bp1pa1mwgfd6rqxfxxxxx" # VPC路由表ID
destination_cidrblock = "pl-bp1fnjzxkk2m6qrwxxxxx" # 目標網段,填首碼列表ID
nexthop_type = "Ecr" # 下一跳類型
nexthop_id = "ecr-assoc-stwhaft9a371nxxxxx" # 下一跳執行個體ID
}TR路由表引用
您可以在企業版TR的路由表中引用首碼列表,引用後,系統將在企業版TR路由表中自動添加首碼列表中所有網段的路由。引用時需注意:
如果TR已開啟路由同步功能,那麼在引用首碼列表之後,系統會自動將首碼列表對應的路由條目傳播到其他網路執行個體。
首碼列表對應的路由條目,不能和TR路由表中已有的路由條目發生衝突。請參考路由相容性說明,判斷是否會發生路由衝突(不相容即為衝突),如有衝突,則無法引用。如果引用後發生了衝突,請參考處理引用後出現的條目衝突。
首碼列表中的實際條目數,會佔用TR路由表路由條目數配額。建議通過合并相鄰IP段、清理無用條目等方式來降低配額超限風險。
控制台
綁定首碼
前往目標TR路由表的基本資料頁面,切換到路由首碼頁簽,單擊綁定路由首碼:
路由首碼ID:選擇要引用的首碼列表。
是否為黑洞路由:
是:系統將匹配首碼列表的流量直接丟棄。
否:系統將匹配首碼列表的流量,引導至下一跳串連。
篩選首碼列表對應的路由條目
前往目標TR路由表的基本資料頁面,切換到路由條目頁簽,通過路由首碼ID來過濾,篩選出屬於通過首碼列表添加的路由條目明細。
解除綁定首碼
解除綁定首碼列表後,系統將自動撤銷已添加在企業版TR路由表中首碼列表相關的所有路由條目。因此解除綁定首碼列表前,請確保您已經遷移業務流量,否則會造成網路中斷。
前往目標TR路由表的基本資料頁面,切換到路由首碼頁簽,在目標首碼列表的操作列,單擊刪除。
API
綁定首碼:調用CreateTransitRouterPrefixListAssociation,在企業版轉寄路由器路由表中引用首碼列表。
篩選首碼列表對應的路由條目:調用ListTransitRouterPrefixListAssociation,在返回的結果中通過
PrefixListId過濾通過首碼列表添加的路由條目。刪除首碼:調用DeleteTransitRouterPrefixListAssociation,刪除企業版轉寄路由器路由表中已引用的首碼列表。
Terraform
Resources:alicloud_cen_transit_router_prefix_list_association
# 指定地區
provider "alicloud" {
region = "cn-hangzhou"
}
# 在雲企業網的轉寄路由器中,引用首碼列表
resource "alicloud_cen_transit_router_prefix_list_association" "example" {
prefix_list_id = "pl-bp1fnjzxkk2m6qrwxxxxx" # 首碼列表ID
transit_router_id = "tr-bp1czv20pflygguoxxxxx" # 轉寄路由器ID
transit_router_table_id = "vtb-bp1v7079o4dwrkgpxxxxx" # 轉寄路由器路由表ID
next_hop_type = "BlackHole" # 下一跳類型
next_hop = "BlackHole" # 下一跳執行個體ID
}ECS安全性群組引用
配置安全性群組入方向或出方向規則時,您可以引用首碼列表。
控制台
以添加安全性群組入方向規則為例,前往ECS控制台目標安全性群組詳情頁面,在訪問規則的入方向頁簽下,單擊增加規則進行配置:
訪問來源:左側下拉式清單選擇首碼列表,右側選擇目標首碼列表。
其他配置項:請按需配置。
API
調用AuthorizeSecurityGroup增加安全性群組入方向規則時,
SourcePrefixListId參數填入首碼列表ID。調用AuthorizeSecurityGroupEgress增加安全性群組出方向規則時,
DestPrefixListId參數填入首碼列表ID。
Terraform
Resources:alicloud_security_group、alicloud_security_group_rule
# 指定地區
provider "alicloud" {
region = "cn-hangzhou"
}
# 指定安全性群組
resource "alicloud_security_group" "sg_example" {
security_group_name = "sg_example_name"
vpc_id = "vpc-bp1d00iurwfx3pcxxxxx" # VPC ID
}
# 建立安全性群組規則時,引用首碼列表
resource "alicloud_security_group_rule" "sg_rule_pl_example" {
security_group_id = alicloud_security_group.sg_example.id
type = "ingress"
ip_protocol = "tcp"
policy = "accept"
port_range = "8080/8080"
prefix_list_id = "pl-bp1fnjzxkk2m6qrxxxxxx" # VPC首碼列表ID
}處理引用後出現的條目衝突
在VPC路由表或TR路由表引用首碼列表後,若首碼列表變更導致與路由表已有條目衝突,那麼最新變更不會生效。
您可在首碼列表基本資料的關聯頁簽下,查看衝突詳情:發生衝突的引用方其狀態為未關聯到最新版本。將滑鼠懸浮停在該狀態上,查看ErrorMessage擷取衝突的具體條目。
您有2種方法解決衝突:
操作前,請您確保要修改的路由條目不會影響業務。
修改首碼列表:在首碼列表中刪除導致衝突的條目,刪除後系統自動重新下發首碼列表至所有引用方。
修改路由表:在路由表中刪除導致衝突的路由條目,然後手動重新下發首碼列表,直至狀態由未關聯到最新版本變為下發成功。
下面講述手動重新下發首碼列表的步驟。
控制台
前往專用網路控制台VPC首碼列表頁面。先在頂部功能表列左上處選擇目標地區,再單擊目標首碼列表的執行個體ID。
切換到關聯頁簽,找到目標引用方,單擊操作列的重試。
API
調用RetryVpcPrefixListAssociation重新下發首碼列表。
Terraform
在不修改首碼列表條目的情況下,Terraform暫不支援重新下發首碼列表。
共用首碼列表
通過共用首碼列表,不同帳號可以引用相同的首碼列表來配置安全性群組或路由,實現對特定IP位址區段的統一管理,避免重複維護相同的IP段,從而提升維護效率並減少配置錯誤。
下面以帳號A將首碼列表共用給帳號B為例進行說明,此時帳號A是首碼列表所有者,帳號B是首碼列表使用者。
所有者可將其首碼列表共用給任意阿里雲賬戶,也可以僅在資來源目錄內共用。
控制台
開啟共用
此處僅介紹將首碼列表共用給任意賬戶的方式。針對資來源目錄方式,請參考僅在資來源目錄內共用資源。
管理共用首碼列表和使用者
首碼列表所有者可參考如下步驟,查看或增刪共用首碼列表及其使用者。
登入首碼列表所有者的帳號,前往資源管理主控台的資源共用-我的共用頁面。在頂部功能表列左上處,選擇已共用的首碼列表所在的地區。
在我的共用頁面,您可以:
查看已共用的首碼列表:單擊共用的資源頁簽進行查看。
查看共用首碼列表的使用者:單擊資源使用者頁簽進行查看。
單擊共用單元頁簽,找到目標共用單元,單擊共用單元ID。
您可以點擊資源或資源使用者頁簽,分別查看此共用單元內的共用首碼列表和使用者。
如果資源和資源使用者頁簽的共用狀態顯示為已關聯時,表示共用的資源和資源使用者添加成功:

在目標共用單元頁面,單擊右上方編輯共用單元,您可以在此共用單元內:
增加或刪除共用首碼列表:在第一步,勾選或取消勾選首碼列表。
增加或刪除共用首碼列表的使用者:在第三步,添加或刪除帳號UID。
檢查無誤後,在編輯共用單元頁面的第四步,單擊確定。
API
開啟共用
方式一:共用給任意賬戶
使用首碼列表所有者的身份憑證,調用CreateResourceShare建立共用單元,並確保將
AllowExternalTargets參數設為True。使用首碼列表使用者的身份憑證,先調用ListResourceShareInvitations查詢收到的資源邀請資訊,再調用AcceptResourceShareInvitation接受資源共用邀請。
方式二:僅在資來源目錄內共用
操作前,請確保首碼列表所有者和使用者已加入同一個資來源目錄。
使用資來源目錄管理帳號的身份憑證,調用EnableSharingWithResourceDirectory啟用資來源目錄組織共用。
使用首碼列表所有者的身份憑證,調用CreateResourceShare建立共用單元,並確保將
AllowExternalTargets參數設為False。
管理共用首碼列表和使用者
首碼列表所有者,查看已被共用的共用首碼列表及使用者:
調用ListSharedResources查看共用首碼列表。
調用ListSharedTargets查看共用首碼列表的使用者列表。
首碼列表所有者,在共用單元內管理共用首碼列表及使用者:
調用ListResourceShareAssociations查看共用單元內的首碼列表或使用者。
調用AssociateResourceShare在共用單元內增加共用首碼列表或使用者。
調用DisassociateResourceShare在共用單元內刪除共用首碼列表或使用者。
Terraform
當前Terraform不支援將首碼列表共用給任意賬戶,僅支援在資來源目錄內共用,請您在操作前確保資來源目錄管理帳號已啟用資來源目錄組織共用。
Resources: alicloud_resource_manager_resource_share、alicloud_resource_manager_shared_resource、alicloud_resource_manager_shared_target
使用首碼列表所有者的身份憑證,開啟共用:
# 指定地區
provider "alicloud" {
region = "cn-hangzhou"
}
# 指定共用單元名稱
resource "alicloud_resource_manager_resource_share" "example_unit" {
resource_share_name = "example_unit_name"
}
# 指定共用首碼列表
resource "alicloud_resource_manager_shared_resource" "example_vsw" {
resource_share_id = alicloud_resource_manager_resource_share.example_unit.id
resource_id = "pl-bp18t4lsc3e4yd6xxxxx" # 要共用的首碼列表ID
resource_type = "PrefixList" # 資源類型為首碼列表
}
# 指定共用首碼列表的使用者
resource "alicloud_resource_manager_shared_target" "example_target" {
resource_share_id = alicloud_resource_manager_resource_share.example_unit.id
target_id = "101xxxxxxxxxxxxxxx" # 首碼列表使用者的UID
}更多資訊
計費
首碼列表功能不收取任何費用。
支援的地區
地區 | 支援首碼列表的地區 |
亞太地區-中國 | 華東1(杭州)、華東2(上海)、華東5 (南京-本地地區-關停中)、華北1(青島)、華北2(北京)、華北3(張家口)、華北5(呼和浩特)、華北6(烏蘭察布)、華南1(深圳)、華南2(河源)、華南3(廣州)、西南1(成都)、中國香港、華中1(武漢-本地地區)、華東6(福州-本地地區-關停中) |
亞太地區-其他 | 日本(東京)、韓國(首爾)、新加坡、馬來西亞(吉隆坡)、印尼(雅加達)、菲律賓(馬尼拉)、泰國(曼穀) |
歐美地區 | 德國(法蘭克福)、英國(倫敦)、美國(矽谷)、美國(維吉尼亞)、墨西哥 |
中東 | 阿聯酋(杜拜)、沙特(利雅得)- 夥伴營運 |
配額
配額名稱 | 描述 | 預設限制 | 提升配額 |
vpc_quota_prefixlist_num | 單個阿里雲帳號支援建立的首碼列表個數 | 10個 | |
vpc_quota_prefixlist_cidr_num_per_prefixlist | 單個首碼列表支援的CIDR條目數 | 50條 | |
vpc_quota_prefixlist_accept_shared_prefixlist_num | 單個資源使用者支援接受的共用首碼列表個數 | 100個 | |
vpc_quota_prefixlist_share_user_num_per_prefixlist | 單個首碼列表支援共用給資源使用者的個數 | 10個 |
關於資源共用的配額,請參見資源共用使用限制。
