Configurar seu ambiente para o Amazon RDS Custom for SQL Server - Amazon Relational Database Service

Configurar seu ambiente para o Amazon RDS Custom for SQL Server

Antes de criar e gerenciar uma instância de banco de dados para a instância de banco de dados Amazon RDS Custom for SQL Server, certifique-se de realizar as tarefas a seguir.

nota

Para ver um tutorial passo a passo sobre como configurar os pré-requisitos e iniciar o Amazon RDS Custom para SQL Server, consulte Get started with Amazon RDS Custom for SQL Server using an CloudFormation template (Network setup) e Explore the prerequisites required to create an Amazon RDS Custom for SQL Server instance.

Pré-requisitos para configurar o RDS Custom for SQL Server

Antes de criar uma instância de banco de dados do RDS Custom para SQL Server, seu ambiente deve atender aos requisitos descritos neste tópico. Também é possível usar o modelo do CloudFormation para configurar os pré-requisitos da Conta da AWS. Para ter mais informações, consulte Configurar com o AWS CloudFormation.

O RDS Custom para SQL Server exige que você configure os seguintes pré-requisitos:

  • Configure as permissões do AWS Identity and Access Management (IAM) para a criação da instância. Esse é o usuário ou o perfil do AWS Identity and Access Management (IAM) necessário para fazer uma solicitação create-db-instance ao RDS.

  • Configure os recursos obrigatórios exigidos pela instância de banco de dados do RDS Custom para SQL Server:

    • Configure a chave do AWS KMS necessária para a criptografia da instância do RDS Custom. O RDS Custom exige uma chave gerenciada pelo cliente no momento da criação da instância para criptografia. O ARN da chave do KMS, o ID, o ARN do alias ou o nome do alias é transmitido como o parâmetro kms-key-id na solicitação para criar a instância de banco de dados do RDS Custom.

    • Configure as permissões necessárias na instância de banco de dados do RDS Custom para SQL Server. O RDS Custom anexa um perfil à instância de banco de dados no momento da criação e o utiliza para automação dentro da respectiva instância. O nome do perfil da instância está definido como custom-iam-instance-profile na solicitação de criação do RDS Custom. É possível criar um perfil de instância por meio do AWS Management Console ou criá-lo manualmente. Para obter mais informações, consulte Criação automática de perfis de instância usando o AWS Management Console e Criar sua função do IAM e seu perfil de instância manualmente.

    • Defina a configuração de rede de acordo com os requisitos do RDS Custom para SQL Server. As instâncias do RDS Custom residem nas sub-redes (configuradas com o grupo de sub-redes de banco de dados) que você fornece na criação da instância. Essas sub-redes devem permitir que as instâncias do RDS Custom comuniquem-se com os serviços necessários para a automação do RDS.

nota

Para atender aos requisitos mencionados acima, verifique se não há nenhuma política de controle de serviços (SCP) restringindo permissões em nível de conta.

Se a conta que você está usando fizer parte de uma organização da AWS, ela poderá ter políticas de controle de serviço (SCPs) restringindo permissões em nível de conta. Os SCPs não podem restringir as permissões em usuários e perfis criados com os procedimentos a seguir.

Para ter mais informações sobre SCPs, consulte Políticas de controle de serviço no Guia do usuário do AWS Organizations. Use o comando describe-organization da AWS CLI para conferir se sua conta faz parte de uma organização da AWS.

Para ter mais informações sobre o AWS Organizations, consulte O que é o AWS Organizations no Guia do usuário do AWS Organizations Organizations.

Para conhecer os requisitos gerais que se aplicam ao RDS Custom for SQL Server, consulte Requisitos gerais do RDS Custom for SQL Server.

Criação automática de perfis de instância usando o AWS Management Console

O RDS Custom exige que você crie e configure um perfil de instância para iniciar qualquer instância de banco de dados do RDS Custom para SQL Server. Use o AWS Management Console para criar um perfil de instância e anexá-lo em uma única etapa. Essa opção está disponível na seção de segurança do RDS Custom nas páginas do console Criar banco de dados, Restaurar snapshot e Restaurar para um momento específico. Selecione Criar um novo perfil da instância para fornecer um sufixo de nome de perfil de instância. O AWS Management Console cria um perfil de instância com as permissões necessárias para tarefas de automação do RDS Custom. Para criar automaticamente perfis de instância, seu usuário conectado ao AWS Management Console deve ter as permissões iam:CreateInstanceProfile, iam:AddRoleToInstanceProfile, iam:CreateRole e iam:AttachRolePolicy.

nota

Essa opção só está disponível no AWS Management Console. Se você estiver usando a CLI ou o SDK, use o modelo do CloudFormation fornecido pelo RDS Custom ou crie manualmente um perfil de instância. Para ter mais informações, consulte Criar sua função do IAM e seu perfil de instância manualmente.

