Configurar um nome de domínio personalizado - Amazon Redshift

Configurar um nome de domínio personalizado

A configuração do nome de domínio personalizado consiste em diversas tarefas: entre elas está o registro do nome de domínio com o provedor DNS e a criação de um certificado. Depois de realizar essas partes do trabalho, você vai configurar o nome de domínio personalizado no console do Amazon Redshift ou no console do Amazon Redshift sem servidor ou configurá-lo com comandos AWS CLI. As seções a seguir detalham as etapas.

Registrar um nome de domínio e escolher um certificado

É necessário ter um nome de domínio da internet registrado para configurar um nome de domínio personalizado no Amazon Redshift. Você pode registrar um domínio da internet usando o Route 53 ou um provedor de registro de domínios de terceiros. Você conclui essas tarefas fora do console do Amazon Redshift. Domínio registrado é um pré-requisito para concluir os procedimentos restantes a fim de criar um domínio personalizado.

nota

Se você estiver usando um cluster provisionado, antes de realizar as etapas para configurar o nome de domínio personalizado, ele deverá ter a realocação habilitada. Para ter mais informações, consulte Realocar um cluster. Esta etapa não é necessária para o Amazon Redshift sem servidor.

O nome de domínio personalizado geralmente inclui o domínio raiz e um subdomínio, como mycluster.example.com. Para configurá-lo, execute as seguintes etapas:

Crie uma entrada DNS CNAME para o nome de domínio personalizado
  1. Registre um domínio raiz, por exemplo example.com. Se preferir, use um domínio em vigor. O nome personalizado pode ser limitado por restrições de caracteres específicos ou por outras validações de nomenclatura. Para obter mais informações sobre como registrar um domínio com o Route 53, consulte Registrar um novo domínio.

  2. Adicione um registro DNS CNAME apontando o nome de domínio personalizado para o endpoint do Redshift para o cluster ou o grupo de trabalho. Você pode encontrar o endpoint nas propriedades do cluster ou do grupo de trabalho, no console do Redshift ou no console do Amazon Redshift sem servidor. Copie o URL do JDBC disponível nas propriedades do cluster ou do grupo de trabalho, em Informações gerais. Os URLs têm a seguinte aparência:

    • Para um cluster do Amazon Redshift: redshift-cluster-sample.abc123456.us-east-1.redshift.amazonaws.com

    • Para um grupo de trabalho do Amazon Redshift sem servidor: endpoint-name.012345678901.us-east-1-dev.redshift-serverless-dev.amazonaws.com

    Se o URL tiver um prefixo JDBC, remova-o.

    nota

    Os registros DNS estão sujeitos à disponibilidade, pois cada nome deve ser exclusivo e estar disponível para uso na organização.

Limitações

Existem algumas restrições em relação à criação de registros CNAME para um domínio personalizado:

  • A criação de vários nomes de domínio personalizados para o mesmo cluster provisionado ou o grupo de trabalho do Amazon Redshift sem servidor não é compatível. Você só pode associar um registro CNAME.

  • A associação de um registro CNAME com mais de um cluster ou grupo de trabalho não é compatível. O CNAME de cada recurso do Redshift deve ser exclusivo.

Depois de registrar o domínio e criar o registro CNAME, você seleciona um certificado novo ou em vigor. Você executa essa etapa usando o AWS Certificate Manager:

Solicitar um certificado do ACM para um nome de domínio
  1. Faça login no AWS Management Console e abra o console do ACM em https://console.aws.amazon.com/acm/.

  2. Selecione Request a certificate.

  3. Insira o nome de domínio personalizado no campo Nome de domínio.

    nota

    É possível especificar vários prefixos, além do domínio do certificado, a fim de usar um único certificado para vários registros de domínio personalizado. Para ilustrar, você pode usar registros adicionais, como one.example.com, two.example.com, ou um registro DNS curinga como *.example.com, com o mesmo certificado.

  4. Escolha Review and request.

  5. Escolha Confirm and request.

  6. Para uma solicitação válida, um proprietário registrado do domínio da Internet deve concordar com a solicitação antes que o ACM emita o certificado. O status deve aparecer como Emitido no console do ACM quando você concluir as etapas.

É recomendável criar um certificado validado por DNS que atenda à elegibilidade para renovação gerenciada, disponível com AWS Certificate Manager. Renovação gerenciada indica que o ACM vai renovar automaticamente os certificados ou enviar avisos por e-mail quando a expiração da validade estiver se aproximando. Para obter mais informações, consulte Managed renewal for ACM certificates.

Criar o domínio personalizado

Você pode usar o console do Amazon Redshift ou do Amazon Redshift sem servidor para criar o URL de domínio personalizado. Se você não o configurou, a propriedade de Nome de domínio personalizado aparece como um traço () em Informações gerais. Depois de criar o registro CNAME e o certificado, você vai atribuir o nome de domínio personalizado para o cluster ou o grupo de trabalho.

