

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
<a name="enable-db2-logarchive-directly-to-amazon-s3-in-ibm-db2-database"></a>

*Ambarish Satarkar, Amazon Web Services*

## Resumo
<a name="enable-db2-logarchive-directly-to-amazon-s3-in-ibm-db2-database-summary"></a>

Este padrão descreve como usar o Amazon Simple Storage Service (Amazon S3) como armazenamento de catálogo para logs de arquivamento gerados pelo Db2 da IBM, sem utilizar uma área de preparação. 

Você pode especificar o armazenamento [DB2REMOTO](https://www.ibm.com/docs/en/db2/12.1.0?topic=storage-db2remote-identifiers) do Amazon S3 para os parâmetros de configuração dos métodos de arquivamento de [log logarchmeth1](https://www.ibm.com/docs/en/db2/12.1.0?topic=parameters-logarchmeth1-primary-log-archive-method) e [logarchmeth2](https://www.ibm.com/docs/en/db2/12.1.0?topic=parameters-logarchmeth2-secondary-log-archive-method). Você pode usar o parâmetro `logarchmeth1` para especificar o destino principal dos logs arquivados com base no caminho de logs atual. Com essa funcionalidade, é possível arquivar e recuperar logs de transações diretamente no Amazon S3, dispensando o uso de uma área de preparação.

Os dados enviados ao [Amazon S3](https://aws.amazon.com/s3/) são armazenados em pelo menos três dispositivos dentro de uma mesma Região da AWS. Milhões de clientes, de empresas de todos os portes e setores, usam o Amazon S3 para armazenar backups empresariais, aproveitando a alta disponibilidade, o armazenamento flexível, as políticas de ciclo de vida e os recursos de segurança.

## Pré-requisitos e limitações
<a name="enable-db2-logarchive-directly-to-amazon-s3-in-ibm-db2-database-prereqs"></a>

**Pré-requisitos **
+ Um ativo Conta da AWS.
+ Banco de dados IBM Db2 em execução em uma instância do Amazon Elastic Compute Cloud EC2 (Amazon).
+ AWS Command Line Interface (AWS CLI) instalado
+ [libcurl](https://curl.se/libcurl/) e [libxml2 instalados na instância do Db2](https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home). EC2 

**Limitações**
+ Apenas o [Db2 11.5.7](https://www.ibm.com/docs/en/db2/11.5.x?topic=new-1157) ou versões posteriores permitem o arquivamento de logs diretamente para o armazenamento do Amazon S3.
+ Alguns Serviços da AWS não estão disponíveis em todos Regiões da AWS. Para conferir a disponibilidade de uma região, consulte [AWS Services by Region](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Para endpoints específicos, consulte [Service endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) e clique no link correspondente ao serviço desejado.
+ Em todas as configurações, as seguintes limitações se aplicam ao 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
+ Db2 da IBM na versão 11.5.7 ou em versões posteriores
+ SUSE Linux Enterprise Server (SLES) do Linux na versão 11 ou em versões posteriores
+ Red Hat Enterprise Linux (RHEL) 6 ou posterior
+ Windows Server 2008 R2, 2012 (R2), 2016 ou 2019

## Arquitetura
<a name="enable-db2-logarchive-directly-to-amazon-s3-in-ibm-db2-database-architecture"></a>

O diagrama apresentado a seguir ilustra os componentes e o fluxo de trabalho para este padrão.

![Fluxo de trabalho para usar o Amazon S3 como armazenamento de catálogo para logs de arquivamento gerados pelo Db2.](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/7a10333e-07be-4144-9913-45c60a2f51ea/images/0437d348-1688-4c3e-9aa5-43535afe08c6.png)


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 ao executar a workload do Db2 para LUW (Linux, Unix e Windows) em um data center isolado dentro da Região da AWS.
+ **Sub-rede pública**: fornece acesso por RDP (Remote Desktop Protocol) para administradores e garante conectividade com a internet por meio de um gateway NAT.
+ **Sub-rede privada**: hospeda o banco de dados Db2 para LUW. A instância do Db2 para LUW é configurada com o parâmetro `LOGARCHMETH1`. Esse parâmetro grava os arquivos de log de arquivamento 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**: atua como local de armazenamento durável e escalável para os arquivos de log de arquivamento do Db2.
+ **Amazon Elastic File System (Amazon EFS)**: fornece um sistema de arquivos compartilhado e totalmente gerenciado que o Db2 pode usar para backups do banco de dados e preparação. Além disso, o Db2 pode usar o Amazon EFS como ponto de montagem para arquivos de log antes de arquivá-los 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**
+ Este padrão disponibiliza uma solução totalmente automatizada para armazenar o backup do log de arquivamento do Db2.
+ O mesmo bucket do Amazon S3 pode ser usado para habilitar o arquivamento de logs de diversos bancos de dados do Db2.

## Ferramentas
<a name="enable-db2-logarchive-directly-to-amazon-s3-in-ibm-db2-database-tools"></a>

**Serviços da AWS**
+  CloudWatchA [Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 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)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) é 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)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) 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)](https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html) ajuda você a criar e configurar sistemas de arquivos compartilhados na Nuvem AWS.
+ [Centro de Identidade do AWS IAM](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)ajuda 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)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) é 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)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) 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](https://curl.se/libcurl/) é uma biblioteca gratuita para transferência de URLs no lado do cliente.
+ [libxml2](https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home) é um analisador XML em C gratuito, acompanhado de um conjunto de ferramentas.

## Práticas recomendadas
<a name="enable-db2-logarchive-directly-to-amazon-s3-in-ibm-db2-database-best-practices"></a>
+ Respeite o princípio de privilégio mínimo, garantindo somente as permissões estritamente necessárias para a execução de uma tarefa. Para obter mais informações, consulte [Concessão de privilégio mínimo](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#grant-least-priv) e [Práticas recomendadas de segurança](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) na documentação do IAM.

## Épicos
<a name="enable-db2-logarchive-directly-to-amazon-s3-in-ibm-db2-database-epics"></a>

### Configure Serviços da AWS
<a name="configure-aws-services"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configure AWS CLI o. | Para [baixar e instalar o AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.htmlhttps://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html), use os seguintes comandos:<pre>i) curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"<br />ii) unzip awscliv2.zip<br />iii) sudo ./aws/install</pre> | Administrador da AWS, administrador de sistemas da AWS | 
| Configure o AWS CLI. | Para [configurar o AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-quickstart.html), use os seguintes comandos:<pre>$ aws configure<br />AWS Access Key ID [None]:*******************************<br />AWS Secret Access Key [None]: ***************************<br />Default region name [None]: < aws region ><br />Default output format [None]: text</pre> | Administrador da AWS, administrador de sistemas da AWS | 
| Crie um usuário do IAM. | Para criar um usuário do IAM que será usado posteriormente para o estabelecimento de conexão entre o banco de dados Db2 e o Amazon S3, use o seguinte comando:<br />`aws iam create-user --user-name <unique username>`<br />Abaixo, apresentamos um exemplo de comando:<br />`aws iam create-user --user-name db_backup_user`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 mitigar esse risco, recomendamos que você conceda a esses usuários apenas as permissões necessárias para a realização da tarefa e que os remova quando não forem mais necessários. As chaves de acesso podem ser atualizadas, se necessário. Para obter mais informações, consulte [AWS security credentials](https://docs.aws.amazon.com/IAM/latest/UserGuide/security-creds.html#access-keys-and-secret-access-keys) e [Gerenciar chaves de acesso para usuários do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_RotateAccessKey) na documentação do IAM. | Administrador de sistemas AWS | 
| Crie um bucket do Amazon S3. | Para criar um bucket do Amazon S3 para armazenar o backup do banco de dados, use o seguinte comando:<br />`aws s3api create-bucket --bucket <unique bucket name> --region <aws region>`<br />Veja a seguir um exemplo de comando :<br />`aws s3api create-bucket --bucket myfirstbucket --region af-south-1` | Administrador de sistemas AWS | 
| Autorize o usuário do IAM. | Para conceder ao usuário do IAM recém-criado permissões no Amazon S3, use as seguintes etapas:[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/enable-db2-logarchive-directly-to-amazon-s3-in-ibm-db2-database.html) | 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:<br />`aws iam create-access-key --user-name <username>`<br />Abaixo, apresentamos um exemplo de comando:<br />`aws iam create-access-key --user-name db_backup_user`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 mitigar esse risco, recomendamos que você conceda a esses usuários apenas as permissões necessárias para a realização da tarefa e que os remova quando não forem mais necessários. As chaves de acesso podem ser atualizadas, se necessário. Para obter mais informações, consulte [AWS security credentials](https://docs.aws.amazon.com/IAM/latest/UserGuide/security-creds.html#access-keys-and-secret-access-keys) e [Gerenciar chaves de acesso para usuários do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_RotateAccessKey) na documentação do IAM. | Administrador de sistemas AWS | 
| Crie um keystore no formato PKCS. | Para criar um keystore no formato PKCS para armazenar a chave e gerar uma chave de acesso secreta para transferir dados para o Amazon S3, use o seguinte comando: <pre>gsk8capicmd_64 -keydb -create -db "/db2/db2<sid>/.keystore/db6-s3.p12" -pw "<password>" -type pkcs12 -stash</pre> | 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:<pre>db2 "update dbm cfg using keystore_location /db2/db2<sid>/.keystore/db6-s3.p12 keystore_type pkcs12"</pre> | Administrador de sistemas AWS | 
| Crie um alias DB2 de acesso ao armazenamento. | Um alias de acesso ao armazenamento especifica qual bucket do Amazon S3 será usado. Além disso, o alias fornece os detalhes da conexão, como o nome de usuário e a senha, que são armazenados no keystore local em formato criptografado. Para obter mais informações, consulte [CATALOG STORAGE ACCESS command](https://www.ibm.com/docs/en/db2/12.1.0?topic=commands-catalog-storage-access) na documentação do Db2 da IBM.<br />Para criar um alias de acesso ao armazenamento, use a seguinte sintaxe:<pre>db2 "catalog storage access alias <alias_name> vendor S3 server <S3 endpoint> user '<access_key>' password '<secret_access_key>' container '<bucket_name>'"</pre><br />A seguir, apresentamos um exemplo:<pre>db2 "catalog storage access alias DB2BKPS3 vendor S3 server s3.us-west-2.amazonaws.com user '*******************' password '*********************' container 'myfirstbucket'"</pre> | Administrador de sistemas AWS | 

### Atualize a localização logarchmeth1 e reinicie DB2 DB2
<a name="update-logarchmeth1-location-in-db2-and-restart-db2"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Atualize a localização de `LOGARCHMETH1`. | Para usar o alias de acesso ao armazenamento definido anteriormente, atualize os parâmetros de banco de dados `LOGARCHMETH1` usando o seguinte comando:<pre>db2 update db cfg for <DBNAME> using LOGARCHMETH1 'DB2REMOTE://<storage_alias_name>//<sub folder>'</pre><br />Para separar os logs de outros arquivos, especifique um subdiretório ou prefixo do bucket do Amazon S3, chamado `TESTDB_LOGS`, no qual os logs serão salvos dentro do bucket do S3.<br />A seguir, apresentamos um exemplo:<pre>db2 update db cfg for ABC using LOGARCHMETH1 'DB2REMOTE://DB2BKPS3//TESTDB_LOGS/'</pre><br />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.<br />No entanto, se o `LOGARCHMETH1 ` estava previamente configurado para qualquer local do sistema de arquivos, não é necessário realizar a reinicialização. | Administrador da AWS, administrador de sistemas da AWS | 

### Verificação do caminho do log de arquivamento no Amazon S3 e no db2diag.log
<a name="check-the-archive-log-path-in-s3-and-db2diag-log"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Verifique o log de arquivamento no Amazon S3. | Nesse momento, o banco de dados está totalmente configurado para arquivar os logs de transação diretamente no armazenamento do Amazon S3. Para confirmar a configuração, comece a executar atividades transacionais no banco de dados para iniciar o consumo (e o arquivamento) do espaço de logs. Em seguida, verifique os logs de arquivamento no Amazon S3. | Administrador da AWS, administrador de sistemas da AWS | 
| Verifique a configuração do log de arquivamento em `db2diag.log`. | Depois de verificar o log de arquivamento no Amazon S3, procure a seguinte mensagem no registro de DB2 diagnóstico: `db2diag.log`<br />`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/. `<br />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
<a name="enable-db2-logarchive-directly-to-amazon-s3-in-ibm-db2-database-resources"></a>

**AWS documentação de serviço**
+ [AWS credenciais de segurança](https://docs.aws.amazon.com/IAM/latest/UserGuide/security-creds.html#access-keys-and-secret-access-keys) (documentação do IAM)
+ [Conceder privilégio mínimo](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#grant-least-priv) (documentação do IAM)
+ [Gerenciar chaves de acesso para usuários do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_RotateAccessKey) (documentação do IAM)
+ [Práticas recomendadas de segurança no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) (documentação do IAM)

**Recursos da IBM**
+ [Banco de dados IBM Db2](https://www.ibm.com/products/db2-database)
+ [logarchmeth1 - Primary log archive method configuration parameter](https://www.ibm.com/docs/en/db2/12.1.0?topic=parameters-logarchmeth1-primary-log-archive-method)
+ [logarchmeth2 - Secondary log archive method configuration parameter](https://www.ibm.com/docs/en/db2/12.1.0?topic=parameters-logarchmeth2-secondary-log-archive-method)
+ [Remote storage](https://www.ibm.com/docs/en/db2/12.1.0?topic=databases-remote-storage) 