協助改進此頁面
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
若要為本使用者指南貢獻內容,請點選每個頁面右側面板中的在 GitHub 上編輯此頁面連結。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定 Argo CD 的私有端點存取
根據預設,您可以透過公有網際網路存取 Argo CD 端點。您可以設定私有端點存取,讓 VPC 和 Argo CD 端點之間的流量保持在 AWS 網路中,而無需透過公有網際網路。
當您啟用私有存取時, 會 AWS 更新網域名稱系統 (DNS),以便 Argo CD 端點主機名稱解析為與您的 VPC 端點相關聯的私有 IP 地址。您必須擁有這些私有 IPs網路連線能力 (透過 VPC、虛擬私有網路 (VPN) 連線或 AWS Direct Connect),才能存取 Argo CD 端點。
私有存取的運作方式
當您為 Argo CD 功能設定私有存取時:
-
您可以在 VPC 中為
com.amazonaws.region-code.eks-capabilities服務建立 VPC 端點。 -
您可以在建立或更新 Argo CD 功能時提供 VPC 端點 ID。
-
AWS 設定 DNS 記錄,以便 Argo CD 端點主機名稱解析為與您的 VPC 端點相關聯的私有 IP 地址。
-
Argo CD 端點的所有流量都會私下流經 VPC 端點。
先決條件
-
具有作用中 Argo CD 功能的 Amazon Elastic Kubernetes Service (Amazon EKS) 叢集 (請參閱 建立 Argo CD 功能)
-
熟悉 Amazon VPC 概念,包括子網路、安全群組和界面 VPC 端點
-
在您想要私有存取的可用區域中具有子網路的 VPC
-
AWS 命令列界面 (AWS CLI) 版本
2.12.3或更新版本
步驟 1:為 eks-capabilities 建立 VPC 端點
建立 com.amazonaws.region-code.eks-capabilities服務的介面 VPC 端點。
重要
確定連接到 VPC 端點的安全群組允許傳入 HTTPS (連接埠 443) 流量。流量來源必須包含您的使用者或應用程式存取 Argo CD 端點的所有網路。
步驟 2:在 Argo CD 功能上設定私有存取
在 VPC 端點可用後,設定 Argo CD 功能來使用它。您可以在建立新功能或更新現有功能時設定私有存取。
建立具有私有存取權的新功能
在 create-capability命令networkAccess中包含 。將 region-code、my-cluster 和其他預留位置取代為您的值:
aws eks create-capability \ --regionregion-code\ --cluster-namemy-cluster\ --capability-name my-argocd \ --type ARGOCD \ --role-arnarn:aws:iam::111122223333:role/ArgoCDCapabilityRole\ --configuration '{ "argoCd": { "awsIdc": { "idcInstanceArn": "arn:aws:sso:::instance/ssoins-1234567890abcdef", "idcRegion": "idc-region-code" }, "rbacRoleMappings": [{ "role": "ADMIN", "identities": [{ "id": "user-id", "type": "SSO_USER" }] }], "networkAccess": { "vpceIds": ["vpce-0123456789abcdef0"] } } }'
更新現有功能以啟用私有存取
將 region-code、my-cluster、my-argocd 和 VPC 端點 ID 取代為您的值:
aws eks update-capability \ --regionregion-code\ --cluster-namemy-cluster\ --capability-namemy-argocd\ --configuration '{ "argoCd": { "networkAccess": { "vpceIds": ["vpce-0123456789abcdef0"] } } }'
等待功能更新完成:
aws eks describe-capability \ --regionregion-code\ --cluster-namemy-cluster\ --capability-namemy-argocd\ --query 'capability.status' \ --output text
狀態會在更新完成ACTIVE時傳回 。
步驟 3:驗證 DNS 解析和連線
功能啟用並設定私有存取後,請確認 Argo CD 端點主機名稱解析為私有 IP 地址。
從任何網路執行下列nslookup命令:
nslookupyour-argocd-endpoint.eks-capabilities.region-code.amazonaws.com
回應應該會顯示私有 IP 地址 (例如,RFC 1918 範圍內的地址,例如 10.x.x.x或 172.16.x.x)。
如果端點未解析為私有 IPs,請確認:
-
功能狀態為
ACTIVE(在功能變為作用中後AWS 建立 DNS 記錄) -
VPC 端點處於
available狀態 -
功能組態中的 VPC 端點 ID 符合您建立的端點
注意
設定私有存取後,Argo CD 端點主機名稱會解析為私有 IP 地址。若要連線,您必須透過 VPC、VPN 連線或 AWS Direct Connect 與這些私有 IPs 建立網路連線。
停用私有存取
若要停用私有存取並還原公有端點存取,請更新 功能以移除 VPC IDs:
aws eks update-capability \ --regionregion-code\ --cluster-namemy-cluster\ --capability-namemy-argocd\ --configuration '{ "argoCd": { "networkAccess": { "vpceIds": [] } } }'
考量事項
-
啟用私有存取後,只能從 VPC 內或與其連線的網路 (例如,透過 VPN 或 AWS Direct Connect) 存取 Argo CD 端點。
-
VPC 端點必須保持
available狀態,才能私有存取 函數。如果您刪除 VPC 端點,您會失去 Argo CD 端點的存取權,直到您建立新的端點並更新功能為止。 -
AWS 目前不支援
eks-capabilities服務端點的 VPC 端點政策。