

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á.

# Migre um banco de dados Oracle local para o Amazon OpenSearch Service usando o Logstash
<a name="migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash"></a>

*Aditya Goteti, Amazon Web Services*

## Resumo
<a name="migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash-summary"></a>

Esse padrão descreve como mover dados de um banco de dados Oracle local para o Amazon OpenSearch Service usando o Logstash. Ele inclui considerações arquitetônicas e alguns conjuntos de habilidades e recomendações necessários. Os dados podem ser de uma única tabela ou de várias tabelas nas quais uma pesquisa de texto completo precisará ser realizada. 

OpenSearch O serviço pode ser configurado em uma nuvem privada virtual (VPC) ou pode ser colocado publicamente com restrições baseadas em IP. Esse padrão descreve um cenário em que o OpenSearch serviço é configurado em uma VPC. O Logstash é usado para coletar os dados do banco de dados Oracle, analisá-los no formato JSON e, em seguida, alimentar os dados no Service. OpenSearch  

## Pré-requisitos e limitações
<a name="migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Java 8 (exigido pelo Logstash 6.4.3)
+ Conectividade entre os servidores de banco de dados locais e as instâncias do Amazon Elastic Compute Cloud EC2 (Amazon) em uma VPC, estabelecida usando a Rede Privada Virtual da AWS (AWS VPN)
+ Uma consulta para recuperar os dados necessários para serem enviados ao OpenSearch Serviço a partir do banco de dados
+ Drivers do Java Database Connectivity (JDBC) da Oracle

**Limitações**
+ O Logstash não consegue identificar registros que foram excluídos permanentemente do banco de dados 

**Versões do produto**
+ Banco de Dados Oracle 12c
+ OpenSearch Serviço 6.3
+ Logstash 6.4.3

## Arquitetura
<a name="migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash-architecture"></a>

**Pilha de tecnologia de origem**
+ Banco de dados on-premises da Oracle
+ VPN AWS on-premises

**Pilha de tecnologias de destino**
+ VPC
+ EC2 instância
+ OpenSearch Serviço 
+ Logstash
+ NAT Gateway (para atualizações do sistema operacional em EC2 instâncias e para instalar Java 8, Logstash e plug-ins)

**Arquitetura de migração de dados**

![Como mover dados de um banco de dados Oracle local para o Amazon OpenSearch Service usando o Logstash.](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/09f6d2de-de2f-4ed6-af93-34b71b75a263/images/df6a61fb-09fb-49d4-a7e8-b04e88c003df.png)


