4.5. AWS에서 DNS 레코드 생성


외부 DNS 운영자를 사용하여 AWS 및 AWS GovCloud에서 DNS 레코드를 생성할 수 있습니다.

Red Hat 외부 DNS 운영자를 사용하여 AWS의 퍼블릭 호스팅 영역에 DNS 레코드를 만들 수 있습니다. 동일한 지침을 사용하여 AWS GovCloud의 호스팅 영역에 DNS 레코드를 만들 수 있습니다.

프로세스

  1. 다음 명령을 실행하여 system:admin 과 같은 사용자 프로필을 확인하세요. 사용자 프로필에는 kube-system 네임스페이스에 대한 액세스 권한이 있어야 합니다. 자격 증명이 없으면 다음 명령을 실행하여 kube-system 네임스페이스에서 자격 증명을 가져와 클라우드 공급자 클라이언트를 사용할 수 있습니다.

    $ oc whoami
  2. kube-system 네임스페이스에 있는 aws-creds secret에서 값을 가져옵니다.

    $ export AWS_ACCESS_KEY_ID=$(oc get secrets aws-creds -n kube-system  --template={{.data.aws_access_key_id}} | base64 -d)
    $ export AWS_SECRET_ACCESS_KEY=$(oc get secrets aws-creds -n kube-system  --template={{.data.aws_secret_access_key}} | base64 -d)
  3. 도메인을 확인하기 위한 경로를 가져옵니다.

    $ oc get routes --all-namespaces | grep console

    출력 예

    openshift-console          console             console-openshift-console.apps.testextdnsoperator.apacshift.support                       console             https   reencrypt/Redirect     None
    openshift-console          downloads           downloads-openshift-console.apps.testextdnsoperator.apacshift.support                     downloads           http    edge/Redirect          None

  4. DNS 영역 목록을 가져오고 이전에 쿼리한 경로의 도메인에 해당하는 DNS 영역을 찾으세요.

    $ aws route53 list-hosted-zones | grep testextdnsoperator.apacshift.support

    출력 예

    HOSTEDZONES	terraform	/hostedzone/Z02355203TNN1XXXX1J6O	testextdnsoperator.apacshift.support.	5

  5. 경로 소스에 대한 ExternalDNS 리소스를 만듭니다.

    $ cat <<EOF | oc create -f -
    apiVersion: externaldns.olm.openshift.io/v1beta1
    kind: ExternalDNS
    metadata:
      name: sample-aws 
    1
    
    spec:
      domains:
      - filterType: Include   
    2
    
        matchType: Exact   
    3
    
        name: testextdnsoperator.apacshift.support 
    4
    
      provider:
        type: AWS 
    5
    
      source:  
    6
    
        type: OpenShiftRoute 
    7
    
        openshiftRouteOptions:
          routerName: default 
    8
    
    EOF
    1
    외부 DNS 리소스의 이름을 정의합니다.
    2
    기본적으로 모든 호스팅 영역이 잠재적 대상으로 선택됩니다. 필요한 호스팅 영역을 포함할 수 있습니다.
    3
    대상 영역의 도메인 일치는 정확해야 합니다(정규 표현식 일치와 대조적으로).
    4
    업데이트하려는 영역의 정확한 도메인을 지정하세요. 경로의 호스트 이름은 지정된 도메인의 하위 도메인이어야 합니다.
    5
    AWS Route53 DNS 공급자를 정의합니다.
    6
    DNS 레코드 소스에 대한 옵션을 정의합니다.
    7
    이전에 지정된 DNS 공급자에서 생성되는 DNS 레코드의 소스로 OpenShift 경로 리소스를 정의합니다.
    8
    소스가 OpenShiftRoute 인 경우 OpenShift Ingress Controller 이름을 전달할 수 있습니다. 외부 DNS 운영자는 CNAME 레코드를 생성하는 동안 해당 라우터의 정식 호스트 이름을 대상으로 선택합니다.
  6. 다음 명령을 사용하여 OCP 경로에 대해 생성된 레코드를 확인하세요.

    $ aws route53 list-resource-record-sets --hosted-zone-id Z02355203TNN1XXXX1J6O --query "ResourceRecordSets[?Type == 'CNAME']" | grep console

4.5.2. 공유 VPC를 사용하여 다른 AWS 계정에 DNS 레코드 만들기

ExternalDNS Operator를 사용하면 공유 Virtual Private Cloud(VPC)를 사용하여 다른 AWS 계정에 DNS 레코드를 만들 수 있습니다. 공유 VPC를 사용하면 조직에서 여러 프로젝트의 리소스를 공통 VPC 네트워크에 연결할 수 있습니다. 그런 다음 조직에서는 VPC 공유를 사용하여 여러 AWS 계정에서 단일 Route 53 인스턴스를 사용할 수 있습니다.

사전 요구 사항

  • Amazon AWS 계정 두 개를 만들었습니다. 하나는 VPC와 Route 53 개인 호스팅 영역이 구성된 계정(계정 A)이고, 다른 하나는 클러스터를 설치하기 위한 계정(계정 B)입니다.
  • 계정 A에서 계정 B가 계정 A의 Route 53 호스팅 영역에 DNS 레코드를 생성할 수 있도록 적절한 권한이 있는 IAM 정책과 IAM 역할을 생성했습니다.
  • 계정 A의 기존 VPC에 계정 B의 클러스터를 설치했습니다.
  • 계정 B의 클러스터에 ExternalDNS Operator를 설치했습니다.

프로세스

  1. 다음 명령을 실행하여 계정 B가 계정 A의 Route 53 호스팅 영역에 액세스할 수 있도록 생성한 IAM 역할의 역할 ARN을 가져옵니다.

    $ aws --profile account-a iam get-role --role-name user-rol1 | head -1

    출력 예

    ROLE	arn:aws:iam::1234567890123:role/user-rol1	2023-09-14T17:21:54+00:00	3600	/	AROA3SGB2ZRKRT5NISNJN	user-rol1

  2. 다음 명령을 실행하여 계정 A의 자격 증명을 사용할 개인 호스팅 영역을 찾습니다.

    $ aws --profile account-a route53 list-hosted-zones | grep testextdnsoperator.apacshift.support

    출력 예

    HOSTEDZONES	terraform	/hostedzone/Z02355203TNN1XXXX1J6O	testextdnsoperator.apacshift.support. 5

  3. 다음 명령을 실행하여 ExternalDNS 객체를 만듭니다.

    $ cat <<EOF | oc create -f -
    apiVersion: externaldns.olm.openshift.io/v1beta1
    kind: ExternalDNS
    metadata:
      name: sample-aws
    spec:
      domains:
      - filterType: Include
        matchType: Exact
        name: testextdnsoperator.apacshift.support
      provider:
        type: AWS
        aws:
          assumeRole:
            arn: arn:aws:iam::12345678901234:role/user-rol1 
    1
    
      source:
        type: OpenShiftRoute
        openshiftRouteOptions:
          routerName: default
    EOF
    1
    DNS 레코드가 계정 A에 생성되도록 역할 ARN을 지정합니다.
  4. 다음 명령을 사용하여 OpenShift Container Platform(OCP) 경로에 대해 생성된 레코드를 확인하세요.

    $ aws --profile account-a route53 list-resource-record-sets --hosted-zone-id Z02355203TNN1XXXX1J6O --query "ResourceRecordSets[?Type == 'CNAME']" | grep console-openshift-console
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat
맨 위로 이동