사용자 지정 도메인 이름 설정 - Amazon Redshift

사용자 지정 도메인 이름 설정

사용자 지정 도메인 이름 설정은 몇 가지 작업으로 구성됩니다. 여기에는 도메인 이름을 DNS 공급자에 등록하고 인증서를 생성하는 작업이 포함됩니다. 이러한 작업을 수행한 후에는 Amazon Redshift 콘솔 또는 Amazon Redshift Serverless 콘솔에서 또는 AWS CLI 명령을 사용하여 사용자 지정 도메인 이름을 구성합니다. 다음 섹션에서는 각 단계에 대해 자세히 설명합니다.

도메인 이름 등록 및 인증서 선택

Amazon Redshift에서 사용자 지정 도메인 이름을 구성하려면 등록된 인터넷 도메인 이름이 있어야 합니다. Route 53를 사용하거나 타사 도메인 등록 서비스 제공자를 사용하여 인터넷 도메인을 등록할 수 있습니다. 이러한 작업은 Amazon Redshift 콘솔 외부에서 완료합니다. 도메인 등록은 나머지 절차를 완료하여 사용자 지정 도메인을 만들기 위한 사전 조건입니다.

참고

프로비저닝된 클러스터를 사용하는 경우 사용자 지정 도메인 이름을 구성하는 단계를 수행하기 전에 클러스터를 재배치할 수 있도록 설정해야 합니다. 자세한 내용은 클러스터 재배치 단원을 참조하십시오. Amazon Redshift Serverless에서는 이 단계가 필요하지 않습니다.

사용자 지정 도메인 이름에는 일반적으로 루트 도메인과 하위 도메인(예: mycluster.example.com)이 포함됩니다. 구성하려면 다음 단계를 수행합니다.

사용자 지정 도메인 이름에 대한 DNS CNAME 항목 생성
  1. 루트 도메인을 등록합니다(예: example.com). 경우에 따라 기존 도메인을 사용할 수도 있습니다. 사용자 지정 이름은 특정 문자에 대한 제한이나 기타 이름 유효성 검사에 의해 제한될 수 있습니다. Route 53에 도메인을 등록하는 방법에 대한 자세한 내용은 새 도메인 등록을 참조하세요.

  2. 사용자 지정 도메인 이름이 클러스터 또는 작업 그룹에 대한 Redshift 엔드포인트를 가리키도록 하는 DNS CNAME 레코드를 추가합니다. 엔드포인트는 Redshift 콘솔 또는 Amazon Redshift Serverless 콘솔의 클러스터 또는 작업 그룹 속성에서 찾을 수 있습니다. 클러스터 또는 작업 그룹 속성의 일반 정보에 있는 JDBC URL을 복사합니다. URL은 다음과 같습니다.

    • Amazon Redshift 클러스터: redshift-cluster-sample.abc123456.us-east-1.redshift.amazonaws.com

    • Amazon Redshift Serverless 작업 그룹: endpoint-name.012345678901.us-east-1-dev.redshift-serverless-dev.amazonaws.com

    URL에 JDBC 접두사가 있는 경우 제거하세요.

    참고

    각 이름은 고유해야 하며 조직 내에서 사용할 수 있어야 하므로 DNS 레코드는 사용 가능 여부에 따라 달라질 수 있습니다.

제한 사항

사용자 지정 도메인의 CNAME 레코드 생성에는 몇 가지 제약이 있습니다.

  • 동일한 프로비저닝된 클러스터 또는 Amazon Redshift Serverless 작업 그룹에 대해 사용자 지정 도메인 이름을 여러 개 생성하는 것은 지원되지 않습니다. 단 한 개의 CNAME 레코드만 연결할 수 있습니다.

  • CNAME 레코드를 둘 이상의 클러스터 또는 작업 그룹과 연결하는 것은 지원되지 않습니다. 각 Redshift 리소스의 CNAME은 고유해야 합니다.

도메인을 등록하고 CNAME 레코드를 생성한 후 새 인증서 또는 기존 인증서를 선택합니다. 다음 단계는 AWS Certificate Manager를 사용하여 수행합니다.