Etapa 1: conceder as permissões necessárias à entidade principal do IAM

Verifique se você tem acesso suficiente para criar uma instância do RDS Custom. O perfil ou o usuário do IAM (conhecido como a entidade principal do IAM) para criar uma instância de banco de dados do RDS Custom para SQL Server usando o console ou a CLI deve ter uma das seguintes políticas para a criação bem-sucedida de uma instância de banco de dados:

  • A política AdministratorAccess

  • A política do AmazonRDSFullAccess mostra as seguintes permissões adicionais:

    iam:SimulatePrincipalPolicy cloudtrail:CreateTrail cloudtrail:StartLogging s3:CreateBucket s3:PutBucketPolicy s3:PutBucketObjectLockConfiguration s3:PutBucketVersioning kms:CreateGrant kms:DescribeKey

    O RDS Custom usa essas permissões durante a criação da instância. Essas permissões configuram recursos em sua conta que são necessários para operações do RDS Custom.

    Para ter mais informações sobre a permissão kms:CreateGrant, consulte Gerenciamento de AWS KMS key.

O exemplo de política JSON a seguir concede as permissões necessárias.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ValidateIamRole", "Effect": "Allow", "Action": "iam:SimulatePrincipalPolicy", "Resource": "*" }, { "Sid": "CreateCloudTrail", "Effect": "Allow", "Action": [ "cloudtrail:CreateTrail", "cloudtrail:StartLogging" ], "Resource": "arn:aws:cloudtrail:*:*:trail/do-not-delete-rds-custom-*" }, { "Sid": "CreateS3Bucket", "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:PutBucketPolicy", "s3:PutBucketObjectLockConfiguration", "s3:PutBucketVersioning" ], "Resource": "arn:aws:s3:::do-not-delete-rds-custom-*" }, { "Sid": "CreateKmsGrant", "Effect": "Allow", "Action": [ "kms:CreateGrant", "kms:DescribeKey" ], "Resource": "*" } ] }

Além disso, a entidade principal do IAM exige a permissão iam:PassRole no perfil do IAM. Ela deve ser anexada ao perfil de instância transmitido no parâmetro custom-iam-instance-profile na solicitação para criar a instância de banco de dados do RDS Custom. O perfil de instância e sua função anexada são criados posteriormente em Etapa 2: configurar rede, perfil de instância e criptografia.

nota

As permissões listadas anteriormente não devem ser restritas por políticas de controle de serviço (SCPs), limites de permissão nem políticas de sessão associadas à entidade principal do IAM.

Etapa 2: configurar rede, perfil de instância e criptografia

Você pode configurar sua função de perfil de instância do IAM, nuvem privada virtual (VPC) e chave de criptografia simétrica do AWS KMS usando um dos seguintes processos:

nota

Se sua conta fizer parte de qualquer AWS Organizations, as permissões exigidas pelo perfil de instância não deverão ser restritas por políticas de controle de serviços (SCPs).

As configurações de rede neste tópico funcionam melhor com instâncias de banco de dados que não são acessíveis ao público. Você não pode se conectar diretamente a essas instâncias de banco de dados de fora da VPC.

Configurar com o AWS CloudFormation

Para simplificar a configuração, é possível utilizar um arquivo de modelo do AWS CloudFormation para criar uma pilha do CloudFormation. Um modelo do CloudFormation cria todos os recursos de rede, perfis de instância e criptografia de acordo com os requisitos do RDS Custom.

Para saber como criar pilhas, consulte Criar uma pilha no console do AWS CloudFormation, no Guia do usuário do AWS CloudFormation.

Para ver um tutorial sobre como executar o Amazon RDS Custom para SQL Server usando um modelo do AWS CloudFormation, consulte Começar a usar o Amazon RDS Custom para SQL Server usando um modelo do AWS CloudFormation no blog de banco de dados da AWS.

Parâmetros exigidos pelo CloudFormation

Os seguintes parâmetros são necessários para configurar os recursos obrigatórios do RDS Custom com o CloudFormation:

Grupo de parâmetros Nome do parâmetro Valor padrão Descrição
Configuração de disponibilidade Selecionar uma configuração de disponibilidade para configuração de pré-requisitos Multi-AZ Especifique se deseja configurar pré-requisitos na configuração single-AZ ou multi-AZ para instâncias do RDS Custom. É necessário usar a configuração multi-AZ caso você precise de pelo menos uma instância de banco de dados multi-AZ nessa configuração.
Configuração de rede Bloco CIDR IPv4 para VPC 10.0.0.0/16

