Configurar uma instância de banco de dados para o Amazon RDS Custom para Oracle - Amazon Relational Database Service

Configurar uma instância de banco de dados para o Amazon RDS Custom para Oracle

Você pode criar uma instância de banco de dados do RDS Custom e, em seguida, conectar-se a ela via Secure Shell (SSH) ou AWS Systems Manager.

Considerações sobre arquitetura multilocatário

Se você criar uma instância de banco de dados do Amazon RDS Custom para Oracle com a arquitetura multilocatário Oracle (tipo de mecanismo custom-oracle-ee-cdb ou custom-oracle-se2-cdb), seu banco de dados será um banco de dados de contêiner (CDB). Se você não especificar a arquitetura multilocatário Oracle, seu banco de dados será não CDB tradicional que usa o tipo de mecanismo custom-oracle-ee ou custom-oracle-se2. Um não CDB não pode conter bancos de dados conectáveis (PDBs). Para ter mais informações, consulte Arquitetura de banco de dados para o Amazon RDS Custom para Oracle.

Ao criar uma instância de CDB do RDS Custom para Oracle, considere o seguinte:

  • Só é possível criar um banco de dados multilocatário usando uma CEV do Oracle Database 19c.

  • Só será possível criar uma instância de CDB se a CEV usar o tipo de mecanismo custom-oracle-ee-cdb ou custom-oracle-se2-cdb.

  • Se você criar uma instância de CDB usando a Standard Edition 2, o CDB poderá conter no máximo 3 PDBs.

  • Por padrão, seu CDB recebe o nome de RDSCDB, que também é o nome do ID do Oracle System (Oracle SID). Você pode selecionar um nome diferente.

  • O CDB contém somente um PDB inicial. O nome padrão do PDB é ORCL. Você pode selecionar um nome diferente para o PDB inicial, mas o Oracle SID e o nome do PDB não podem ser os mesmos.

  • O RDS Custom para Oracle não fornece APIs para PDBs. Para criar PDBs adicionais, use o comando CREATE PLUGGABLE DATABASE do Oracle SQL. O RDS Custom para Oracle não restringe o número de PDBs que você pode criar. Em geral, você é responsável por criar e gerenciar PDBs, como em uma implantação on-premises.

  • Não é possível usar as APIs do RDS para criar, modificar e excluir PDBs: é necessário usar as instruções SQL do Oracle. Se você criar um PDB usando o Oracle SQL, recomendamos gerar um snapshot manual posteriormente em caso de precisar fazer uma recuperação para um ponto no tempo (PITR).

  • Você não pode renomear PDBs existentes usando as APIs do Amazon RDS. Você também não pode renomear o CDB usando o comando modify-db-instance.

  • O modo aberto para a raiz do CDB é READ WRITE no banco de dados primário e MOUNTED em um banco de dados standby montado. O RDS Custom para Oracle tenta abrir todos os PDBs ao abrir o CDB. Se o RDS Custom para Oracle não conseguir abrir todos os PDBs, ele emitirá o evento tenant database shutdown.

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

Crie uma instância de banco de dados do Amazon RDS Custom for Oracle 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 ter mais informações, consulte Criar uma instância de banco de dados do Amazon RDS.

Se você incluiu parâmetros de instalação em seu manifesto da CEV, sua instância de banco de dados usará a base do Oracle, o Oracle home e o ID e o nome do usuário e do grupo do UNIX/Linux que você especificou. O arquivo oratab, criado pelo banco de dados Oracle durante a instalação, aponta para o local real da instalação em vez de para um link simbólico. Quando o RDS Custom para Oracle executa comandos, ele o faz como o usuário configurado do sistema operacional e não como o usuário padrão rdsdb. Para ter mais informações, consulte Etapa 5: Preparar o manifesto CEV.

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

