Criar e conectar-se a uma instância de banco de dados Amazon RDS Custom for SQL Server - Amazon Relational Database Service

Criar e conectar-se a uma instância de banco de dados Amazon RDS Custom for SQL Server

Você pode criar uma instância de banco de dados do RDS Custom e, em seguida, conectar-se a ela utilizando AWS Systems Manager ou o protocolo RDP.

Importante

Antes de criar ou conectar-se a uma instância de banco de dados do RDS Custom for SQL Server, certifique-se de concluir as tarefas em Configurar seu ambiente para o Amazon RDS Custom for SQL Server.

É possível marcar instâncias de banco de dados do RDS Custom ao criá-las, mas não é possível criar ou modificar a etiqueta AWSRDSCustom necessária para a automação do RDS Custom. Para obter mais informações, consulte Marcar recursos do RDS Custom for SQL Server.

Ao criar uma instância de banco de dados do RDS Custom for SQL Server pela primeira vez, você pode receber o seguinte erro: The service-linked role is in the process of being created (A função vinculada ao serviço está no processo de criação). Tente novamente mais tarde. Se você fizer isso, aguarde alguns minutos e tente recriar a instância de banco de dados.

Criar uma instância de banco de dados do RDS Custom for SQL Server

Crie uma instância de banco de dados Amazon RDS Custom for SQL Server usando o AWS Management Console ou a AWS CLI. O procedimento é semelhante ao de criação de uma instância de banco de dados do Amazon RDS.

Para obter mais informações, consulte Criar uma instância de banco de dados do Amazon RDS.