Especifique um bloco CIDR IPv4 (intervalo de endereços IP) para a VPC. Essa VPC está configurada para criar e trabalhar com a instância de banco de dados do RDS Custom.

Bloco CIDR IPv4 para uma de duas sub-redes privadas 10.0.128.0/20

Especifique um bloco CIDR IPv4 (ou intervalo de endereços IP) para a sua primeira sub-rede privada. Essa é uma das duas sub-redes nas quais a instância de banco de dados do RDS Custom pode ser criada. Essa é uma sub-rede privada sem acesso à internet.

Bloco CIDR IPv4 para duas de duas sub-redes privadas 10.0.144.0/20

Especifique um bloco CIDR IPv4 (ou intervalo de endereços IP) para a segunda sub-rede privada. Essa é uma das duas sub-redes nas quais a instância de banco de dados do RDS Custom pode ser criada. Essa é uma sub-rede privada sem acesso à internet.

Bloco CIDR IPv4 da sub-rede pública 10.0.0.0/20

Especifique um bloco CIDR IPv4 (ou intervalo de endereços IP) para a sub-rede pública. Essa é uma das sub-redes nas quais a instância do EC2 pode se conectar com a instância de banco de dados do RDS Custom. Essa é uma sub-rede pública com acesso à internet.

Configuração de acesso RDP Bloco CIDR IPv4 da origem

Especifique um bloco CIDR IPv4 (ou intervalo de endereços IP) da sua origem. Esse é o intervalo de IP do qual você faz a conexão RDP com a instância do EC2 na sub-rede pública. Se não for definida, a conexão RDP com a instância do EC2 não será configurada.

Configurar o acesso RDP à instância do RDS Custom para SQL Server Não

Especifique se deseja habilitar a conexão RDP da instância do EC2 com a instância do RDS Custom para SQL Server. Por padrão, a conexão RDP da instância do EC2 com a instância de banco de dados não está configurada.

A criação bem-sucedida da pilha do CloudFormation usando configurações padrão cria os seguintes recursos na Conta da AWS:

  • Chave do KMS de criptografia simétrica para criptografia de dados gerenciados pelo RDS Custom.

  • O perfil de instância é associado a um perfil do IAM com AmazonRDSCustomInstanceProfileRolePolicy para fornecer as permissões exigidas pelo RDS Custom. Para ter mais informações, consulte AmazonRDSCustomServiceRolePolicy no Guia de referência de políticas gerenciadas da AWS.

  • VPC com o intervalo CIDR especificado como o parâmetro CloudFormation. O valor padrão é 10.0.0.0/16.

  • Duas sub-redes privadas com o intervalo CIDR especificado nos parâmetros e duas zonas de disponibilidade diferentes na Região da AWS. Os valores padrão para os CIDRs de sub-rede são 10.0.128.0/20 e 10.0.144.0/20.

  • Uma sub-rede pública com o intervalo CIDR especificado nos parâmetros. O valor padrão para o CIDR da sub-rede é 10.0.0.0/20. A instância do EC2 reside nessa sub-rede e pode ser usada para estabelecer conexão com a instância do RDS Custom.

  • Opção DHCP definida para a VPC com resolução de nome de domínio para um servidor do Sistema de Nomes de Domínio da Amazon (DNS).

  • Tabela de rota para associar a duas sub-redes privadas e sem acesso à Internet.

  • Tabela de rotas para associar à sub-rede pública e ter acesso à internet.

  • Gateway da internet associado à VPC para permitir o acesso à internet à sub-rede pública.

  • Lista de controle de acesso (ACL) à rede a ser associada a duas sub-redes privadas e acesso restrito a HTTPS e à porta de banco de dados na VPC.

  • Grupo de segurança da VPC a ser associado à instância do RDS Custom. Para HTTPS de saída, o acesso é restrito a endpoints de AWS service (Serviço da AWS) que são exigidos pelo RDS Custom e pela porta de banco de dados do grupo de segurança da instância do EC2.

  • O grupo de segurança da VPC a ser associado à instância do EC2 na sub-rede pública. Para a porta de banco de dados de saída, o acesso é restrito ao grupo de segurança da instância do RDS Custom.

  • Grupo de segurança da VPC a ser associado aos endpoints da VPC criados para endpoints de AWS service (Serviço da AWS) que são exigidos pelo RDS Custom.

  • Grupo de sub-redes de banco de dados no qual instâncias do RDS Custom são criadas. Duas sub-redes privadas criadas por esse modelo são adicionadas ao grupo de sub-redes de banco de dados.

  • Endpoints da VPC para cada um dos endpoints de AWS service (Serviço da AWS) que são exigidos pelo RDS Custom.