Para criar uma instância de banco de dados do RDS Custom for Oracle
  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 Bancos de dados.

  3. Escolha Create database (Criar banco de dados).

  4. Em Choose a database creation method (Escolher um método de criação de banco de dados), selecione Standard Create (Criação padrão).

  5. Na seção Opções de mecanismo, faça o seguinte:

    1. Para Engine type (Tipo de mecanismo), escolha Oracle.

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

    3. Em Configurações da arquitetura, faça um dos seguintes procedimentos:

      • Selecione Arquitetura multilocatário para criar um banco de dados de contêiner (CDB). Na criação, o CDB contém uma semente de PDB e um PDB inicial.

        nota

        A configuração Arquitetura multilocatário é compatível somente com o Oracle Database 19c.

      • Desmarque Arquitetura multilocatário para criar um não CDB. Um não CDB não pode conter PDBs.

    4. Em Edição, selecione Oracle Enterprise Edition ou Oracle Standard Edition 2.

    5. Para Versão de mecanismo personalizada, selecione uma versão de mecanismo personalizada do RDS Custom (CEV) existente. A CEV tem o seguinte formato: major-engine-version.customized_string. Um exemplo de identificador é 19.cdb_cev1.

      Se você selecionou Arquitetura multilocatário na etapa anterior, só poderá especificar uma CEV que use o tipo de mecanismo custom-oracle-ee-cdb ou custom-oracle-se2-cdb. O console filtra as CEVs que foram criadas com diferentes tipos de mecanismo.

  6. Em Templates, escolha Production (Produção).

  7. Na seção Configurações, faça o seguinte:

    1. Em Identificador da instância de banco de dados, insira um nome exclusivo de sua instância de banco de dados.

    2. Em Nome de usuário principal, insira um nome de usuário. Você pode recuperar esse valor do console posteriormente.

      Quando você se conecta a um não CDB, o usuário principal é o usuário do não CDB. Quando você se conecta a um CDB, o usuário principal é o usuário do CDB. Para se conectar à raiz do CDB, faça login no host, inicie um cliente SQL e crie um usuário administrativo com comandos SQL.

    3. Desmarque a opção Gerar automaticamente uma senha.

  8. Selecione uma classe de instância de banco de dados.

    Para conhecer as classes com suporte, consulte Suporte a classes de instâncias de banco de dados do RDS Custom for Oracle.

  9. Na seção Storage (Armazenamento), faça o seguinte:

    1. Em Tipo de armazenamento, selecione um tipo de SSD: io1, gp2 ou gp3. Você tem as seguintes opções adicionais:

      • Para io1 ou gp3, selecione uma taxa para IOPS provisionadas. O padrão é 1.000 para io1 e 12.000 para gp3.

      • Para gp3, selecione uma taxa para Throughput de armazenamento. O padrão é 500 MiBps.

    2. Em Armazenamento alocado, selecione um tamanho de armazenamento. O padrão é de 40 GiB.

  10. Em Conectividade, especifique sua nuvem privada virtual (VPC), grupo de sub-rede de banco de dados e grupo de segurança VPC (firewall).

  11. 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 Oracle.

      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 ter mais informações, consulte Etapa 1: Criar ou reutilizar uma chave AWS KMS de criptografia simétrica.

  12. Em Opções do banco de dados, faça o seguinte:

    1. (Opcional) Em ID do sistema (SID), insira um valor para o Oracle SID, que também é o nome do CDB. O SID é o nome da instância do banco de dados do Oracle que gerencia seus arquivos de banco de dados. Nesse contexto, o termo “instância de banco de dados Oracle” se refere exclusivamente à área global do sistema (SGA) e aos processos em segundo plano da Oracle. Se você não especificar um SID, o valor assumirá RDSCDB como padrão.

    2. (Opcional) Em Nome do banco de dados inicial, insira um nome. O valor padrão é ORCL. Na arquitetura multilocatário, o nome inicial do banco de dados é o nome do PDB.

      nota

      O SID e o nome do PDB devem ser diferentes.

    3. Em Grupo de opções, selecione um grupo de opções ou aceite o padrão.

      nota

      A única opção compatível com o RDS Custom para Oracle é Timezone. Para ter mais informações, consulte Fuso horário da Oracle.

    4. Em Período de retenção de backup, selecione um valor. Você não pode selecionar 0 dias.

    5. 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)

      • 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)

      • Performance Insights

      • Exportações de log

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

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

  13. Escolha Create database (Criar banco de dados).

    Importante

    Ao criar uma instância de banco de dados do RDS Custom para Oracle, 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.

    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 no console. Caso você não a registre, talvez seja necessário alterá-la. Para alterar a senha do usuário principal depois que a instância de banco de dados do RDS Custom estiver disponível, faça login no banco de dados e execute um comando ALTER USER. Você pode redefinir a senha usando a opção Modificar no console.

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

  15. 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:

  • --db-instance-identifier

  • --db-instance-class (para obter uma lista de classes de instância de banco de dados com suporte, consulte Suporte a classes de instâncias de banco de dados do RDS Custom for Oracle)

  • --engine engine-type, em que o tipo de mecanismo é custom-oracle-ee, custom-oracle-se2, custom-oracle-ee-cdb ou custom-oracle-se2-cdb.

  • --engine-version cev (em que cev é o nome da versão de mecanismo personalizada que você especificou em Criar um CEV)

  • --kms-key-id my-kms-key

  • --backup-retention-period days (em que days é um valor maior que 0)

  • --no-auto-minor-version-upgrade

  • --custom-iam-instance-profile AWSRDSCustomInstanceProfile-us-east-1 (em que region é a Região da AWS onde você está criando sua instância de banco de dados)