Para criar uma associação de domínio personalizada, as seguintes permissões do IAM são obrigatórias:

  • redshift:CreateCustomDomainAssociation: é possível restringir a permissão a um cluster específico adicionando seu ARN.

  • redshiftServerless:CreateCustomDomainAssociation: você pode restringir a permissão a um grupo de trabalho específico adicionando o ARN.

  • acm:DescribeCertificate

Como prática recomendada, anexe políticas de permissões a um perfil do IAM e, depois, atribua-as a usuários e grupos, conforme necessário. Para obter mais informações, consulte Gerenciamento de identidade e acesso no Amazon Redshift.

Você atribui o nome de domínio personalizado executando as etapas a seguir.

  1. Escolha o cluster no console do Redshift ou o grupo de trabalho no console do Amazon Redshift sem servidor e escolha Criar nome de domínio personalizado no menu Ação. Uma caixa de diálogo é exibida.

  2. Digite o nome de domínio personalizado.

  3. Selecione o ARN do AWS Certificate Manager para o certificado do ACM. Confirme as alterações. De acordo com as orientações nas etapas que você seguiu para criar o certificado, é recomendável escolher um certificado validado por DNS que seja elegível para renovação gerenciada por meio do AWS Certificate Manager.

  4. Verifique nas propriedades do cluster se o Nome de domínio personalizado e o ARN do certificado de domínio personalizado estão preenchidos com seus dados. A Data de validade do certificado de domínio personalizado também está listada.

Depois que o domínio personalizado for configurado, o uso de sslmode=verify-full só vai funcionar para o novo domínio personalizado. Não funciona para o endpoint padrão. No entanto, você ainda pode se conectar ao endpoint padrão usando outros modos ssl, como sslmode=verify-ca.

nota

A título de lembrete, a realocação do cluster não é um pré-requisito para configurar recursos de rede adicionais do Redshift. Você não precisa ativá-la para permitir o seguinte:

  • Conexão de uma VPC entre contas ou regiões ao Redshift: você pode se conectar a partir de uma nuvem privada virtual (VPC) da AWS a outra que contenha um banco de dados do Redshift. Isso facilita o gerenciamento, por exemplo, do acesso do cliente a partir de contas ou VPCs diferentes, sem precisar dar acesso local à VPC para identidades conectadas ao banco de dados. Para obter mais informações, consulte Connecting to Amazon Redshift Serverless from a Redshift VPC endpoint in another account or region.

  • Configuração de um nome de domínio personalizado: você pode criar um nome de domínio personalizado, conforme descrito neste tópico, para deixar o nome do endpoint mais relevante e simples.

Renomear um cluster que tem um domínio personalizado atribuído usando o console

nota

Essa série de etapas não se aplica a um grupo de trabalho do Amazon Redshift sem servidor. Você não pode alterar o nome do grupo de trabalho.

Para renomear um cluster que tenha um nome de domínio personalizado, é necessária a permissão acm:DescribeCertificate do IAM.

  1. Acesse o console do Amazon Redshift e escolha o cluster cujo nome você deseja alterar. Escolha Editar para editar as propriedades do cluster.

  2. Edite o Identificador do cluster. Também é possível alterar outras propriedades do cluster. Em seguida, escolha Salvar alterações.

  3. Depois de renomear o cluster, você precisará atualizar o registro DNS para alterar a entrada CNAME do domínio personalizado e apontar para o endpoint atualizado do Amazon Redshift.

Descrever associações de domínio personalizadas usando comandos de CLI

Use os comandos nesta seção para obter uma lista de nomes de domínio personalizados associados a um cluster provisionado específico ou a um grupo de trabalho do Amazon Redshift sem servidor.

Você precisa das seguintes permissões:

  • Para um cluster provisionado: redshift:DescribeCustomDomainAssociations

  • Para um grupo de trabalho do Amazon Redshift sem servidor: redshiftServerless:ListCnameAssociations

Como prática recomendada, anexe políticas de permissões a um perfil do IAM e, depois, atribua-as a usuários e grupos, conforme necessário. Para obter mais informações, consulte Gerenciamento de identidade e acesso no Amazon Redshift.

Este é um comando de exemplo para listar os nomes de domínio personalizados para um determinado cluster do Amazon Redshift:

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

Você poderá executar esse comando quando tiver um nome de domínio personalizado habilitado para determinar os nomes de domínio personalizados associados ao cluster. Para obter mais informações sobre o comando CLI para descrever associações de domínio personalizadas, consulte describe-custom-domain-association.

Da mesma forma, este é um comando de exemplo para listar os nomes de domínio personalizados para um determinado grupo de trabalho do Amazon Redshift sem servidor: Existem algumas maneiras diferentes de fazer isso. Você só pode fornecer o nome de domínio personalizado:

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