Para criar uma instância de banco de dados do RDS Custom for SQL Server
  1. Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. No painel de navegação, escolha Databases (Bancos de dados).

  3. Selecione Criar banco de dados.

  4. Escolha Standard create (Criação padrão) para o método de criação do banco de dados.

  5. Em Engine options (Opções de mecanismo), escolha Microsoft SQL Server para o tipo de mecanismo.

  6. Para Database management type (Tipo de gerenciamento de banco de dados), escolha Amazon RDS Custom.

  7. Na seção Edition (Edição), escolha a edição do mecanismo de banco de dados do SQL Server que você deseja usar.

  8. (Opcional) Se você pretende criar a instância de banco de dados a partir de uma CEV, marque a caixa de seleção Use custom engine version (CEV) (Usar versão personalizada do mecanismo (CEV)). Selecione sua CEV na lista suspensa.

  9. Para Versão do banco de dados, mantenha a versão do valor padrão.

  10. Para Templates (Modelos), escolha Production (Produção).

  11. Na seção Settings (Configurações), insira um novo nome para DB instance identifier (Identificador da instância de banco de dados).

  12. Para inserir sua senha mestre, faça o seguinte:

    1. Na seção Settings (Configurações), abra Credential Settings (Configurações de credencial).

    2. Desmarque a caixa de seleção Auto generate a password (Gerar uma senha automaticamente).

    3. Altere o valor Master username (Nome de usuário primário) e insira a mesma senha em Master password (Senha primária) e Confirm password (Confirmar senha).

    Por padrão, a nova instância de banco de dados do RDS Custom utiliza uma senha gerada automaticamente para o usuário mestre.

  13. Na seção DB instance size (Tamanho da instância de banco), escolha um valor para DB instance class (Classe da instância de banco de dados).

    Para conhecer as classes com suporte, consulte Compatibilidade com classes de instâncias de banco de dados do RDS Custom for SQL Server.

  14. Escolha configurações de Storage (Armazenamento).

  15. Para RDS Custom security (Segurança do RDS Custom), faça o seguinte:

    1. Para IAM instance profile (Perfil da instância do IAM), selecione o perfil da instância de banco de dados do RDS Custom for SQL Server.

      O perfil da instância do IAM deve começar com AWSRDSCustom, por exemplo AWSRDSCustomInstanceProfileForRdsCustomInstance.

    2. Para Encryption (Criptografia), escolha Enter a key ARN (Insira um ARN chave) para listar as chaves do AWS KMS disponíveis. Em seguida, escolha sua chave na lista.

      Uma chave do AWS KMS é necessária para o RDS Custom. Para obter mais informações, consulte Verifique se você tem uma chave do AWS KMS de criptografia simétrica..

  16. Nas seções restantes, especifique suas configurações preferenciais de instâncias de banco de dados do RDS Custom. Para obter informações sobre cada configuração, consulte Configurações para instâncias de banco de dados. As configurações a seguir não têm suporte e não aparecem no console:

    • Processor features (Recursos do processador)

    • Storage autoscaling (Autoscaling do armazenamento)

    • Disponibilidade e durabilidade

    • Opção Password and Kerberos authentication (Senha e autenticação Kerberos) em Database authentication (Autenticação do banco de dados) (somente a autenticação com senha tem suporte)

    • Grupo Database options (Opções do banco de dados) em Additional configuration (Configuração adicional)

    • Performance Insights

    • Exportações de log

    • Habilitar a atualização automática da versão secundária

    • Deletion protection (Proteção contra exclusão)

    Existe suporte para a opção Backup retention period (Período de retenção de backup), mas você não pode escolher 0 dias.

  17. Selecione Criar banco de dados.

    O botão View credential details (Visualizar detalhes de credenciais) aparece na página Databases (Bancos de dados).

    Para visualizar o nome de usuário primário e a senha da instância de banco de dados do RDS Custom, escolha View credential details (Visualizar detalhes de credenciais) .

    Para se conectar à instância de banco de dados como o usuário mestre, use o nome de usuário e a senha exibidos.

    Importante

    Você não pode visualizar a senha do usuário principal novamente. Caso você não a registre, talvez seja necessário alterá-la. Para alterar a senha do usuário mestre depois que a instância do banco de dados RDS Custom estiver disponível, modifique a instância de banco de dados. Para ter mais informações sobre a modificação de uma instância de banco de dados, consulte Gerenciar uma instância de banco de dados do Amazon RDS Custom for SQL Server.

  18. Escolha Databases (Bancos de dados) para visualizar a lista de instâncias de banco de dados do RDS Custom.

  19. Escola a instância de banco de dados do RDS Custom que você acabou de criar.

    No console do RDS, os detalhes da nova instância de banco de dados do RDS Custom são exibidos:

    • A instância de banco de dados do RDS Custom apresenta o status Creating (Criando) até que esteja criada e pronta para uso. Quando o status muda para available (disponível), você pode se conectar à instância de banco de dados. Dependendo da classe da instância e do armazenamento alocado, pode levar alguns minutos até que a nova instância de banco de dados fique disponível.

    • Role (Função) tem o valor Instância (RDS Custom).

    • RDS Custom automation mode (Modo de automação do RDS Custom) tem o valor Full automation (Automação total). Essa configuração significa que a instância de banco de dados fornece monitoramento automático e recuperação de instâncias.

Você cria uma instância de banco de dados do RDS Custom utilizando o comando create-db-instance da AWS CLI.

São necessárias as seguintes opções:

O exemplo a seguir cria uma instância de banco de dados do RDS Custom for SQL Server chamada my-custom-instance. Defina o período de retenção de backup como 3 dias.

nota

Para criar uma instância de banco de dados a partir de uma versão de mecanismo personalizada (CEV), forneça um nome de CEV existente para o parâmetro --engine-version. Por exemplo, --engine-version 15.00.4249.2.my_cevtest

Para Linux, macOS ou Unix:

aws rds create-db-instance \ --engine custom-sqlserver-ee \ --engine-version 15.00.4073.23.v1 \ --db-instance-identifier my-custom-instance \ --db-instance-class db.m5.xlarge \ --allocated-storage 20 \ --db-subnet-group mydbsubnetgroup \ --master-username myuser \ --master-user-password mypassword \ --backup-retention-period 3 \ --no-multi-az \ --port 8200 \ --kms-key-id mykmskey \ --custom-iam-instance-profile AWSRDSCustomInstanceProfileForRdsCustomInstance