도메인 이름에 대해 ACM에 인증서 요청
  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/acm/에서 ACM 콘솔을 엽니다.

  2. 인증서 요청을 선택합니다.

  3. 도메인 이름 필드에 사용자 지정 도메인 이름을 입력합니다.

    참고

    여러 사용자 지정 도메인 레코드에 단일 인증서를 사용하기 위해 인증서 도메인 외에 여러 접두사를 지정할 수 있습니다. 예를 들어, 동일한 인증서로 one.example.comtwo.example.com과 같은 추가 레코드 또는 *.example.com과 같은 와일드카드 DNS 레코드를 사용할 수 있습니다.

  4. [Review and request]를 선택합니다.

  5. [Confirm and request]를 선택합니다.

  6. 요청이 유효하려면 ACM이 인증서를 발급하기 전에 인터넷 도메인의 등록 소유자가 요청에 동의해야 합니다. 단계를 완료하면 ACM 콘솔에서 상태가 발급됨으로 표시되는지 확인합니다.

AWS Certificate Manager에서 사용할 수 있는 관리형 갱신 자격을 충족하는 DNS 검증이 완료된 인증서를 생성하는 것이 좋습니다. 관리형 갱신이란 만료일이 다가오면 ACM이 인증서를 자동으로 갱신하거나 이메일 알림을 보내는 것입니다. 자세한 내용은 ACM 인증서의 관리형 갱신을 참조하세요.

사용자 지정 도메인 생성

Amazon Redshift 또는 Amazon Redshift Serverless 콘솔을 사용하여 사용자 지정 도메인 URL을 만들 수 있습니다. 구성하지 않은 경우 사용자 지정 도메인 이름 속성은 일반 정보 아래에 대시(-)로 표시됩니다. CNAME 레코드와 인증서를 만든 후에는 클러스터 또는 작업 그룹에 대한 사용자 지정 도메인 이름을 연결합니다.

사용자 지정 도메인 연결을 생성하려면 다음 IAM 권한이 필요합니다.

  • redshift:CreateCustomDomainAssociation — ARN을 추가하여 특정 클러스터에 대한 권한을 제한할 수 있습니다.

  • redshiftServerless:CreateCustomDomainAssociation - 작업 그룹의 ARN을 추가하여 해당 작업 그룹에 대한 권한을 제한할 수 있습니다.

  • acm:DescribeCertificate

가장 좋은 방법은 권한 정책을 IAM 역할에 연결한 다음 필요에 따라 사용자 및 그룹에 할당하는 것입니다. 자세한 내용은 Amazon Redshift의 Identity and Access Management를 참조하세요.

다음 단계를 수행하여 사용자 지정 도메인 이름을 할당합니다.

  1. Redshift 콘솔에서 클러스터를 선택하거나 Amazon Redshift Serverless 콘솔에서 작업 그룹을 선택한 다음 작업 메뉴에서 사용자 지정 도메인 이름 생성을 선택합니다. 대화 상자가 나타납니다.

  2. 사용자 지정 도메인 이름을 입력합니다.

  3. AWS Certificate Manager에서 ACM 인증서에 대한 ARN을 선택합니다. 변경 내용을 확인합니다. 인증서 생성 단계의 지침에 따라 AWS Certificate Manager를 통해 관리형 갱신이 가능하고 DNS 검증이 완료된 인증서를 선택하는 것이 좋습니다.

  4. 클러스터 속성에서 사용자 지정 도메인 이름 및 사용자 지정 도메인 인증서 ARN이 입력한 항목으로 채워졌는지 확인합니다. 사용자 지정 도메인 인증서 만료 날짜도 나열됩니다.

사용자 지정 도메인을 구성한 후에는 새 사용자 지정 도메인에 대해서만 sslmode=verify-full을 사용할 수 있습니다. 기본 엔드포인트에서는 작동하지 않습니다. 하지만 sslmode=verify-ca와 같은 다른 SSL 모드를 사용하여 기본 엔드포인트에 연결할 수 있습니다.

참고

클러스터 재배치는 추가 Redshift 네트워킹 기능을 구성하기 위한 사전 조건은 아니라는 점을 기억하시기 바랍니다. 다음 기능을 활성화하기 위해 이 기능을 켤 필요는 없습니다.

  • 계정 간 또는 리전 간 VPC에서 Redshift로 연결 - 하나의 AWS Virtual Private Cloud(VPC)에서 Redshift 데이터베이스를 포함하는 다른 VPC로 연결할 수 있습니다. 따라서 데이터베이스에 연결하는 ID에 대한 로컬 VPC 액세스를 제공하지 않고도 서로 다른 계정이나 VPC에서의 클라이언트 액세스 등을 더 쉽게 관리할 수 있습니다. 자세한 내용은 다른 계정 또는 리전의 Redshift VPC 엔드포인트에서 Amazon Redshift Serverless에 연결을 참조하세요.

  • 사용자 지정 도메인 이름 설정 - 이 주제에 설명된 대로 사용자 지정 도메인 이름을 생성하여 엔드포인트 이름을 보다 관련성 있고 간단하게 만들 수 있습니다.

