Habilite o arquivamento de DB2 logs diretamente no Amazon S3 em um banco de dados IBM Db2 - Recomendações da AWS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Habilite o arquivamento de DB2 logs diretamente no Amazon S3 em um banco de dados IBM Db2

Ambarish Satarkar, Amazon Web Services

Resumo

Esse padrão descreve como usar o Amazon Simple Storage Service (Amazon S3) como armazenamento de catálogos para registros de arquivamento que são gerados pelo IBM Db2, sem usar uma área de armazenamento.

Você pode especificar o armazenamento DB2REMOTO do Amazon S3 para os parâmetros de configuração dos métodos de arquivamento de log logarchmeth1 e logarchmeth2. Você pode usar o logarchmeth1 parâmetro para especificar o destino principal dos registros que são arquivados do caminho do registro atual. Com esse recurso, você pode arquivar e recuperar registros de transações de e para o Amazon S3 diretamente, sem usar uma área de armazenamento.

O Amazon S3 armazena os dados que são enviados para ele em pelo menos três dispositivos em um único dispositivo. Região da AWS Milhões de clientes de todos os tamanhos e setores usam o Amazon S3 para armazenar backups corporativos devido à sua alta disponibilidade, opções flexíveis de armazenamento, políticas de ciclo de vida e segurança.

Pré-requisitos e limitações

Pré-requisitos

Limitações

  • Somente o Db2 11.5.7 ou posterior permite o arquivamento de logs diretamente no armazenamento do Amazon S3.

  • Alguns Serviços da AWS não estão disponíveis em todos Regiões da AWS. Para saber a disponibilidade da região, consulte AWS Serviços por região. Para endpoints específicos, consulte Endpoints e cotas de serviço e escolha o link para o serviço.

  • Em todas as configurações, existem as seguintes limitações para o Amazon S3:

    • AWS Key Management Service (AWS KMS) não é suportado.

    • AWS credenciais baseadas em função AWS Identity and Access Management ((IAM)) ou baseadas em token (AWS Security Token Service (AWS STS)) não são suportadas.

Versões do produto

  • AWS CLI versão 2 ou posterior

  • IBM Db2 11.5.7 ou posterior

  • Linux SUSE Linux Enterprise Server (SLES) 11 ou posterior

  • Red Hat Enterprise Linux (RHEL) 6 ou posterior

  • Windows Server 2008 R2, 2012 (R2), 2016 ou 2019

Arquitetura

O diagrama a seguir mostra os componentes e o fluxo de trabalho desse padrão.

Fluxo de trabalho para usar o Amazon S3 para armazenamento de catálogos para registros de arquivamento gerados pelo Db2.

A arquitetura do Nuvem AWS inclui o seguinte:

  • Nuvem privada virtual (VPC) — uma seção logicamente isolada da Nuvem AWS qual você lança recursos.

  • Zona de disponibilidade — fornece alta disponibilidade executando a carga de trabalho Db2 LUW (Linux, Unix, Windows) em um data center isolado dentro do. Região da AWS

  • Sub-rede pública — fornece acesso RDP (Remote Desktop Protocol) para administradores e conectividade com a Internet por meio de um gateway NAT.

  • Sub-rede privada — Hospeda o banco de dados Db2 LUW. A instância Db2 LUW é configurada com o LOGARCHMETH1 parâmetro. O parâmetro grava arquivos de log do banco de dados diretamente em um caminho do Amazon S3 por meio do endpoint do gateway.

Os itens a seguir Serviços da AWS fornecem suporte:

  • Amazon S3 — serve como local de armazenamento durável e escalável para arquivos de arquivamento de log do Db2.

  • Amazon Elastic File System (Amazon EFS) — Fornece um sistema de arquivos compartilhado e totalmente gerenciado que o Db2 pode usar para backup e preparação de bancos de dados. O Db2 também pode usar o Amazon EFS como ponto de montagem para arquivos de log antes de serem arquivados no Amazon S3.

  • Amazon CloudWatch — coleta e monitora métricas, registros e eventos do Db2 e das instâncias EC2 subjacentes. Você pode usar CloudWatch para criar alarmes, painéis e respostas automatizadas para problemas de desempenho ou disponibilidade.

Automação e escala

  • Esse padrão fornece uma solução totalmente automatizada para armazenar o backup do arquivamento de log do Db2.

  • Você pode usar o mesmo bucket do Amazon S3 para habilitar o arquivamento de logs de vários bancos de dados Db2.

Ferramentas