Para Windows:

aws rds create-db-instance ^ --engine custom-sqlserver-ee ^ --engine-version 15.00.4073.23.v1 ^ --db-instance-identifier my-custom-instance ^ --db-instance-class db.m5.xlarge ^ --allocated-storage 20 ^ --db-subnet-group mydbsubnetgroup ^ --master-username myuser ^ --master-user-password mypassword ^ --backup-retention-period 3 ^ --no-multi-az ^ --port 8200 ^ --kms-key-id mykmskey ^ --custom-iam-instance-profile AWSRDSCustomInstanceProfileForRdsCustomInstance
nota

Especifique uma senha diferente do prompt mostrado aqui como prática recomendada de segurança.

Obtenha detalhes sobre a sua instância com o comando da describe-db-instances.

aws rds describe-db-instances --db-instance-identifier my-custom-instance

A saída parcial a seguir mostra o mecanismo, os grupos de parâmetros e outras informações.

{ "DBInstances": [ { "PendingModifiedValues": {}, "Engine": "custom-sqlserver-ee", "MultiAZ": false, "DBSecurityGroups": [], "DBParameterGroups": [ { "DBParameterGroupName": "default.custom-sqlserver-ee-15", "ParameterApplyStatus": "in-sync" } ], "AutomationMode": "full", "DBInstanceIdentifier": "my-custom-instance", "TagList": [] } ] }

Função vinculada ao serviço do RDS Custom

Uma função vinculada ao serviço concede ao Amazon RDS Custom acesso a recursos em sua Conta da AWS. Isso facilita a configuração do RDS Custom, pois você não precisa adicionar manualmente as permissões necessárias. O RDS Custom define as permissões de suas funções vinculadas a serviços e, exceto se definido de outra maneira, somente o RDS Custom pode assumir suas funções. As permissões definidas incluem a política de confiança e a política de permissões, e essa política de permissões não pode ser anexada a nenhuma outra entidade do IAM.

Quando você cria uma instância de banco de dados do RDS Custom, as funções vinculadas a serviços do Amazon RDS e do RDS Custom são criadas (se ainda não existirem) e utilizadas. Para obter mais informações, consulte Usar funções vinculadas ao serviço do Amazon RDS.

Ao criar uma instância de banco de dados do RDS Custom for SQL Server pela primeira vez, você pode receber o seguinte erro: The service-linked role is in the process of being created (A função vinculada ao serviço está no processo de criação). Tente novamente mais tarde. Se você fizer isso, aguarde alguns minutos e tente recriar a instância de banco de dados.

Conectar-se à sua instância de banco de dados do RDS Custom via AWS Systems Manager

Depois de criar sua instância de banco de dados do RDS Custom, você pode conectar-se a ela utilizando o AWS Systems Manager Session Manager. O Session Manager é um recurso do Systems Manager que pode ser utilizado para gerenciar instâncias do Amazon EC2 por meio de um shell baseado no navegador ou via AWS CLI. Para ter mais informações, consulte o AWS Systems Manager Session Manager.

Para conectar-se à sua instância de banco de dados usando o Session Manager
  1. Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. No painel de navegação, escolha Databases (Bancos de dados) e a instância de banco de dados do RDS Custom à qual você deseja se conectar.

  3. Escolher configuração.

  4. Observe o valor de Resource ID (ID do recurso) da instância de banco de dados. Por exemplo, o ID do recurso pode ser db-ABCDEFGHIJKLMNOPQRS0123456.

  5. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  6. No painel de navegação, escolha Instances (Instâncias).

  7. Procure o nome da sua instância do EC2 e depois escolha o ID de instância associado a ela. Por exemplo, o ID da instância pode ser i-abcdefghijklm01234.

  8. Selecione Conectar.

  9. Escolha Session Manager.

  10. Selecione Conectar.

    Uma janela é aberta para a sua sessão.