Definir a configuração de disponibilidade como multi-az criará os seguintes recursos, além da lista acima:

  • Regras de ACL de rede que permitem a comunicação entre sub-redes privadas.

  • Acesso de entrada e de saída à porta multi-AZ dentro do grupo de segurança da VPC associado à instância do RDS Custom.

  • Endpoints da VPC para endpoints de serviços da AWS que são necessários para a comunicação multi-AZ.

Além disso, definir a configuração de acesso RDP cria os seguintes recursos:

  • Configurar o acesso RDP à sub-rede pública por meio do endereço IP de origem:

    • Regras de ACL de rede que permitem a conexão RDP do IP de origem à sub-rede pública.

    • Acesso de entrada à porta RDP pelo IP de origem ao grupo de segurança da VPC associado à instância do EC2.

  • Configurar o acesso RDP da instância do EC2 na sub-rede pública à instância do RDS Custom em sub-redes privadas:

    • Regras de ACL de rede que permitem a conexão RDP da sub-rede pública a sub-redes privadas.

    • Acesso de entrada à porta RDP pelo grupo de segurança da VPC associado à instância do EC2 ao grupo de segurança da VPC associado à instância do RDS Custom.

Use os procedimentos a seguir para criar a pilha do CloudFormation para o RDS Custom para SQL Server.

Baixar o arquivo de modelo do AWS CloudFormation

Como baixar o arquivo de modelo
  1. Abra o menu de contexto (clique com o botão direito do mouse) do link custom-sqlserver-onboard.zip e selecione Save Link As (Salvar link como).

  2. Salve e extraia o arquivo no computador.

Configurar recursos usando o CloudFormation

Como configurar recursos usando o CloudFormation
  1. Abra o console do CloudFormation em https://console.aws.amazon.com/cloudformation.

  2. Para iniciar o assistente de criação de pilha, escolha Create Stack (Criar pilha).

    A página Create stack (Criar pilha) é exibida.

  3. Em Prerequisite - Prepare template (Pré-requisito - Preparar template), escolha Template is ready (O template está pronto).

  4. Na página Specify template (Especificar modelo), faça o seguinte:

    1. Para Template source (Origem do template), escolha Upload a template file (Fazer upload de um arquivo de template).

    2. Em Escolher arquivo, acesse e escolha o arquivo correto.

  5. Escolha Próximo.

    A página Specify stack details (Especificar detalhes da pilha) é exibida.

  6. Para Stack name (Nome da pilha), insira rds-custom-sqlserver.

  7. Em Parameters (Parâmetros), faça o seguinte:

    1. Para manter as opções padrão, escolha Next (Próximo).

    2. Para alterar as opções, escolha a configuração apropriada de disponibilidade, de rede e de acesso RDP e, depois, selecione Próximo.

      Leia atentamente a descrição de cada parâmetro antes de alterar os parâmetros.

    nota

    Se você optar por criar pelo menos uma instância multi-AZ nessa pilha do CloudFormation, garanta que o parâmetro da pilha do CloudFormation Selecionar uma configuração de disponibilidade para configuração de pré-requisitos esteja definido como Multi-AZ. Se você criar a pilha do CloudFormation como single-AZ, atualize-a para a configuração multi-AZ antes de criar a primeira instância multi-AZ.

  8. Na página Configurar opções de pilha, selecione Avançar.

  9. Na página Review rds-custom-sqlserver (Revisar rds-custom-sqlserver), faça o seguinte:

    1. Para Capabilities (Recursos), marque a caixa de seleção para confirmar que o AWS CloudFormation pode criar os recursos do IAM com nomes personalizados.

    2. Selecione Criar pilha.

nota

Não atualize os recursos criados com base nessa pilha do AWS CloudFormation diretamente das páginas de recursos. Isso impede que você aplique futuras atualizações a esses recursos usando um modelo do AWS CloudFormation.

O CloudFormation cria os recursos necessários ao RDS Custom para SQL Server. Se ocorrer uma falha na criação da pilha, leia a guia Events (Eventos) para ver em qual recurso a criação falhou e seu motivo de status.

A guia Outputs (Saídas) para essa pilha do CloudFormation no console deve ter informações sobre todos os recursos a serem transmitidos como parâmetros para criar uma instância de banco de dados do RDS Custom para SQL Server. Use o grupo de segurança da VPC e o grupo de sub-redes de banco de dados criados pelo CloudFormation para instâncias de banco de dados do RDS Custom. Por padrão, o RDS tenta anexar o grupo de segurança da VPC padrão, que pode não ter o acesso necessário.

Se você usou o CloudFormation para criar recursos, você pode ignorar Configurar manualmente.