O exemplo a seguir cria uma instância de banco de dados do RDS Custom chamada my-cfo-cdb-instance. O banco de dados é um CDB com o nome não padrão MYCDB. O nome não padrão do PDB é MYPDB. Defina o período de retenção de backup como três dias.

Para Linux, macOS ou Unix:

aws rds create-db-instance \ --engine custom-oracle-ee-cdb \ --db-instance-identifier my-cfo-cdb-instance \ --engine-version 19.cdb_cev1 \ --db-name MYPDB \ --db-system-id MYCDB \ --allocated-storage 250 \ --db-instance-class db.m5.xlarge \ --db-subnet-group mydbsubnetgroup \ --master-username myuser \ --master-user-password mypassword \ --backup-retention-period 3 \ --port 8200 \ --kms-key-id my-kms-key \ --no-auto-minor-version-upgrade \ --custom-iam-instance-profile AWSRDSCustomInstanceProfile-us-east-1

Para Windows:

aws rds create-db-instance ^ --engine custom-oracle-ee-cdb ^ --db-instance-identifier my-cfo-cdb-instance ^ --engine-version 19.cdb_cev1 ^ --db-name MYPDB ^ --db-system-id MYCDB ^ --allocated-storage 250 ^ --db-instance-class db.m5.xlarge ^ --db-subnet-group mydbsubnetgroup ^ --master-username myuser ^ --master-user-password mypassword ^ --backup-retention-period 3 ^ --port 8200 ^ --kms-key-id my-kms-key ^ --no-auto-minor-version-upgrade ^ --custom-iam-instance-profile AWSRDSCustomInstanceProfile-us-east-1
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-cfo-cdb-instance

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