Você pode conectar-se à sua instância de banco de dados do RDS Custom usando a AWS CLI. Essa técnica requer o plugin Session Manager para a AWS CLI. Para saber como instalar o plugin, consulte Instalar o plugin Session Manager para a AWS CLI.

Para encontrar o ID de recurso de banco de dados da sua instância de banco de dados do RDS Custom, use describe-db-instances.

aws rds describe-db-instances \ --query 'DBInstances[*].[DBInstanceIdentifier,DbiResourceId]' \ --output text

A saída de exemplo a seguir mostra o ID de recurso da sua instância do RDS Custom. O prefixo é db-.

db-ABCDEFGHIJKLMNOPQRS0123456

Para encontrar o ID de instância do EC2 da sua instância de banco de dados, use aws ec2 describe-instances. O exemplo a seguir usa db-ABCDEFGHIJKLMNOPQRS0123456 para o ID do recurso.

aws ec2 describe-instances \ --filters "Name=tag:Name,Values=db-ABCDEFGHIJKLMNOPQRS0123456" \ --output text \ --query 'Reservations[*].Instances[*].InstanceId'

O exemplo de saída a seguir mostra o ID da instância do EC2.

i-abcdefghijklm01234

Use o comando aws ssm start-session, fornecendo o ID da instância do EC2 no parâmetro --target.

aws ssm start-session --target "i-abcdefghijklm01234"

Um resultado bem-sucedido tem a seguinte aparência.

Starting session with SessionId: yourid-abcdefghijklm1234 [ssm-user@ip-123-45-67-89 bin]$

Conectar-se à sua instância de banco de dados do RDS Custom via RDP

Depois de criar sua instância de banco de dados do RDS Custom, você pode se conectar a ela utilizando um cliente RDP. O procedimento é o mesmo para se conectar a uma instância do Amazon EC2. Para obter mais informações, acesse Connect to your Windows Instance (Conectar-se à sua instância do Windows).

Para conectar-se à instância de banco de dados, você precisa do par de chaves associado a essa instância. O RDS Custom cria o par de chaves para você. O nome do par usa o prefixo do-not-delete-rds-custom-DBInstanceIdentifier. O AWS Secrets Manager armazena sua chave privada como segredo.

Conclua a tarefa nas seguintes etapas:

Configurar sua instância de banco de dados para permitir conexões RDP

Para permitir conexões RDP, configure seu grupo de segurança da VPC e defina uma regra de firewall no host.

Configurar o grupo de segurança da sua VPC

Certifique-se de que o grupo de segurança da VPC associado à instância de banco de dados permita conexões de entrada na porta 3389 para o protocolo TCP. Para saber como configurar seu grupo de segurança de VPC, consulte Configurar o grupo de segurança da sua VPC.

Definir a regra de firewall no host

Para permitir conexões de entrada na porta 3389 para TCP, defina uma regra de firewall no host. Os exemplos a seguir mostram como fazer isso.

Recomendamos usar o valor -Profile específico: Public, Private, ou Domain. O uso do Any refere-se a todos os três valores. Você também pode especificar uma combinação de valores separados por uma vírgula. Para obter mais informações sobre como definir regras de firewall, consulte Set-NetFirewallRule na documentação da Microsoft.

Para utilizar o Systems Manager Session Manager para configurar uma regra de firewall
  1. Conecte-se ao Session Manager, conforme mostrado em Conectar-se à sua instância de banco de dados do RDS Custom via AWS Systems Manager.

  2. Execute o seguinte comando .

    Set-NetFirewallRule -DisplayName "Remote Desktop - User Mode (TCP-In)" -Direction Inbound -LocalAddress Any -Profile Any
