本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 CLI AWS 開始使用 IPAM
本教學課程將引導您完成設定和使用 Amazon VPC IP Address Manager (IPAM) 與使用單一 AWS 帳戶的 AWS CLI 的程序。在本教學課程結束時,您將建立 IPAM、建立 IP 地址集區的階層,並將 CIDR 配置給 VPC。
先決條件
開始本教學課程之前,請確定您已:
-
具有建立和管理 IPAM 資源許可 AWS 的帳戶。
-
CLI AWS 已安裝並使用適當的登入資料設定。如需安裝 AWS CLI 的資訊,請參閱安裝或更新最新版本的 AWS CLI。如需設定 CLI AWS 的資訊,請參閱組態基本概念。
-
對 IP 定址和 CIDR 表示法的基本了解。
-
Amazon VPC 概念的基本知識。
-
完成教學課程約需 30 分鐘。
建立 IPAM
第一步是使用操作區域建立 IPAM。IPAM 可協助您規劃、追蹤和監控 AWS 工作負載的 IP 地址。
使用 us-east-1 和 us-west-2 中的操作區域建立 IPAM:
aws ec2 create-ipam \ --description "My IPAM" \ --operating-regions RegionName=us-east-1 RegionName=us-west-2
此命令會建立 IPAM,並使其能夠管理指定區域中的 IP 地址。操作區域是允許 IPAM 管理 IP 地址 CIDRs AWS 的區域。
確認您的 IPAM 已建立:
aws ec2 describe-ipams
請記下輸出的 IPAM ID,因為後續步驟會需要它。
等待 IPAM 完全建立並可用 (約 20 秒):
sleep 20
取得 IPAM 範圍 ID
當您建立 IPAM 時, AWS 會自動建立私有和公有範圍。在本教學課程中,我們將使用私有範圍。
擷取 IPAM 詳細資訊並擷取私有範圍 ID:
aws ec2 describe-ipams --ipam-id ipam-0abcd1234
ipam-0abcd1234
將 取代為您實際的 IPAM ID。
從輸出中,識別並記下 PrivateDefaultScopeId
欄位的私有範圍 ID。這看起來會像是 ipam-scope-0abcd1234
。
建立頂層 IPv4 集區
現在,讓我們在私有範圍內建立頂層集區。此集區將做為階層中所有其他集區的父集區。
建立最上層 IPv4 集區:
aws ec2 create-ipam-pool \ --ipam-scope-id ipam-scope-0abcd1234 \ --address-family ipv4 \ --description "Top-level pool"
ipam-scope-0abcd1234
將 取代為您實際的私有範圍 ID。
等待集區完全建立並可用:
aws ec2 describe-ipam-pools --ipam-pool-ids ipam-pool-0abcd1234 --query 'IpamPools[0].State' --output text
ipam-pool-0abcd1234
將 取代為您實際的頂層集區 ID。在繼續create-complete
之前,狀態應該是 。
集區可用後,為其佈建 CIDR 區塊:
aws ec2 provision-ipam-pool-cidr \ --ipam-pool-id ipam-pool-0abcd1234 \ --cidr 10.0.0.0/8
等待 CIDR 完全佈建:
aws ec2 get-ipam-pool-cidrs --ipam-pool-id ipam-pool-0abcd1234 --query "IpamPoolCidrs[?Cidr=='10.0.0.0/8'].State" --output text
在繼續provisioned
之前,狀態應該是 。
建立區域 IPv4 集區
接著,在頂層集區中建立區域集區。此集區將專屬於特定 AWS 區域。
建立區域 IPv4 集區:
aws ec2 create-ipam-pool \ --ipam-scope-id ipam-scope-0abcd1234 \ --source-ipam-pool-id ipam-pool-0abcd1234 \ --locale us-east-1 \ --address-family ipv4 \ --description "Regional pool in us-east-1"
ipam-scope-0abcd1234
將 取代為您實際的私有範圍 ID,並將 ipam-pool-0abcd1234
取代為您的最上層集區 ID。
等待區域集區完全建立並可用:
aws ec2 describe-ipam-pools --ipam-pool-ids ipam-pool-1abcd1234 --query 'IpamPools[0].State' --output text
ipam-pool-1abcd1234
將 取代為您實際的區域集區 ID。在繼續create-complete
之前,狀態應該是 。
集區可用後,為其佈建 CIDR 區塊:
aws ec2 provision-ipam-pool-cidr \ --ipam-pool-id ipam-pool-1abcd1234 \ --cidr 10.0.0.0/16
等待 CIDR 完全佈建:
aws ec2 get-ipam-pool-cidrs --ipam-pool-id ipam-pool-1abcd1234 --query "IpamPoolCidrs[?Cidr=='10.0.0.0/16'].State" --output text
在繼續provisioned
之前,狀態應該是 。
建立開發 IPv4 集區
現在,在區域集區中建立開發集區。此集區將用於開發環境。
建立開發 IPv4 集區:
aws ec2 create-ipam-pool \ --ipam-scope-id ipam-scope-0abcd1234 \ --source-ipam-pool-id ipam-pool-1abcd1234 \ --locale us-east-1 \ --address-family ipv4 \ --description "Development pool"
ipam-scope-0abcd1234
將 取代為您實際的私有範圍 ID,並將 ipam-pool-1abcd1234
取代為您的區域集區 ID。
注意:請務必包含 --locale
參數,以符合父集區的地區設定。
等待開發集區完全建立並可用:
aws ec2 describe-ipam-pools --ipam-pool-ids ipam-pool-2abcd1234 --query 'IpamPools[0].State' --output text
將 取代ipam-pool-2abcd1234
為您實際的開發集區 ID。在繼續create-complete
之前,狀態應該是 。
集區可用後,為其佈建 CIDR 區塊:
aws ec2 provision-ipam-pool-cidr \ --ipam-pool-id ipam-pool-2abcd1234 \ --cidr 10.0.0.0/24
等待 CIDR 完全佈建:
aws ec2 get-ipam-pool-cidrs --ipam-pool-id ipam-pool-2abcd1234 --query "IpamPoolCidrs[?Cidr=='10.0.0.0/24'].State" --output text
在繼續provisioned
之前,狀態應該是 。
使用 IPAM 集區 CIDR 建立 VPC
最後,建立使用來自 IPAM 集區的 CIDR 的 VPC。這示範如何使用 IPAM 將 IP 地址空間配置給 AWS 資源。
使用 IPAM 集區 CIDR 建立 VPC:
aws ec2 create-vpc \ --ipv4-ipam-pool-id ipam-pool-2abcd1234 \ --ipv4-netmask-length 26 \ --tag-specifications 'ResourceType=vpc,Tags=[{Key=Name,Value=IPAM-VPC}]'
將 取代ipam-pool-2abcd1234
為您實際的開發集區 ID。
--ipv4-netmask-length 26
參數指定您希望從集區配置 /26 CIDR 區塊 (64 個 IP 地址)。系統會選擇此網路遮罩長度,以確保其小於集區的 CIDR 區塊 (/24)。
確認您的 VPC 已建立:
aws ec2 describe-vpcs --filters "Name=tag:Name,Values=IPAM-VPC"
驗證 IPAM 集區配置
檢查 CIDR 是否已從您的 IPAM 集區配置:
aws ec2 get-ipam-pool-allocations \ --ipam-pool-id ipam-pool-2abcd1234
將 取代ipam-pool-2abcd1234
為您實際的開發集區 ID。
此命令會顯示來自指定 IPAM 集區的所有配置,包括您剛建立的 VPC。
故障診斷
以下是使用 IPAM 時可能遇到的一些常見問題:
-
許可錯誤:確保您的 IAM 使用者或角色具有建立和管理 IPAM 資源所需的許可。您可能需要
ec2:CreateIpam
、ec2:CreateIpamPool
和其他相關許可。 -
超過資源限制:根據預設,每個帳戶只能建立一個 IPAM。如果您已經有 IPAM,則需要在建立新的 IPAM 或使用現有的 IPAM 之前將其刪除。
-
CIDR 配置失敗:將 CIDRs至集區時,請確定您嘗試佈建的 CIDR 不會與其他集區中的現有配置重疊。
-
API 請求逾時:如果您遇到「RequestExpired」錯誤,可能是因為網路延遲或時間同步問題。再次嘗試 命令。
-
狀態錯誤:如果您收到「IncorrectState」錯誤,可能是因為您嘗試對未處於正確狀態的資源執行 操作。等待資源完全建立或佈建,然後再繼續。
-
配置大小錯誤:如果您收到有關配置大小的「InvalidParameterValue」錯誤,請確定您請求的網路遮罩長度適合集區大小。例如,您無法從 /24 集區配置 /25 CIDR。
-
相依性違規:清除資源時,您可能會遇到「DependencyViolation」錯誤。這是因為資源彼此具有相依性。刪除集區之前,請務必以建立和取消佈建 CIDRs的相反順序刪除資源。
清除資源
完成本教學課程後,您應該清除您建立的資源,以避免產生不必要的費用。
-
刪除 VPC
aws ec2 delete-vpc --vpc-id vpc-0abcd1234
-
從開發集區取消佈建 CIDR:
aws ec2 deprovision-ipam-pool-cidr --ipam-pool-id ipam-pool-2abcd1234 --cidr 10.0.0.0/24
-
刪除開發集區:
aws ec2 delete-ipam-pool --ipam-pool-id ipam-pool-2abcd1234
-
從區域集區取消佈建 CIDR:
aws ec2 deprovision-ipam-pool-cidr --ipam-pool-id ipam-pool-1abcd1234 --cidr 10.0.0.0/16
-
刪除區域集區:
aws ec2 delete-ipam-pool --ipam-pool-id ipam-pool-1abcd1234
-
從頂層集區取消佈建 CIDR:
aws ec2 deprovision-ipam-pool-cidr --ipam-pool-id ipam-pool-0abcd1234 --cidr 10.0.0.0/8
-
刪除最上層集區:
aws ec2 delete-ipam-pool --ipam-pool-id ipam-pool-0abcd1234
-
刪除 IPAM:
aws ec2 delete-ipam --ipam-id ipam-0abcd1234
以您的實際資源 IDs 取代所有 IDs。
注意
您可能需要在這些操作之間等待,才能完全刪除資源,然後再繼續進行下一個步驟。如果您遇到相依性違規,請等待幾秒鐘,然後再試一次。
後續步驟
現在您已了解如何透過 CLI AWS 建立和使用 IPAM,您可能想要探索更進階的功能:
-
規劃 IP 地址佈建 – 了解如何有效地規劃 IP 地址空間
-
依資源監控 CIDR 使用情況 – 了解如何監控 IP 地址用量
-
使用 RAM 共用 IPAM AWS 集區 – 了解如何跨 AWS 帳戶共用 IPAM 集區
-
將 IPAM 與 AWS 組織中的帳戶整合 – 探索如何在組織中使用 IPAM