Você também pode atualizar algumas das configurações na pilha do CloudFormation após a criação. As configurações que podem ser atualizadas são:

  • Considerações sobre disponibilidade do RDS Custom para SQL Server

    • Selecionar uma configuração de disponibilidade para a configuração de pré-requisitos: atualize esse parâmetro para alternar entre a configuração single-AZ e multi-AZ. Se você estiver usando essa pilha do CloudFormation para pelo menos uma instância multi-AZ, deverá atualizar a pilha para escolher a configuração multi-AZ.

  • Configuração do acesso RDP para RDS Custom para SQL Server

    • O bloco CIDR IPv4 da sua origem: é possível atualizar o bloco CIDR IPv4 (ou intervalo de endereços IP) da sua origem atualizando esse parâmetro. Definir esse parâmetro como vazio remove a configuração de acesso RDP do bloco CIDR de origem para a sub-rede pública.

    • Configurar o acesso RDP ao RDS Custom para SQL Server: habilite ou desabilite a conexão RDP da instância do EC2 com a instância do RDS Custom para SQL Server.

É possível excluir a pilha do CloudFormation depois de excluir todas as instâncias do RDS Custom que usam recursos da pilha. O RDS Custom não monitora a pilha do CloudFormation e, portanto, não bloqueia a exclusão da pilha quando há instâncias de banco de dados que usam recursos da pilha. Garanta que não haja instâncias de banco de dados do RDS Custom que usem os recursos da pilha ao excluí-la.

nota

Quando você exclui a pilha do CloudFormation, todos os recursos criados pela pilha são excluídos, exceto a chave do KMS. A chave do KMS entra em um estado de exclusão pendente e é excluída após trinta dias. Para manter a chave do KMS, execute uma operação CancelKeyDeletion durante o período de carência de 30 dias.

Configurar manualmente

Se você optar por configurar recursos manualmente, realize as tarefas a seguir.

nota

Para simplificar a configuração, é possível usar o arquivo de modelo do AWS CloudFormation para criar uma pilha do CloudFormation em vez de uma configuração manual. Para ter mais informações, consulte Configurar com o AWS CloudFormation.

Você também pode usar a AWS CLI para concluir esta seção. Se sim, baixe e instale a CLI mais recente.

Verifique se você tem uma chave do AWS KMS de criptografia simétrica.

Uma AWS KMS key de criptografia simétrica é necessária para o RDS Custom. Ao criar uma instância de banco de dados do RDS Custom para SQL Server, forneça o identificador de chave do KMS como o parâmetro kms-key-id. Para ter mais informações, consulte Criar e conectar-se a uma instância de banco de dados Amazon RDS Custom for SQL Server.

Você tem as seguintes opções:

  • Se você tiver uma chave do KMS gerenciada pelo cliente em sua Conta da AWS, poderá usá-la com o RDS Custom. Nenhuma outra ação é necessária.

  • Se você já tiver criado uma chave do KMS de criptografia simétrica gerenciada pelo cliente para outro mecanismo do RDS Custom, poderá reutilizar a mesma chave do KMS. Nenhuma outra ação é necessária.

  • Se você não tiver uma chave do KMS de criptografia simétrica gerenciada pelo cliente em sua conta, crie uma seguindo as instruções em Criar chaves no Guia do desenvolvedor do AWS Key Management Service.

  • Se você estiver criando uma instância de banco de dados do CEV ou do RDS Custom e sua chave do KMS estiver em outra Conta da AWS, use a AWS CLI. Você não pode usar o console da AWS com chaves do KMS de várias contas.

Importante

O RDS Custom não é compatível com chaves do KMS gerenciadas pela AWS.

A chave de criptografia simétrica deve conceder acesso às operações kms:Decrypt e kms:GenerateDataKey ao perfil do AWS Identity and Access Management (IAM) em seu perfil de instância do IAM. Se você tiver uma nova chave de criptografia simétrica em sua conta, nenhuma alteração será necessária. Do contrário, a política de sua chave de criptografia simétrica precisará conceder acesso a essas operações.

Para ter mais informações, consulte Etapa 4: Configurar o IAM para RDS Custom para Oracle.

Criar sua função do IAM e seu perfil de instância manualmente

É possível criar manualmente um perfil de instância e usá-lo para iniciar instâncias do RDS Custom. Se você planeja criar a instância no AWS Management Console, ignore esta seção. O AWS Management Console permite que você crie e anexe um perfil às suas instâncias do RDS Custom. Para ter mais informações, consulte Criação automática de perfis de instância usando o AWS Management Console.

Ao criar manualmente um perfil de instância, transmita o respectivo nome como o parâmetro custom-iam-instance-profile para o comando create-db-instance da CLI. O RDS Custom usa o perfil associado a esse perfil de instância a fim de executar a automação para gerenciar a instância.