Serviços da AWS

  • CloudWatchA Amazon ajuda você a monitorar as métricas dos seus AWS recursos e dos aplicativos em que você executa AWS em tempo real.

  • AWS Command Line Interface (AWS CLI) é uma ferramenta de código aberto que ajuda você a interagir Serviços da AWS por meio de comandos em seu shell de linha de comando.

  • O Amazon Elastic Compute Cloud (Amazon EC2) fornece capacidade de computação escalável no. Nuvem AWS Você poderá iniciar quantos servidores virtuais precisar e escalá-los na vertical rapidamente.

  • Amazon Elastic File System (Amazon EFS) ajuda você a criar e configurar sistemas de arquivos compartilhados na Nuvem AWS.

  • AWS IAM Identity Centerajuda você a gerenciar centralmente o acesso de login único (SSO) a todos os seus Contas da AWS aplicativos e à nuvem.

  • O Amazon Simple Storage Service (Amazon S3) é um serviço de armazenamento de objetos baseado na nuvem que ajuda você a armazenar, proteger e recuperar qualquer quantidade de dados.

  • A Amazon Virtual Private Cloud (Amazon VPC) ajuda você a lançar AWS recursos em uma rede virtual que você definiu. Essa rede virtual é semelhante a uma rede tradicional que você operaria no próprio datacenter, com os benefícios de usar a infraestrutura escalável da AWS.

Outras ferramentas

  • libcurl é uma biblioteca gratuita de transferência de URL do lado do cliente.

  • libxml2 é um analisador e kit de ferramentas XML C gratuito.

Práticas recomendadas

Épicos

TarefaDescriçãoHabilidades necessárias

Configure AWS CLI o.

Para baixar e instalar o AWS CLI, use os seguintes comandos:

i) curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" ii) unzip awscliv2.zip iii) sudo ./aws/install
Administrador da AWS, administrador de sistemas da AWS

Configure o AWS CLI.

Para configurar o AWS CLI, use os seguintes comandos:

$ aws configure AWS Access Key ID [None]:******************************* AWS Secret Access Key [None]: *************************** Default region name [None]: < aws region > Default output format [None]: text
Administrador da AWS, administrador de sistemas da AWS

Crie um usuário do IAM.

Para criar um usuário do IAM para usar posteriormente na conexão do banco de dados Db2 com o Amazon S3, use o seguinte comando:

aws iam create-user --user-name <unique username>

Veja a seguir um exemplo do comando:

aws iam create-user --user-name db_backup_user

Atenção

Este cenário precisa de usuários do IAM com acesso programático e credenciais de longo prazo, o que representa um risco de segurança. Para reduzir esse risco, recomendamos que você forneça a esses usuários somente as permissões necessárias para realizar a tarefa e que você remova esses usuários quando eles não forem mais necessários. As chaves de acesso podem ser atualizadas, se necessário. Para obter mais informações, consulte credenciais AWS de segurança e Gerenciar chaves de acesso para usuários do IAM na documentação do IAM.

Administrador de sistemas AWS

Crie um bucket Amazon S3.

Para criar um bucket do Amazon S3 para armazenar o backup do banco de dados, use o seguinte comando:

aws s3api create-bucket --bucket <unique bucket name> --region <aws region>

Veja a seguir um exemplo de comando :

aws s3api create-bucket --bucket myfirstbucket --region af-south-1

Administrador de sistemas AWS

Autorize o usuário do IAM.