콘솔을 사용하여 사용자 지정 도메인이 할당된 클러스터의 이름 변경

참고

이 일련의 단계는 Amazon Redshift Serverless 작업 그룹에는 적용되지 않습니다. 작업 그룹 이름은 변경할 수 없습니다.

사용자 지정 도메인 이름이 있는 클러스터의 이름을 바꾸려면 acm:DescribeCertificate IAM 권한이 필요합니다.

  1. Amazon Redshift 콘솔로 이동하여 이름을 변경하려는 클러스터를 선택합니다. 편집을 선택하여 클러스터 속성을 편집합니다.

  2. 클러스터 식별자를 편집합니다. 클러스터의 다른 속성도 변경할 수 있습니다. 변경 사항 저장(Save changes)을 선택합니다.

  3. 클러스터의 이름이 변경된 후에는 DNS 레코드를 업데이트하여 사용자 지정 도메인의 CNAME 항목이 업데이트된 Amazon Redshift 엔드포인트를 가리키도록 변경해야 합니다.

CLI 명령을 사용하여 사용자 지정 도메인 연결 설명

이 섹션의 명령을 사용하여 프로비저닝된 특정 클러스터 또는 Amazon Redshift Serverless 작업 그룹과 연결된 사용자 지정 도메인 이름 목록을 가져올 수 있습니다.

다음 권한이 필요합니다.

  • 프로비저닝된 클러스터: redshift:DescribeCustomDomainAssociations

  • Amazon Redshift Serverless 작업 그룹: redshiftServerless:ListCnameAssociations

가장 좋은 방법은 권한 정책을 IAM 역할에 연결한 다음 필요에 따라 사용자 및 그룹에 할당하는 것입니다. 자세한 내용은 Amazon Redshift의 Identity and Access Management를 참조하세요.

다음은 주어진 Amazon Redshift 클러스터에 대한 사용자 지정 도메인 이름을 나열하는 샘플 명령입니다.

aws redshift describe-custom-domain-associations ––custom-domain-name customdomainname

사용자 지정 도메인 이름을 활성화한 경우 이 명령을 실행하여 클러스터와 연결된 사용자 지정 도메인 이름을 확인할 수 있습니다. 사용자 지정 도메인 연결을 설명하기 위한 CLI 명령에 대한 자세한 내용은 describe-custom-domain-associations를 참조하세요.

마찬가지로 다음은 주어진 Amazon Redshift Serverless 작업 그룹의 사용자 지정 도메인 이름을 나열하는 샘플 명령을 보여줍니다. 몇 가지 방법으로 수행할 수 있습니다. 사용자 지정 도메인 이름만 제공할 수 있습니다.

aws redshift-serverless list-custom-domain-associations ––custom-domain-name customdomainname

인증서 ARN만 제공하여 연결을 가져올 수도 있습니다.

aws redshift-serverless list-custom-domain-associations ––custom-domain-certificate-arn certificatearn

사용자 지정 도메인 이름을 활성화한 경우 이 명령을 실행하여 작업 그룹과 연결된 사용자 지정 도메인 이름을 확인할 수 있습니다. 명령을 실행하여 사용자 지정 도메인 연결의 속성을 가져올 수도 있습니다. 이렇게 하려면 사용자 지정 도메인 이름과 작업 그룹 이름을 파라미터로 제공해야 합니다. 인증서 ARN, 작업 그룹 이름, 사용자 지정 도메인의 인증서 만료 시간을 반환합니다.

aws redshift-serverless get-custom-domain-association ––workgroup-name workgroupname ––custom-domain-name customdomainname

Amazon Redshift Serverless에서 사용할 수 있는 CLI 참조 명령에 대한 자세한 내용은 redshift-serverless를 참조하세요.

사용자 지정 도메인을 다른 인증서와 연결

사용자 지정 도메인 이름에 대한 인증서 연결을 변경하려면 다음 IAM 권한이 필요합니다.

  • redshift:ModifyCustomDomainAssociation

  • acm:DescribeCertificate

가장 좋은 방법은 권한 정책을 IAM 역할에 연결한 다음 필요에 따라 사용자 및 그룹에 할당하는 것입니다. 자세한 내용은 Amazon Redshift의 Identity and Access Management를 참조하세요.

다음 명령을 사용하여 사용자 지정 도메인을 다른 인증서와 연결합니다. ––custom-domain-namecustom-domain-certificate-arn 인수는 필수입니다. 새 인증서의 ARN은 기존 ARN과 달라야 합니다.