Como criar o perfil de instância do IAM e perfis do IAM para o RDS Custom para SQL Server
  1. Criar a função do IAM chamada AWSRDSCustomSQLServerInstanceRole com uma política de confiança que permita ao Amazon EC2 assumir essa função.

  2. Adicione a política gerenciada AmazonRDSCustomInstanceProfileRolePolicy da AWS a AWSRDSCustomSQLServerInstanceRole.

  3. Crie um perfil de instância do IAM para o RDS Custom para SQL Server chamado AWSRDSCustomSQLServerInstanceProfile.

  4. Adicione AWSRDSCustomSQLServerInstanceRole ao perfil da instância.

Criar a função do IAM AWSRDSCustomSQLServerInstanceRole

O exemplo a seguir cria a função AWSRDSCustomSQLServerInstanceRole. A política de confiança permite que o Amazon EC2 assuma a função.

aws iam create-role \ --role-name AWSRDSCustomSQLServerInstanceRole \ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" } } ] }'
Adicionar uma política de acesso a AWSRDSCustomSQLServerInstanceRole

Para fornecer as permissões necessárias, anexe a política AmazonRDSCustomInstanceProfileRolePolicygerenciada pela AWS a AWSRDSCustomSQLServerInstanceRole. A AmazonRDSCustomInstanceProfileRolePolicy permite que as instâncias do RDS Custom enviem e recebam mensagens e realizem várias ações de automação.

nota

As permissões na política de acesso não devem ser restritas por SCPs nem por limites de permissão associados à função de perfil de instância.

O exemplo a seguir anexa a política AWSRDSCustomSQLServerIamRolePolicy gerenciada pela AWS ao perfil AWSRDSCustomSQLServerInstanceRole.

aws iam attach-role-policy \ --role-name AWSRDSCustomSQLServerInstanceRole \ --policy-arn arn:aws:iam::aws:policy/AmazonRDSCustomInstanceProfileRolePolicy
Criar seu perfil de instância do RDS Custom for SQL Server

Um perfil de instância é um contêiner que inclui um único perfil do IAM. O RDS Custom usa o perfil de instância para transmitir o perfil à instância.

Se você usar o AWS Management Console para criar um perfil para o Amazon EC2, o console criará automaticamente um perfil de instância e dará a ele o mesmo nome dado ao perfil quando este foi criado. Crie seu perfil de instância da seguinte maneira, chamando-o de AWSRDSCustomSQLServerInstanceProfile.

aws iam create-instance-profile \ --instance-profile-name AWSRDSCustomSQLServerInstanceProfile
Adicionar AWSRDSCustomSQLServerInstanceRole ao seu perfil de instância do RDS Custom for SQL Server

Adicione o perfil AWSRDSCustomInstanceRoleForRdsCustomInstance ao perfil AWSRDSCustomSQLServerInstanceProfile criado anteriormente.

aws iam add-role-to-instance-profile \ --instance-profile-name AWSRDSCustomSQLServerInstanceProfile \ --role-name AWSRDSCustomSQLServerInstanceRole

Configurar sua VPC manualmente

Sua instância de banco de dados do RDS Custom está em uma nuvem privada virtual (VPC) com base no serviço da Amazon VPC, assim como uma instância do Amazon EC2 ou do Amazon RDS. Você fornece e configura sua própria VPC. Assim, você tem controle total sobre a configuração de rede da sua instância.

O RDS Custom envia comunicações de sua instância de banco de dados para outros Serviços da AWS. Garanta que os seguintes serviços estejam acessíveis por meio da sub-rede na qual você cria instâncias de banco de dados do RDS Custom:

  • Amazon CloudWatch

  • Amazon CloudWatch Logs

  • Amazon CloudWatch Events

  • Amazon EC2

  • Amazon EventBridge

  • Amazon S3

  • AWS Secrets Manager

  • AWS Systems Manager

Se você criar implantações multi-AZ

  • Amazon Simple Queue Service

Se o RDS Custom não conseguir se comunicar com os serviços necessários, ele publicará os seguintes eventos:

Database instance in incompatible-network. SSM Agent connection not available. Amazon RDS can't connect to the dependent AWS services.
Database instance in incompatible-network. Amazon RDS can't connect to dependent AWS services. Make sure port 443 (HTTPS) allows outbound connections, and try again. "Failed to connect to the following services: s3 events"

Para evitar erros incompatible-network, os componentes da VPC envolvidos na comunicação entre sua instância de banco de dados do RDS Custom e os Serviços da AWS devem cumprir os seguintes requisitos:

  • A instância de banco de dados pode fazer conexões de saída na porta 443 para outros Serviços da AWS.

  • A VPC permite respostas recebidas a solicitações originadas de sua instância de banco de dados do RDS Custom.

  • O RDS Custom pode resolver corretamente os nomes de domínio dos endpoints para cada AWS service (Serviço da AWS).