Para utilizar comandos da CLI do Systems Manager para configurar uma regra de firewall
  1. Utilize o comando a seguir para abrir o RDP no host.

    OPEN_RDP_COMMAND_ID=$(aws ssm send-command --region $AWS_REGION \ --instance-ids $RDS_CUSTOM_INSTANCE_EC2_ID \ --document-name "AWS-RunPowerShellScript" \ --parameters '{"commands":["Set-NetFirewallRule -DisplayName \"Remote Desktop - User Mode (TCP-In)\" -Direction Inbound -LocalAddress Any -Profile Any"]}' \ --comment "Open RDP port" | jq -r ".Command.CommandId")
  2. Utilize o ID do comando retornado na saída para obter o status do comando anterior. Para utilizar a seguinte consulta para retornar o ID do comando, certifique-se de ter o plugin jq instalado.

    aws ssm list-commands \ --region $AWS_REGION \ --command-id $OPEN_RDP_COMMAND_ID

Recuperar sua chave secreta

Recupere sua chave secreta utilizando o AWS Management Console ou a AWS CLI.

Para recuperar a chave secreta
  1. Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. No painel de navegação, escolha Databases (Bancos de dados) e a instância de banco de dados do RDS Custom à qual você deseja se conectar.

  3. Escolha a guia Configuração.

  4. Observe o DB instance ID (ID da instância de banco de dados) para sua instância de banco de dados, por exemplo, my-custom-instance.

  5. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  6. No painel de navegação, escolha Instances (Instâncias).

  7. Procure o nome da sua instância do EC2 e depois escolha o ID de instância associado a ela.

    Neste exemplo, o ID da instância é i-abcdefghijklm01234.

  8. Em Details (Detalhes), localize Key pair name (Nome do par de chaves). O nome do par inclui o identificador do banco de dados. Neste exemplo, o nome do par é do-not-delete-rds-custom-my-custom-instance-0d726c.

  9. No resumo da instância, localize Public IPv4 DNS (DNS IPv4 público). Para o exemplo, o DNS público pode ser ec2-12-345-678-901.us-east-2.compute.amazonaws.com.

  10. Abra o console do AWS Secrets Manager emhttps://console.aws.amazon.com/secretsmanager/.

  11. Escolha o segredo com nome idêntico ao seu par de chaves.

  12. Escolha Recuperar valor do segredo.

Para recuperar a chave privada
  1. Obtenha a lista das suas instâncias de banco de dados do RDS Custom chamando o comando aws rds describe-db-instances.

    aws rds describe-db-instances \ --query 'DBInstances[*].[DBInstanceIdentifier,DbiResourceId]' \ --output text
  2. Escolha o identificador da instância de banco de dados na saída de amostra, por exemplo, do-not-delete-rds-custom-my-custom-instance.

  3. Encontre o ID da instância do EC2 da sua instância de banco de dados chamando o comando aws ec2 describe-instances. O exemplo a seguir usa o nome da instância do EC2 para descrever a instância de banco de dados.

    aws ec2 describe-instances \ --filters "Name=tag:Name,Values=do-not-delete-rds-custom-my-custom-instance" \ --output text \ --query 'Reservations[*].Instances[*].InstanceId'

    O exemplo de saída a seguir mostra o ID da instância do EC2.

    i-abcdefghijklm01234
  4. Localize o nome da chave especificando o ID da instância do EC2, como mostra o exemplo a seguir.

    aws ec2 describe-instances \ --instance-ids i-abcdefghijklm01234 \ --output text \ --query 'Reservations[*].Instances[*].KeyName'

    A saída de exemplo a seguir mostra o nome da chave, que usa o prefixo do-not-delete-rds-custom-DBInstanceIdentifier.

    do-not-delete-rds-custom-my-custom-instance-0d726c

Conectar-se à sua instância do EC2 usando o utilitário RDP

Para obter mais informações, consulte Conectar-se à sua instância do Windows via RDP, no Guia do usuário do Amazon EC2 para instâncias Windows. Esse procedimento pressupõe que você tenha criado um arquivo .pem que contém sua chave privada.