aws redshift modify-custom-domain-association ––cluster-id redshiftcluster ––custom-domain-name customdomainname ––custom-domain-certificate-arn certificatearn

다음 샘플은 사용자 지정 도메인을 Amazon Redshift Serverless 작업 그룹의 다른 인증서와 연결하는 방법을 보여줍니다.

aws redshift-serverless modify-custom-domain-association ––workgroup-name redshiftworkgroup ––custom-domain-name customdomainname ––custom-domain-certificate-arn certificatearn

클러스터에 연결할 수 있기까지 최대 30초의 지연이 있습니다. 지연의 일부는 Amazon Redshift 클러스터가 속성을 업데이트할 때 발생하며, DNS가 업데이트될 때 약간의 추가 지연이 있습니다. API 및 각 속성 설정에 대한 자세한 내용은 ModifyCustomDomainAssociation을 참조하세요.

사용자 지정 도메인 삭제

사용자 지정 도메인 이름을 삭제하려면 사용자에게 다음 작업에 대한 권한이 있어야 합니다.

  • 프로비저닝된 클러스터: redshift:DeleteCustomDomainAssociation

  • Amazon Redshift Serverless 작업 그룹: redshiftServerless:DeleteCustomDomainAssociation

콘솔에서

작업 버튼을 선택하고 사용자 지정 도메인 이름 삭제를 선택하여 사용자 지정 도메인 이름을 삭제할 수 있습니다. 이렇게 한 후에도 콘솔에 나열된 엔드포인트를 사용하도록 도구를 업데이트하여 서버에 연결할 수 있습니다.

CLI 명령 사용

다음 샘플은 사용자 지정 도메인 이름을 삭제하는 방법을 보여줍니다. 삭제 작업을 수행하려면 클러스터의 기존 사용자 지정 도메인 이름을 제공해야 합니다.

aws redshift delete-custom-domain-association ––cluster-id redshiftcluster ––custom-domain-name customdomainname

다음 샘플은 Amazon Redshift Serverless 작업 그룹의 사용자 지정 도메인 이름을 삭제하는 방법을 보여줍니다. 사용자 지정 도메인 이름은 필수 파라미터입니다.

aws redshift-serverless delete-custom-domain-association ––workgroup-name workgroupname ––custom-domain-name customdomainname

자세한 내용은 DeleteCustomDomainAssociation을 참조하세요.

SQL 클라이언트를 사용하여 사용자 지정 도메인 이름으로 클러스터 또는 작업 그룹에 연결

사용자 지정 도메인 이름에 연결하려면 프로비저닝된 클러스터의 경우 redshift:DescribeCustomDomainAssociations IAM 권한이 필요합니다. Amazon Redshift Serverless의 경우 권한을 추가할 필요가 없습니다.

가장 좋은 방법은 권한 정책을 IAM 역할에 연결한 다음 필요에 따라 사용자 및 그룹에 할당하는 것입니다. 자세한 내용은 Amazon Redshift의 Identity and Access Management를 참조하세요.

콘솔에서 CNAME을 생성하고 클러스터 또는 적업 그룹에 할당하는 단계를 완료한 후에는 SQL 클라이언트의 연결 속성에서 사용자 지정 URL을 제공할 수 있습니다. CNAME 레코드가 생성된 직후에는 DNS 전파로 인해 지연이 있을 수 있습니다.

  1. SQL 클라이언트를 엽니다. 예를 들어 SQL/Workbench J를 사용하여 연결 속성을 열고 연결 문자열에 대한 사용자 지정 도메인 이름을 추가할 수 있습니다. 예를 들면 jdbc:redshift://mycluster.example.com:5439/dev?sslmode=verify-full입니다. 이 예제에서는 dev가 기본 데이터베이스를 지정합니다.

  2. 데이터베이스 사용자의 사용자 이름과 암호를 추가합니다.

  3. 연결을 테스트합니다. 특정 테이블과 같은 데이터베이스 리소스를 쿼리하는 기능은 데이터베이스 사용자에게 부여된 권한 또는 할당된 Amazon Redshift 데이터베이스 역할에 부여된 권한에 따라 달라질 수 있습니다.

    클러스터 또는 작업 그룹이 VPC에 있는 경우 클러스터 또는 작업 그룹에 연결하려면 공개적으로 액세스할 수 있도록 설정해야 할 수도 있습니다. 이 설정은 네트워크 속성에서 변경할 수 있습니다.

참고

사용자 지정 도메인 이름에 대한 연결은 JDBC 및 Python 드라이버에서 지원됩니다. ODBC 연결은 지원되지 않습니다.