Se você já configurou uma VPC para outro mecanismo de banco de dados do RDS Custom, poderá reutilizar essa VPC e ignorar esse processo.

Configurar o grupo de segurança da sua VPC

Um grupo de segurança atua como um firewall virtual para uma instância VPC, controlando os tráfegos de entrada e de saída. Uma instância de banco de dados do RDS Custom tem um grupo de segurança anexado à interface de rede que protege a instância. O grupo de segurança deve permitir o tráfego entre o RDS Custom e outros Serviços da AWS por meio de HTTPS. Você transmite esse grupo de segurança como o parâmetro vpc-security-group-ids na solicitação de criação da instância.

Para configurar seu grupo de segurança para o RDS Custom
  1. Faça login no AWS Management Console e abra o console da Amazon VPC em https://console.aws.amazon.com/vpc.

  2. Permita que o RDS Custom use o grupo de segurança padrão ou crie seu próprio grupo de segurança.

    Para obter instruções detalhadas, consulte Fornecer acesso à instância de banco de dados na VPC criando um grupo de segurança.

  3. Verifique se o grupo de segurança permite conexões de saída na porta 443. O RDS Custom precisa dessa porta para se comunicar com os Serviços da AWS dependentes.

  4. Se você tiver uma VPC privada e utilizar endpoints da VPC, verifique se o grupo de segurança associado à instância de banco de dados permite conexões de saída na porta 443 para endpoints da VPC. Verifique também se o grupo de segurança associado ao endpoint da VPC permite conexões de entrada na porta 443 da instância de banco de dados.

    Se não forem permitidas conexões de entrada, a instância do RDS Custom não poderá se conectar ao AWS Systems Manager e a endpoints do Amazon EC2. Para ter mais informações, consulte Criar um endpoint da nuvem privada virtual no Guia do usuário do AWS Systems Manager.

  5. Em relação a instâncias do RDS Custom para SQL Server, verifique se o grupo de segurança associado à instância de banco de dados permite conexões de entrada e de saída na porta 1120 com esse próprio grupo de segurança. Isso é necessário para a conexão de host de emparelhamento em uma instância multi-AZ de banco de dados do RDS Custom para SQL Server.

Para ter mais informações sobre grupos de segurança, consulte Grupos de segurança para sua VPC no Guia do desenvolvedor da Amazon VPC.

Configurar endpoints para Serviços da AWS dependentes

Convém adicionar endpoints para cada serviço à sua VPC utilizando as instruções a seguir. No entanto, é possível utilizar qualquer solução que permita que a sua VPC se comunique com endpoints de serviços da AWS. Por exemplo, é possível utilizar a Conversão de endereços de rede (NAT) ou AWS Direct Connect.

Como configurar endpoints de Serviços da AWS com os quais o RDS Custom funciona
  1. Abra o console da Amazon VPC em https://console.aws.amazon.com/vpc/.

  2. Na barra de navegação, use o seletor de região para escolher a Região da AWS.

  3. No painel de navegação, escolha Endpoints. No painel principal, escolha Create Endpoint (Criar endpoint).

  4. Em Service category (Categoria de serviço), escolha Serviços da AWS.

  5. Para Service Name (Nome do serviço), escolha o endpoint mostrado na tabela.

  6. Em VPC, escolha sua VPC.

  7. Em Subnets (Sub-redes), escolha uma sub-rede de cada zona de disponibilidade a ser incluída.

    O endpoint da VPC pode abranger várias zonas de disponibilidade. A AWS cria uma interface de rede elástica do endpoint da VPC em cada sub-rede que você escolhe. Cada interface de rede tem um nome de host de Sistema de Nomes de Domínio (DNS) e um endereço IP privado.

  8. Para Security group (Grupo de segurança), escolha ou crie um grupo de segurança.

    Você pode usar grupos de segurança para controlar o acesso ao seu endpoint, da mesma forma que usa um firewall. Verifique se o grupo de segurança permite conexões de entrada na porta 443 por meio das instâncias de banco de dados. Para ter mais informações sobre grupos de segurança de VPC, consulte Grupos de segurança para a VPC no Guia do usuário da Amazon VPC.

  9. Você também pode anexar uma política ao endpoint da VPC. As políticas de endpoint podem controlar o acesso ao AWS service (Serviço da AWS) ao qual você está se conectando. A política padrão permite que todas as solicitações passem pelo endpoint. Se você estiver usando uma política personalizada, verifique se as solicitações da instância de banco de dados são permitidas na política.

  10. Escolha Criar endpoint.