## Ferramentas
<a name="migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash-tools"></a>
+ Logstash 6.4.3
+ Plugin de entrada JDBC ([download e mais informações](https://www.elastic.co/guide/en/logstash/current/plugins-inputs-jdbc.html))
+ [Plugin de saída do Logstash (logstash-output-amazon\_es)](https://github.com/awslabs/logstash-output-amazon_es)
+ Driver JDBC da Oracle

## Épicos
<a name="migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash-epics"></a>

### Planejar a migração
<a name="plan-the-migration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Identifique o tamanho do banco de dados de origem | O tamanho dos dados de origem é um dos parâmetros que você usa para determinar o número de fragmentos a serem configurados em um índice. | DBA, desenvolvedor do banco de dados | 
| Analise os tipos de dados de cada coluna e os dados correspondentes. | OpenSearch O serviço mapeia dinamicamente o tipo de dados quando um campo inédito é encontrado no documento. Se houver algum tipo ou formato de dados específico (por exemplo, campos de data) que precise ser declarado explicitamente, identifique os campos e defina o mapeamento desses campos durante a criação do índice. | Proprietário do aplicativo, desenvolvedor, desenvolvedor de banco de dados | 
| Determine se há alguma coluna com chaves primárias ou exclusivas. | Para evitar a duplicação de registros no Amazon OpenSearch Service durante atualizações ou inserções, você precisa `document_id` definir a configuração na seção de saída do `amazon_es` plug-in (por exemplo, `document_id => "%{customer_id}"` onde `customer_id` está uma chave primária). | Proprietário do aplicativo, desenvolvedor | 
| Analise o número e a frequência dos novos registros adicionados; verifique com que frequência os registros são excluídos. | Essa tarefa é necessária para entender a taxa de crescimento dos dados de origem. Se os dados forem lidos intensivamente e as inserções forem raras, você poderá ter um único índice. Se novos registros forem inseridos com frequência e não houver exclusões, o tamanho do fragmento pode facilmente exceder o tamanho máximo recomendado de 50 GB. Nesse caso, você pode criar dinamicamente um índice configurando padrões de índice no Logstash e no código em que você pode acessá-lo usando um alias. | Proprietário do aplicativo, desenvolvedor | 
| Determine quantas réplicas são necessárias. |  | Proprietário do aplicativo, desenvolvedor | 
| Determine o número de fragmentos a serem configurados no índice. |  | Proprietário do aplicativo, desenvolvedor | 
| Identifique os tipos de instância para nós mestres dedicados, nós de dados e a EC2 instância. | Para obter mais informações, consulte a seção [Recursos relacionados](#migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash-resources). | Proprietário do aplicativo, desenvolvedor | 
| Determine o número de nós principais dedicados e nós de dados necessários. | Para obter mais informações, consulte a seção [Recursos relacionados](#migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash-resources). |  | 

### Migrar dados
<a name="migrate-data"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Execute uma EC2 instância. | Execute uma EC2 instância dentro da VPC à qual o AWS VPN está conectado. | Construções do Amazon VPC, AWS VPN | 
| Instale o Logstash na EC2 instância. |  | Desenvolvedor | 
| Instale os plug-ins do Logstash. | Instale os plug-ins necessários do Logstash `jdbc-input` e ` logstash-output-amazon_es`. | Desenvolvedor | 
| Configure o Logstash. | Crie o armazenamento de chaves do Logstash para armazenar informações confidenciais, como chaves do AWS Secrets Manager e credenciais do banco de dados, e depois coloque as referências em um arquivo de configuração do Logstash. | Desenvolvedor | 
| Configure fila de mensagens não entregues e a fila persistente. | Por padrão, quando o Logstash encontra um evento que não pode ser processado porque os dados contêm um erro de mapeamento ou algum outro problema, o pipeline do Logstash trava ou descarta o evento malsucedido. Para se proteger contra perda de dados nessa situação, você pode configurar o Logstash para gravar eventos malsucedidos em uma fila de mensagens não entregues em vez de descartá-los. Para se proteger contra perda de dados durante o encerramento anormal, o Logstash tem um atributo de fila persistente que armazenará a fila de mensagens no disco. As filas persistentes fornecem a durabilidade dos dados no Logstash. | Desenvolvedor | 
| Crie o domínio do Amazon OpenSearch Service. | Crie o domínio do Amazon OpenSearch Service com uma política de acesso que não exija a assinatura de solicitações com as credenciais do AWS Identity and Access Management (IAM). O domínio do Amazon OpenSearch Service deve ser criado dentro da mesma VPC. Você também deve selecionar os tipos de instância e definir o número de nós principais e dedicados com base na sua análise. | Desenvolvedor | 
| Configure os registros necessários OpenSearch do Amazon Service. | Para obter mais informações, consulte a [documentação do OpenSearch serviço](https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/cloudwatch-alarms.html). |  | 
| Crie o índice. |  | Desenvolvedor | 
| Inicie o Logstash. | Execute o Logstash como um serviço em segundo plano. O Logstash executa a consulta SQL configurada, extrai os dados, os converte no formato JSON e os envia para o Service. OpenSearch Para o carregamento inicial, não configure o agendador no arquivo de configuração do Logstash. | Desenvolvedor | 
| Verifique os documentos. | Verifique o número de documentos no índice e se todos os documentos estão presentes no banco de dados de origem. Durante o carregamento inicial, eles são adicionados ao índice e usados para interromper o Logstash. <br />Altere a configuração do Logstash para adicionar um agendador que seja executado em um intervalo fixo, dependendo dos requisitos do cliente, e reinicie o Logstash. O Logstash selecionará somente os registros que foram atualizados ou adicionados após a última execução, e a data e hora da última execução será armazenada no arquivo configurado com a propriedade `last_run_metadata_path => "/usr/share/logstash/.logstash_jdbc_last_run"` no arquivo de configuração do Logstash. | Desenvolvedor | 

## Recursos relacionados
<a name="migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash-resources"></a>
+ [ CloudWatch Alarmes recomendados](https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/cloudwatch-alarms.html) 
+ [Amazon OpenSearch Service Master Nodes dedicados](https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-managedomains-dedicatedmasternodes.html) 
+ [Dimensionamento de domínios de OpenSearch serviços da Amazon](https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/sizing-domains.html) 
+ [Logstash documentation (Documentação do Logstash)](https://www.elastic.co/guide/en/logstash/current/getting-started-with-logstash.html) 
+ [Plugin de entrada JDBC](https://www.elastic.co/guide/en/logstash/current/plugins-inputs-jdbc.html)
+ [Plugin de saída do Logstash](https://github.com/awslabs/logstash-output-amazon_es)
+ [Site da Amazon OpenSearch Service](https://aws.amazon.com/elasticsearch-service/) 