4.2. 配置 AWS 安全组以访问 API
使用带有 HCP 私有集群的 ROSA,客户 VPC 中公开的 AWS PrivateLink 端点具有默认安全组。这个安全组可以访问 PrivateLink 端点,仅限于 VPC 或存在与 VPC CIDR 范围关联的 IP 地址的资源。要通过 VPC 对等和传输网关授予对 VPC 之外的任何实体的访问权限,您必须创建另一个安全组并将其附加到 PrivateLink 端点,以授予必要的访问权限。
先决条件
- 您的企业网络或其他 VPC 已连接。
- 您有在 VPC 中创建和附加安全组的权限。
流程
运行以下命令,将集群名称设置为环境变量:
$ export CLUSTER_NAME=<cluster_name>
您可以运行以下命令来验证变量是否已设置:
$ echo $CLUSTER_NAME
输出示例
hcp-private
运行以下命令,查找 VPC 端点(VPCE) ID 和 VPC ID:
$ read -r VPCE_ID VPC_ID <<< $(aws ec2 describe-vpc-endpoints --filters "Name=tag:api.openshift.com/id,Values=$(rosa describe cluster -c ${CLUSTER_NAME} -o yaml | grep '^id: ' | cut -d' ' -f2)" --query 'VpcEndpoints[].[VpcEndpointId,VpcId]' --output text)
运行以下命令来创建您的安全组:
$ export SG_ID=$(aws ec2 create-security-group --description "Granting API access to ${CLUSTER_NAME} from outside of VPC" --group-name "${CLUSTER_NAME}-api-sg" --vpc-id $VPC_ID --output text)
运行以下命令,在安全组中添加入站规则:
$ aws ec2 authorize-security-group-ingress --group-id $SG_ID --ip-permissions FromPort=443,ToPort=443,IpProtocol=tcp,IpRanges=[{CidrIp=0.0.0.0/0}]
运行以下命令,在 VPCE 中添加新安全组:
$ aws ec2 modify-vpc-endpoint --vpc-endpoint-id $VPCE_ID --add-security-group-ids $SG_ID
现在,您可以使用 HCP 私有集群通过 ROSA 访问 API。