{ "DBInstanceIdentifier": "my-cfo-cdb-instance", "DBInstanceClass": "db.m5.xlarge", "Engine": "custom-oracle-ee-cdb", "DBInstanceStatus": "available", "MasterUsername": "admin", "DBName": "MYPDB", "DBSystemID": "MYCDB", "Endpoint": { "Address": "my-cfo-cdb-instance.abcdefghijkl.us-east-1.rds.amazonaws.com", "Port": 1521, "HostedZoneId": "A1B2CDEFGH34IJ" }, "AllocatedStorage": 100, "InstanceCreateTime": "2023-04-12T18:52:16.353000+00:00", "PreferredBackupWindow": "08:46-09:16", "BackupRetentionPeriod": 7, "DBSecurityGroups": [], "VpcSecurityGroups": [ { "VpcSecurityGroupId": "sg-0a1bcd2e", "Status": "active" } ], "DBParameterGroups": [ { "DBParameterGroupName": "default.custom-oracle-ee-cdb-19", "ParameterApplyStatus": "in-sync" } ], ...

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 ter 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 Oracle 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 usando o Session Manager

Depois de criar sua instância de banco de dados do RDS Custom, você pode conectar-se a ela usando o AWS Systems Manager Session Manager. Essa é a técnica preferida quando sua instância de banco de dados não está acessível publicamente.

O Session Manager possibilita que você acesse instâncias do Amazon EC2 por meio de um shell baseado no navegador ou viaAWS 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 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 clique no 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 aws rds 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 SSH

O Secure Shell Protocol (SSH) é um protocolo de rede compatível com a comunicação criptografada em uma rede não segura. Depois de criar sua instância de banco de dados do RDS Custom, você pode se conectar a ela usando um cliente ssh. Para ter mais informações, consulte Conexão à sua instância do Linux utilizando SSH.

A técnica de conexão SSH depende de a instância de banco de dados ser privada, o que significa que ela não aceita conexões da Internet pública. Nesse caso, você deve usar o tunelamento SSH para conectar o utilitário ssh à sua instância. Essa técnica transporta dados com um fluxo de dados dedicado (túnel) dentro de uma sessão SSH existente. Você pode configurar o tunelamento SSH usando AWS Systems Manager.

nota

Várias estratégias são compatíveis para acessar instâncias privadas. Para saber como conectar um cliente ssh a instâncias privadas usando bastion hosts, consulte Linux Bastion Hosts na AWS. Para saber como configurar o encaminhamento de portas, consulte Encaminhamento de portas usando o AWS Systems Manager Session Manager.

Se sua instância de banco de dados estiver em uma sub-rede pública e tiver a configuração disponível publicamente, nenhum tunelamento SSH será necessário. Você pode se conectar a SSH da mesma forma que faria com uma instância pública do Amazon EC2.

Para conectar um cliente ssh à sua instância de banco de dados, conclua as seguintes etapas:

Etapa 1: Configurar sua instância de banco de dados para permitir conexões SSH

Para garantir que sua instância de banco de dados possa aceitar conexões SSH, faça o seguinte:

  • Certifique-se de que o grupo de segurança da instância de banco de dados permita conexões de entrada na porta 22 para TCP.

    Para saber mais sobre como configurar o grupo de segurança de sua instância de banco de dados, consulte Controlar acesso com grupos de segurança.

  • Se você não planeja usar o tunelamento SSH, sua instância de banco de dados deve residir em uma sub-rede pública e estar acessível publicamente.

    No console, o campo relevante é Acessível publicamente na guia Conectividade e segurança da página de detalhes do banco de dados. Para conferir suas configurações na CLI, execute o seguinte comando:

    aws rds describe-db-instances \ --query 'DBInstances[*].{DBInstanceIdentifier:DBInstanceIdentifier,PubliclyAccessible:PubliclyAccessible}' \ --output table

    Para alterar as configurações de acessibilidade de sua instância de banco de dados, consulte nModificar uma instância de banco de dados do Amazon RDS.

Etapa 2: Recuperar sua chave secreta SSH e o ID da instância do EC2

Para conectar-se à instância de banco de dados usando SSH, você precisa do par de chaves associado a essa instância. O RDS Custom cria o par de chaves SSH em seu nome, nomeando-o com o prefixo do-not-delete-rds-custom-ssh-privatekey-db-. O AWS Secrets Manager armazena sua chave privada SSH como um segredo.

Recupere sua chave secreta SSH usando o AWS Management Console ou a AWS CLI. Se sua instância tem um DNS público e você não pretende usar o tunelamento SSH, recupere também o nome do DNS. Você especifica o nome DNS para conexões públicas.

Como recuperar a chave SSH 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. Escolher configuração.

  4. Observe o valor de Resource ID (ID do recurso). Por exemplo, o ID do recurso de instância de banco de dados 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. Localize o nome da sua instância do EC2 e escolha o ID de instância associado a ela. Por exemplo, o ID da instância do EC2 pode ser i-abcdefghijklm01234.

  8. Em Details (Detalhes), localize Key pair name (Nome do par de chaves). O nome do par inclui o ID de recurso de instância de banco de dados. Por exemplo, ele pode ser do-not-delete-rds-custom-ssh-privatekey-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c.

  9. Se sua instância do EC2 for pública, observe o DNS IPv4 público. Para o exemplo, o endereço do Sistema de Nomes de Domínio (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.

  13. Copie a chave privada SSH em um arquivo de texto e salve o arquivo com a extensão .pem. Por exemplo, salve-o como /tmp/do-not-delete-rds-custom-ssh-privatekey-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c.pem.

Para recuperar a chave privada SSH e salvá-la em um arquivo .pem, você pode usar a AWS CLI.

  1. Encontre o ID de recurso de banco de dados de sua instância de banco de dados do RDS Custom usando aws rds 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
  2. Encontre o ID de instância do EC2 da sua instância de banco de dados usando 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
  3. Para encontrar o nome da chave, especifique o ID da instância do EC2. O exemplo a seguir descreve a instância do EC2 i-0bdc4219e66944afa.

    aws ec2 describe-instances \ --instance-ids i-0bdc4219e66944afa \ --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-ssh-privatekey-.

    do-not-delete-rds-custom-ssh-privatekey-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c
  4. Salve a chave privada em um arquivo .pem com o nome dessa chave usando aws secretsmanager. O exemplo a seguir salva o arquivo no diretório /tmp.

    aws secretsmanager get-secret-value \ --secret-id do-not-delete-rds-custom-ssh-privatekey-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c \ --query SecretString \ --output text >/tmp/do-not-delete-rds-custom-ssh-privatekey-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c.pem

Etapa 3: Conectar-se à sua instância do EC2 usando o utilitário ssh

Sua técnica de conexão depende do fato de você estar se conectando a uma instância de banco de dados privada ou a uma instância pública. Uma conexão privada exige que você configure o tunelamento SSH por meio de AWS Systems Manager.

Como se conectar à sua instância do EC2 usando o utilitário ssh
  1. Para conexões privadas, modifique seu arquivo de configuração SSH para comandos proxy para AWS Systems Manager Session Manager. Para conexões públicas, vá para a etapa 2.

    Adicione as linhas a seguir a ~/.ssh/config. Essas linhas substituem comandos SSH para hosts cujos nomes começam com i- ou mi-.

    Host i-* mi-* ProxyCommand sh -c "aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters 'portNumber=%p'"
  2. Mude para o diretório que contém seu arquivo .pem. Usando chmod, defina as permissões como 400.

    cd /tmp chmod 400 do-not-delete-rds-custom-ssh-privatekey-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c.pem
  3. Execute o utilitário ssh, especificando o arquivo .pem e o nome do DNS público (para conexões públicas) ou o ID da instância do EC2 (para conexões privadas). Faça login como usuário ec2-user.

    O exemplo a seguir se conecta a uma instância pública usando o nome DNS ec2-12-345-678-901.us-east-2.compute.amazonaws.com.

    ssh -i \ "do-not-delete-rds-custom-ssh-privatekey-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c.pem" \ ec2-user@ec2-12-345-678-901.us-east-2.compute.amazonaws.com

    O exemplo a seguir se conecta a uma instância privada usando o ID de instância do EC2 i-0bdc4219e66944afa.

    ssh -i \ "do-not-delete-rds-custom-ssh-privatekey-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c.pem" \ ec2-user@i-0bdc4219e66944afa

Fazer login no banco de dados do RDS Custom para Oracle como SYS

Depois de criar sua instância de banco de dados do RDS Custom, você pode fazer login no banco de dados do Oracle como usuárioSYS, o que confere a você privilégios SYSDBA. Você tem as seguintes opções de login:

  • Obtenha a senha SYS do Secrets Manager e especifique essa senha no seu cliente SQL.

  • Use a autenticação do sistema operacional para fazer login em seu banco de dados. Nesse caso, você não precisa de uma senha.

Encontrar a senha do SYS para o banco de dados do RDS Custom para Oracle

Você pode fazer login em seu banco de dados Oracle como SYS ou SYSTEM ou especificando o nome de usuário principal em uma chamada de API. A senha para SYS e SYSTEM é armazenada no Secrets Manager. O segredo usa o formato de nomenclatura do-not-delete-rds-custom-resource_id - uuid. Você pode encontrar a senha usando o AWS Management Console.

Como encontrar a senha SYS para seu banco de dados no Secrets 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 console do RDS, conclua as seguintes etapas:

    1. No painel de navegação, escolha Bancos de dados.

    2. Selecione o nome da sua instância de banco de dados do RDS Custom para Oracle.

    3. Escolher configuração.

    4. Copie o valor abaixo do ID do recurso. Por exemplo, seu ID de recurso pode ser db-ABC12CDE3FGH4I5JKLMNO6PQR7.

  3. Abra o console do Secrets Manager em https://console.aws.amazon.com/secretsmanager/.

  4. No console do Secrets Manager, conclua as seguintes etapas:

    1. No painel de navegação à esquerda, selecione Segredos.

    2. Filtre os segredos pelo ID do recurso que você copiou na etapa 5.

    3. Selecione o segredo chamado do-not-delete-rds-custom-resource_id-uuid, em que resource_id é o ID do recurso que você copiou na etapa 5. Por exemplo, se seu ID de recurso for db-ABC12CDE3FGH4I5JKLMNO6PQR7, seu segredo será denominado do-not-delete-rds-custom-db-ABC12CDE3FGH4I5JKLMNO6PQR7.

    4. Na seção Valor de segredo, selecione Recuperar o valor de segredo.

    5. Em Chave/valor, copie o valor da senha.

  5. Instale o SQL*Plus em sua instância de banco de dados e faça login em seu banco de dados como SYS. Para ter mais informações, consulte Etapa 3: Conectar seu cliente SQL a uma instância de banco de dados Oracle..

Fazer login no banco de dados do RDS Custom para Oracle usando a autenticação do sistema operacional

O usuário do sistema operacional rdsdb é responsável pelos binários do banco de dados Oracle. Você pode alternar para o usuário rdsdb e fazer login no seu banco de dados do RDS Custom para Oracle sem uma senha.

  1. Conecte-se à sua instância de banco de dados com AWS Systems Manager. Para ter mais informações, consulte Conectar-se à sua instância de banco de dados do RDS Custom usando o Session Manager.

  2. Em um navegador da Web, acesse https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html.

  3. Para obter a versão mais recente do banco de dados que aparece na página da Web, copie os links .rpm (não os links .zip) para o Instant Client Basic Package e o SQL*Plus Package. Por exemplo, os links a seguir são para o Oracle Database versão 21.9:

    • https://download.oracle.com/otn_software/linux/instantclient/219000/oracle-instantclient-basic-21.9.0.0.0-1.el8.x86_64.rpm

    • https://download.oracle.com/otn_software/linux/instantclient/219000/oracle-instantclient-sqlplus-21.9.0.0.0-1.el8.x86_64.rpm

  4. Em sua sessão SSH, execute o comando wget para baixar os arquivos .rpm dos links que você obteve na etapa anterior. O exemplo a seguir baixa os arquivos .rpm para a versão 21.9 do Oracle Database:

    wget https://download.oracle.com/otn_software/linux/instantclient/219000/oracle-instantclient-basic-21.9.0.0.0-1.el8.x86_64.rpm wget https://download.oracle.com/otn_software/linux/instantclient/219000/oracle-instantclient-sqlplus-21.9.0.0.0-1.el8.x86_64.rpm
  5. Instale os pacotes executando o comando yum da seguinte forma:

    sudo yum install oracle-instantclient-*.rpm
  6. Alterne para o usuário rdsdb.

    sudo su - rdsdb
  7. Faça login em seu banco de dados usando a autenticação do sistema operacional.

    $ sqlplus / as sysdba SQL*Plus: Release 21.0.0.0.0 - Production on Wed Apr 12 20:11:08 2023 Version 21.9.0.0.0 Copyright (c) 1982, 2020, Oracle. All rights reserved. Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.10.0.0.0

Instalar componentes de software adicionais em uma instância de banco de dados do RDS Custom para Oracle

Em uma instância de banco de dados recém-criada, seu ambiente de banco de dados inclui binários Oracle, um banco de dados e um receptor de banco de dados. Talvez você queira instalar software adicional no sistema operacional host da instância de banco de dados. Por exemplo, talvez você queira instalar o Oracle Application Express (APEX), o agente do Oracle Enterprise Manager (OEM) ou o agente do Guardium S-TAP. Para obter diretrizes e instruções de alto nível, consulte a publicação detalhada no blog da AWS Instalar componentes de software adicionais no Amazon RDS Custom para Oracle.