13.4. AWS 계정 준비
Amazon Route 53 공용 호스팅 영역 ID를 검색합니다.
export ZONE_ID=$(aws route53 list-hosted-zones-by-name --output json \ --dns-name "${DOMAIN}." --query 'HostedZones[0]'.Id --out text | sed 's/\/hostedzone\///')
$ export ZONE_ID=$(aws route53 list-hosted-zones-by-name --output json \ --dns-name "${DOMAIN}." --query 'HostedZones[0]'.Id --out text | sed 's/\/hostedzone\///')
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ingress 컨트롤러의 정식 도메인에 대한 DNS 확인을 활성화하기 위해 필요한 DNS 변경 사항이 포함된 문서를 준비합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 외부 DNS Operator는 이 정식 도메인을 CNAME 레코드의 대상으로 사용합니다.
승인을 위해 Amazon Route 53에 변경 사항을 제출합니다.
aws route53 change-resource-record-sets \ --hosted-zone-id ${ZONE_ID} \ --change-batch file://${SCRATCH}/create-cname.json
aws route53 change-resource-record-sets \ --hosted-zone-id ${ZONE_ID} \ --change-batch file://${SCRATCH}/create-cname.json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 외부 DNS
Operator가 사용자 정의 도메인 공용 호스팅 영역 만 업데이트할 수 있는 AWS IAM 정책 문서를 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow AWS IAM 사용자를 생성합니다.
aws iam create-user --user-name "${CLUSTER}-external-dns-operator"
$ aws iam create-user --user-name "${CLUSTER}-external-dns-operator"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 정책을 연결합니다.
aws iam attach-user-policy --user-name "${CLUSTER}-external-dns-operator" --policy-arn $POLICY_ARN
$ aws iam attach-user-policy --user-name "${CLUSTER}-external-dns-operator" --policy-arn $POLICY_ARN
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고이는 향후 IRSA를 사용하여 STS로 변경됩니다.
IAM 사용자에 대한 AWS 키를 생성합니다.
SECRET_ACCESS_KEY=$(aws iam create-access-key --user-name "${CLUSTER}-external-dns-operator")
$ SECRET_ACCESS_KEY=$(aws iam create-access-key --user-name "${CLUSTER}-external-dns-operator")
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 정적 인증 정보를 생성합니다.
cat << EOF > "${SCRATCH}/credentials" [default] aws_access_key_id = $(echo $SECRET_ACCESS_KEY | jq -r '.AccessKey.AccessKeyId') aws_secret_access_key = $(echo $SECRET_ACCESS_KEY | jq -r '.AccessKey.SecretAccessKey') EOF
$ cat << EOF > "${SCRATCH}/credentials" [default] aws_access_key_id = $(echo $SECRET_ACCESS_KEY | jq -r '.AccessKey.AccessKeyId') aws_secret_access_key = $(echo $SECRET_ACCESS_KEY | jq -r '.AccessKey.SecretAccessKey') EOF
Copy to Clipboard Copied! Toggle word wrap Toggle overflow