4.2. AWS PrivateLink 끝점에 추가 AWS 보안 그룹 추가
HCP 클러스터가 있는 ROSA를 사용하면 고객의 VPC에 노출된 AWS PrivateLink 엔드포인트에는 클러스터의 머신 CIDR 범위 내에서 시작되는 요청에 대한 액세스를 제한하는 보안 그룹이 있습니다. VPC 외부의 모든 엔티티, VPC 피어, 전송 게이트웨이 또는 기타 네트워크 연결을 통해 클러스터의 API에 대한 액세스 권한을 부여하려면 다른 보안 그룹을 PrivateLink 엔드포인트에 연결하여 필요한 액세스 권한을 부여해야 합니다.
AWS PrivateLink 엔드포인트에 AWS 보안 그룹 추가는 HCP 버전 4.17.2 이상 버전의 ROSA에서만 지원됩니다.
사전 요구 사항
- 회사 네트워크 또는 기타 VPC가 연결되어 있습니다.
- VPC 내에서 보안 그룹을 생성하고 연결할 수 있는 권한이 있습니다.
절차
다음 명령을 실행하여 클러스터 이름을 환경 변수로 설정합니다.
export CLUSTER_NAME=<cluster_name>
$ export CLUSTER_NAME=<cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 변수가 설정되었는지 확인할 수 있습니다.
echo $CLUSTER_NAME
$ echo $CLUSTER_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
hcp-private
hcp-private
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 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)
$ 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)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 주의기본 AWS PrivateLink 끝점 보안 그룹을 수정하거나 제거하는 것은 지원되지 않으며 예기치 않은 동작이 발생할 수 있습니다.
다음 명령을 실행하여 추가 보안 그룹을 생성합니다.
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)
$ 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)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 보안 그룹에 인바운드(ingress) 규칙을 추가합니다.
aws ec2 authorize-security-group-ingress --group-id $SG_ID --ip-permissions FromPort=443,ToPort=443,IpProtocol=tcp,IpRanges=[{CidrIp=<cidr-to-allow>}] \
$ aws ec2 authorize-security-group-ingress --group-id $SG_ID --ip-permissions FromPort=443,ToPort=443,IpProtocol=tcp,IpRanges=[{CidrIp=<cidr-to-allow>}] \
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 액세스를 허용할 CIDR 블록을 지정합니다.
다음 명령을 실행하여 VPCE에 새 보안 그룹을 추가합니다.
aws ec2 modify-vpc-endpoint --vpc-endpoint-id $VPCE_ID --add-security-group-ids $SG_ID
$ aws ec2 modify-vpc-endpoint --vpc-endpoint-id $VPCE_ID --add-security-group-ids $SG_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
이제 지정된 CIDR 블록에서 HCP 프라이빗 클러스터로 ROSA의 API에 액세스할 수 있습니다.