Para autorizar o usuário recém-criado do IAM a ter permissões do Amazon S3, use as seguintes etapas:

  1. Para gerar um novo arquivo de política do IAM db2bucket.json para o bucket do Amazon S3, use o seguinte comando:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "ListObjectsInBucket", "Effect": "Allow", "Action": "s3:ListBucket", "Resource": [ "arn:aws:s3:::myfirstbucket" ] }, { "Sid": "AllObjectActions", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::myfirstbucket/*" ] } ] }
  2. Crie uma política do IAM com base no db2bucket.json arquivo. A saída JSON mostra o Amazon Resource Name (ARN) para a política:. "Arn": "arn:aws:iam::111122223333:policy/db2s3policy"

    aws iam create-policy \ --policy-name db2s3policy \ --policy-document file://db2bucket.json
  3. Anexe a política do IAM ao usuário do IAM com o ARN da política.

    aws iam attach-user-policy --user-name db_backup_user --policy-arn "arn:aws:iam::111122223333:policy/db2s3policy"
Administrador da AWS, administrador de sistemas da AWS

Crie uma chave de acesso.

Para gerar uma chave de acesso para acessar programaticamente o Amazon S3 a partir da instância, use DB2 o seguinte comando:

aws iam create-access-key --user-name <username>

Veja a seguir um exemplo do comando:

aws iam create-access-key --user-name db_backup_user

Atenção

Este cenário precisa de usuários do IAM com acesso programático e credenciais de longo prazo, o que representa um risco de segurança. Para reduzir esse risco, recomendamos que você forneça a esses usuários somente as permissões necessárias para realizar a tarefa e que você remova esses usuários quando eles não forem mais necessários. As chaves de acesso podem ser atualizadas, se necessário. Para obter mais informações, consulte credenciais AWS de segurança e Gerenciar chaves de acesso para usuários do IAM na documentação do IAM.

Administrador de sistemas AWS

Crie um repositório de chaves PKCS.

Para criar um keystore PKCS para armazenar a chave e criar uma chave de acesso secreta para transferir os dados para o Amazon S3, use o seguinte comando:

gsk8capicmd_64 -keydb -create -db "/db2/db2<sid>/.keystore/db6-s3.p12" -pw "<password>" -type pkcs12 -stash
Administrador de sistemas AWS

Configure DB2 para usar o keystore.

DB2 Para configurar o uso do keystore com os keystore_type parâmetros keystore_location e, use os seguintes comandos:

db2 "update dbm cfg using keystore_location /db2/db2<sid>/.keystore/db6-s3.p12 keystore_type pkcs12"
Administrador de sistemas AWS

Crie um alias DB2 de acesso ao armazenamento.

Um alias de acesso ao armazenamento especifica o bucket do Amazon S3 a ser usado. Ele também fornece os detalhes da conexão, como nome de usuário e senha, armazenados no armazenamento de chaves local em um formato criptografado. Para obter mais informações, consulte o comando CATALOG STORAGE ACCESS na documentação do IBM Db2.

Para criar um alias de acesso ao armazenamento, use a seguinte sintaxe:

db2 "catalog storage access alias <alias_name> vendor S3 server <S3 endpoint> user '<access_key>' password '<secret_access_key>' container '<bucket_name>'"

Veja a seguir um exemplo:

db2 "catalog storage access alias DB2BKPS3 vendor S3 server s3.us-west-2.amazonaws.com user '*******************' password '*********************' container 'myfirstbucket'"
Administrador de sistemas AWS
TarefaDescriçãoHabilidades necessárias

Atualize a LOGARCHMETH1 localização.

Para usar o alias de acesso ao armazenamento que você definiu anteriormente, atualize os parâmetros do LOGARCHMETH1 banco de dados, use o seguinte comando:

db2 update db cfg for <DBNAME> using LOGARCHMETH1 'DB2REMOTE://<storage_alias_name>//<sub folder>'

Para separar os registros de outros arquivos, especifique um subdiretório (ou seja, o prefixo do bucket do Amazon S3TESTDB_LOGS) no qual salvar os registros no bucket do S3.

Veja a seguir um exemplo:

db2 update db cfg for ABC using LOGARCHMETH1 'DB2REMOTE://DB2BKPS3//TESTDB_LOGS/'

Você deve ver a seguinte mensagem: DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully.

Administrador de sistemas AWS

Reiniciar DB2.

Reinicie a DB2 instância depois de reconfigurá-la para arquivamento de registros.

No entanto, se tiver LOGARCHMETH1 sido definido anteriormente para qualquer local do sistema de arquivos, a reinicialização não será necessária.

Administrador da AWS, administrador de sistemas da AWS
TarefaDescriçãoHabilidades necessárias

Verifique o log de arquivamento no Amazon S3.

Nesse momento, seu banco de dados está completamente configurado para arquivar os registros de transações diretamente no armazenamento do Amazon S3. Para confirmar a configuração, comece a executar atividades transacionais no banco de dados para começar a consumir (e arquivar) o espaço do log. Em seguida, verifique os registros de arquivamento no Amazon S3.

Administrador da AWS, administrador de sistemas da AWS

Verifique a configuração do log de arquivamento emdb2diag.log.

Depois de verificar o log de arquivamento no Amazon S3, procure a seguinte mensagem no registro de DB2 diagnóstico: db2diag.log

MESSAGE : ADM1846I  Completed archive for log file "S0000079.LOG" to Completed archive for log file S0000080.LOG to DB2REMOTE://<AWS S3 Bucket Name>/<SID>/log1/db2<sid>/<SID>/NODE0000/LOGSTREAM0000/C0000001/ from /db2/<SID>/log_dir/NODE0000/LOGSTREAM0000/. MESSAGE : ADM1846I  Completed archive for log file "S0000080.LOG" to Completed archive for log file S0000081.LOG to DB2REMOTE://<AWS S3 Bucket Name> /<SID>/log1/db2<sid>/<SID>/NODE0000/LOGSTREAM0000/C0000001/ from /db2/<SID>/log_dir/NODE0000/LOGSTREAM0000/.

Essa mensagem confirma que os arquivos de log de DB2 transações fechadas estão sendo arquivados no armazenamento (remoto) do Amazon S3.

Administrador de sistemas AWS

Recursos relacionados

AWS documentação de serviço

Recursos da IBM