Como transmito dados do CloudWatch Logs para um cluster do Amazon OpenSearch Service baseado em VPC em uma conta diferente?

Data da última atualização: 23-07-2021

Estou tentando transmitir dados do Amazon CloudWatch Logs para um cluster do Amazon OpenSearch Service usando uma Virtual Private Cloud (VPC) em outra conta. Porém, recebo uma mensagem de erro “Enter a valid Amazon OpenSearch Service Endpoint” (Insira um endpoint do Amazon OpenSearch Service válido). Como corrijo esse erro?

Breve descrição

Observação: o Amazon OpenSearch Service é o sucessor do Amazon Elasticsearch Service (Amazon ES).

Para transmitir dados do CloudWatch Logs para um cluster do OpenSearch Service em outra conta, realize as seguintes etapas:

1.    Configure o CloudWatch Logs na conta A.

2.    Configure o AWS Lambda na conta A.

3.    Configure o emparelhamento de Amazon Virtual Private Cloud (Amazon VPC) entre contas.

Resolução

Configure o CloudWatch Logs na conta A

1.    Abra o console do CloudWatch Logs na Conta A e selecione seu grupo de logs.

2.    Escolha Actions (Ações).

3.    Escolha o filtro Create OpenSearch subscription (Criar assinatura do OpenSearch).

4.    Para a opção Select Account (Selecionar conta), selecione This account (Esta conta).

5.    Para a lista suspensa de clusters do OpenSearch Service, escolha um cluster existente para a Conta A.

6.    Escolha a função de execução do Lambda IAM que tem permissões para fazer chamadas para o cluster do OpenSearch Service selecionado.

7.    Anexe a política AWSLambdaVPCAccessExecutionRole à sua função.

8.    Em Configure log format and filters (Configurar formato de log e filtros), selecione seu formato de log e padrão de filtro de assinatura.

9.    Escolha Next (Avançar).

10.    Insira o nome do filtro de assinatura e escolha Start Streaming (Iniciar transmissão). Para obter mais informações sobre transmissão, consulte Transmissão de dados do CloudWatch Logs para o Amazon OpenSearch Service.

Configure o Lambda na Conta A

1.    Na Conta A, abra o console do Lambda.

2.    Selecione a função do Lambda.

3.    No código da função, atualize a variável de endpoint do cluster do OpenSearch Service na Conta B. Essa atualização permite que a função do Lambda envie dados para o domínio do OpenSearch Service na Conta B.

Observação: você pode colar o nome de DNS público da Conta B. Certifique-se de remover “https://” do endpoint do URL.

4.    Escolha Configuration (Configuração).

5.    Escolha VPC.

6.    Em VPC, escolha Edit (Editar).

7.    Selecione a VPC, as sub-redes e os grupos de segurança.

Observação: essa seleção garante que a função do Lambda seja executada dentro de uma VPC, usando o roteamento da VPC para enviar dados de volta ao domínio do OpenSearch Service. Para obter mais informações sobre as configurações da Amazon Virtual Private Cloud (Amazon VPC), consulte Configuração de uma função do Lambda para acessar recursos em uma VPC.

8.    Escolha Save (Salvar).

Configure o emparelhamento de VPCs entre contas

1.    Abra o console da Amazon VPC na Conta A e na Conta B.

Observação: verifique se a VPC não tem blocos CIDR sobrepostos.

2.    Crie uma sessão de emparelhamento de VPC entre as duas VPCs personalizadas (Lambda e OpenSearch Service). Essa sessão de emparelhamento de VPC permite que o Lambda envie dados para o domínio do OpenSearch Service. Para obter mais informações sobre conexões de emparelhamento de VPC, consulte Criação e aceitação de uma conexão de emparelhamento de VPC.

3.    Atualize a tabela de rotas para ambas as VPCs. Para obter mais informações sobre tabelas de rotas, consulte Atualização de tabelas de rotas para uma conexão de emparelhamento da VPC.

4.    Na Conta A, vá para Security Groups (Grupos de segurança).

5.    Selecione o grupo de segurança atribuído à sub-rede em que o Lambda está configurado.

6.    Adicione a regra de entrada para permitir o tráfego das sub-redes do OpenSearch Service.

7.    Na Conta B, selecione o grupo de segurança atribuído à sub-rede em que o OpenSearch Service está configurado.

8.    Adicione a regra de entrada para permitir o tráfego das sub-redes do Lambda.

9.    Na Conta B, abra o console do OpenSearch Service.

10.    Escolha Actions (Ações).

11.    Escolha modify access policy (modificar política de acesso) e, em seguida, anexe a seguinte política:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
       
    "AWS": "arn:aws:iam::<AWS Account A>:role/<Lambda Execution Role>"
      },
      "Action": "es:*",
      "Resource": "arn:aws:es:us-east-1: ::<AWS
    Account B>:domain/<OpenSearch Domain Name>/*"
    }
  ]
}

Essa política permite que o OpenSearch Service faça chamadas da função de execução da função do Lambda.

12.    Confira a métrica de Error count and success rate (Contagem de erros e taxa de sucesso) no console do Lambda. Essa métrica verifica se os logs foram entregues com êxito ao OpenSearch Service.

13.    Verifique a métrica Indexing rate (taxa de indexação) no OpenSearch Service para confirmar se os dados foram enviados. O CloudWatch Logs agora transmite em ambas as contas na sua Amazon VPC.


Este artigo ajudou?


Precisa de ajuda com faturamento ou suporte técnico?