A tabela a seguir explica como encontrar a lista de endpoints que a sua VPC precisa para comunicações de saída.

Serviço Formato do endpoint Observações e links

AWS Systems Manager

Utilize os seguintes formatos de endpoint:

  • ssm.region.amazonaws.com

  • ssmmessages.region.amazonaws.com

Para ver uma lista de todos os endpoints regionais, consulte Cotas e endpoints do AWS Systems Manager no Referência geral da Amazon Web Services.

AWS Secrets Manager

Use o formato de endpoint secretsmanager.region.amazonaws.com.

Para ver uma lista de todos os endpoints regionais, consulte Cotas e endpoints do AWS Secrets Manager no Referência geral da Amazon Web Services.

Amazon CloudWatch

Utilize os seguintes formatos de endpoint:

  • Para métricas do CloudWatch, use monitoring.region.amazonaws.com

  • Para o CloudWatch Events, use events.region.amazonaws.com

  • Para o CloudWatch Logs, use logs.region.amazonaws.com

Para ver a lista de endpoints em todas as regiões, consulte:

Amazon EC2

Utilize os seguintes formatos de endpoint:

  • ec2.region.amazonaws.com

  • ec2messages.region.amazonaws.com

Para ver a lista de endpoints em cada região, consulte Endpoints e cotas do Amazon Elastic Compute Cloud na Referência geral da Amazon Web Services.

Amazon S3

Use o formato de endpoint s3.region.amazonaws.com.

Para ver a lista de endpoints em cada região, consulte Endpoints e cotas do Amazon Simple Storage Service na Referência geral da Amazon Web Services.

Para saber mais sobre endpoints de gateway para o Amazon S3, consulte Endpoints do Amazon S3, no Guia do desenvolvedor da Amazon VPC.

Para saber como criar um ponto de acesso, consulte Criar pontos de acesso no Guia do desenvolvedor do Amazon VPC.

Para saber como criar endpoints de gateway para o Amazon S3, consulte Endpoints da VPC do gateway.

Amazon Simple Queue Service

Usar o formato de endpoint sqs.region.amazonaws.com Para ver a lista de endpoints em cada região, consulte Amazon Simple Queue Service endpoints and quotas.
Configurar o serviço de metadados da instância

Verifique se a sua instância pode fazer o seguinte:

  • Acesse o serviço de metadados de instância utilizando o Instance Metadata Service versão 2 (IMDSv2).

  • Permita comunicações de saída por meio da porta 80 (HTTP) com o endereço IP do link IMDS.

  • Solicite metadados da instância de http://169.254.169.254, o link IMDSv2.

Para ter mais informações, consulte Usar o IMDSv2, no Guia do usuário do Amazon EC2 para instâncias Linux.

Restrição entre instâncias

Quando você cria um perfil de instância seguindo as etapas acima, ele usa a política AmazonRDSCustomInstanceProfileRolePolicy gerenciada pela AWS para fornecer as permissões necessárias ao RDS Custom, o que permite o gerenciamento de instâncias e a automação do monitoramento. A política gerenciada garante que as permissões viabilizem acesso somente aos recursos que o RDS Custom exige para executar a automação. Recomendamos usar a política gerenciada para comportar novos recursos e atender aos requisitos de segurança que são aplicados automaticamente aos perfis de instância existentes sem intervenção manual. Para ter mais informações, consulte a política gerenciada pela AWS: AmazonRDSCustomInstanceProfileRolePolicy.

A política gerenciada AmazonRDSCustomInstanceProfileRolePolicy impede que o perfil de instância tenha acesso entre contas, mas pode permitir acesso a alguns recursos gerenciados do RDS Custom entre as respectivas instâncias na mesma conta. Com base em suas necessidades, você pode usar limites de permissão para restringir ainda mais o acesso entre instâncias. Os limites de permissões definem o número máximo de permissões que as políticas baseadas em identidade podem conceder a uma entidade, mas, por si sós, não concedem permissões. Para ter mais informações, consulte Avaliar permissões efetivas com limites.

Por exemplo, a política a seguir impede que o perfil de instância acesse uma chave do AWS KMS específica e limita o acesso aos recursos gerenciados do RDS Custom em instâncias que usam chaves do AWS KMS diferentes.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyOtherKmsKeyAccess", "Effect": "Deny", "Action": "kms:*", "NotResource": "arn:aws:kms:region:acct_id:key/KMS_key_ID" }, { "Sid": "NoBoundarySetByDefault", "Effect": "Allow", "Action": "*", "Resource": "*" } ] }
nota

Garanta que o limite de permissões não bloqueie nenhuma permissão que a AmazonRDSCustomInstanceProfileRolePolicy concede ao RDS Custom.