Você também pode obter as associações fornecendo apenas o ARN do certificado:

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

Você poderá executar esses comandos quando tiver um nome de domínio personalizado habilitado para determinar os nomes de domínio personalizados associados ao grupo de trabalho. Você também pode executar um comando para obter as propriedades de uma associação de domínio personalizada. Para isso, você deve fornecer o nome de domínio personalizado e o nome do grupo de trabalho como parâmetros. Ele retorna o ARN do certificado, o nome do grupo de trabalho e o tempo de expiração do certificado do domínio personalizado:

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

Para obter mais informações sobre comandos de referência da CLI disponíveis para o Amazon Redshift sem servidor, consulte redshift-serverless.

Associação do domínio personalizado a um certificado diferente

Para criar a associação de certificado para um nome de domínio personalizado, as seguintes permissões do IAM são obrigatórias:

  • redshift:ModifyCustomDomainAssociation

  • acm:DescribeCertificate

Como prática recomendada, anexe políticas de permissões a um perfil do IAM e, depois, atribua-as a usuários e grupos, conforme necessário. Para obter mais informações, consulte Gerenciamento de identidade e acesso no Amazon Redshift.

Use o comando a seguir para associar o domínio personalizado a um certificado diferente. Os argumentos custom-domain-certificate-arn e ––custom-domain-name são obrigatórios. O ARN do novo certificado deve ser diferente do ARN existente.

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

O exemplo a seguir mostra como associar o domínio personalizado a um certificado diferente para um grupo de trabalho do Amazon Redshift sem servidor.

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

Há um atraso máximo de 30 segundos até você conseguir se conectar ao cluster. Parte desse atraso ocorre quando o cluster do Amazon Redshift atualiza suas propriedades, e há um atraso adicional à medida que o DNS é atualizado. Para obter mais informações sobre a API e cada configuração de propriedade, consulte ModifyCustomDomainAssociation.

Exclusão do domínio personalizado

Para excluir o nome de domínio personalizado, o usuário deve ter permissões para as seguintes ações:

  • Para um cluster provisionado: redshift:DeleteCustomDomainAssociation

  • Para um grupo de trabalho do Amazon Redshift sem servidor: redshiftServerless:DeleteCustomDomainAssociation

No console

Você pode excluir o nome de domínio personalizado selecionando o botão Ações e escolhendo Excluir nome de domínio personalizado. Depois de fazer isso, você ainda conseguirá se conectar ao servidor atualizando as ferramentas para usar os endpoints listados no console.

Uso de um comando da CLI

O exemplo a seguir mostra como excluir o nome de domínio personalizado. A operação de exclusão exige que você forneça o nome de domínio personalizado existente para o cluster.

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

O exemplo a seguir mostra como excluir o nome de domínio personalizado para um grupo de trabalho do Amazon Redshift sem servidor. O nome de domínio personalizado é um parâmetro obrigatório.

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

Para obter mais informações, consulte DeleteCustomDomainAssociation.

Conectar-se ao cluster ou ao grupo de trabalho com um nome de domínio personalizado usando um cliente SQL

Para se conectar a um nome de domínio personalizado, as seguintes permissões do IAM são obrigatórias para um cluster provisionado: redshift:DescribeCustomDomainAssociations Para o Amazon Redshift sem servidor, você não precisa adicionar permissões.

Como prática recomendada, anexe políticas de permissões a um perfil do IAM e, depois, atribua-as a usuários e grupos, conforme necessário. Para obter mais informações, consulte Gerenciamento de identidade e acesso no Amazon Redshift.

Depois de concluir as etapas para criar o CNAME e atribuí-lo ao cluster ou ao grupo de trabalho no console, você poderá fornecer o URL personalizado nas propriedades de conexão do cliente SQL. Pode haver um atraso na propagação do DNS imediatamente após a criação de um registro CNAME.

  1. Abra um cliente SQL. Por exemplo, você pode usar SQL/Workbench J. Abra as propriedades de uma conexão e adicione o nome de domínio personalizado para a string de conexão. Por exemplo, jdbc:redshift://mycluster.example.com:5439/dev?sslmode=verify-full. Neste exemplo, dev especifica o banco de dados padrão.

  2. Adicione o Nome de usuário e a Senha do usuário do banco de dados.

  3. Teste a conexão. A possibilidade de consultar recursos do banco de dados, como tabelas específicas, pode variar com base nas permissões concedidas ao usuário do banco de dados ou às funções de banco de dados do Amazon Redshift atribuídas.

    Talvez você precise definir o cluster ou o grupo de trabalho como acessível publicamente para se conectar a ele, caso ele esteja em uma VPC. É possível alterar essa configuração nas propriedades da rede.

nota

As conexões com um nome de domínio personalizado são compatíveis com drivers JDBC e Python. As conexões ODBC não são compatíveis.