

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

# Descarregamento de dados de um cluster do Amazon Redshift entre contas para o Amazon S3
<a name="unload-data-from-amazon-redshift-cross-accounts-to-amazon-s3"></a>

*Andrew Kamel, Amazon Web Services*

## Resumo
<a name="unload-data-from-amazon-redshift-cross-accounts-to-amazon-s3-summary"></a>

Ao testar aplicações, é útil ter dados de produção em seu ambiente de teste. O uso de dados de produção pode fornecer uma avaliação mais precisa da aplicação que você está desenvolvendo.

Este padrão extrai dados de um cluster do Amazon Redshift em um ambiente de produção para um bucket do Amazon Simple Storage Service (Amazon S3) em um ambiente de desenvolvimento na Amazon Web Services (AWS).

O padrão inclui a configuração de contas DEV e PROD, como o seguinte:
+ Recursos necessários
+ AWS Identity and Access Management Funções (IAM)
+ Ajustes de rede em sub-redes, grupos de segurança e na nuvem privada virtual (VPC) para oferecer suporte à conexão do Amazon Redshift
+ Um exemplo de AWS Lambda função com um tempo de execução em Python para testar a arquitetura

Para conceder acesso ao cluster do Amazon Redshift, o padrão é usado AWS Secrets Manager para armazenar as credenciais relevantes. A vantagem é ter todas as informações necessárias para se conectar diretamente ao cluster do Amazon Redshift sem precisar saber onde o cluster do Amazon Redshift reside. Além disso, você pode [monitorar o uso do segredo](https://docs.aws.amazon.com/secretsmanager/latest/userguide/monitoring.html).

O segredo salvo no Secrets Manager inclui o host, o nome do banco de dados, a porta e as credenciais relevantes do cluster do Amazon Redshift.

Para obter informações sobre considerações de segurança ao usar esse padrão, consulte a seção [Práticas recomendadas](#unload-data-from-amazon-redshift-cross-accounts-to-amazon-s3-best-practices).

## Pré-requisitos e limitações
<a name="unload-data-from-amazon-redshift-cross-accounts-to-amazon-s3-prereqs"></a>

**Pré-requisitos **
+ Um [cluster do Amazon Redshift em execução](https://docs.aws.amazon.com/redshift/latest/gsg/new-user.html) na conta PROD
+ Um [bucket do S3 criado](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) na conta DEV
+ [Emparelhamento de VPC](https://docs.aws.amazon.com/vpc/latest/peering/create-vpc-peering-connection.html) entre as contas DEV e PROD, com [tabelas de rotas ajustadas](https://docs.aws.amazon.com/vpc/latest/peering/vpc-peering-routing.html) adequadamente
+ [Nomes de host DNS e resolução de DNS habilitados](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html) para ambos emparelhados VPCs

**Limitações**
+ Dependendo da quantidade de dados que você deseja consultar, a função do Lambda pode atingir o tempo limite.

  Se sua execução demorar mais do que o tempo limite máximo do Lambda (15 minutos), use uma abordagem assíncrona para seu código do Lambda. O exemplo de código desse padrão usa a biblioteca [psycopg2](https://github.com/psycopg/psycopg2) para Python, que atualmente não oferece suporte ao processamento assíncrono.
+ 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 [Serviços da AWS by Region](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Para endpoints específicos, consulte a página [Cotas e endpoints de serviços](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) e clique no link correspondente ao serviço desejado.

## Arquitetura
<a name="unload-data-from-amazon-redshift-cross-accounts-to-amazon-s3-architecture"></a>

O diagrama a seguir mostra a arquitetura de destino, com contas DEV e PROD.

![A VPC do Lambda na conta DEV e a VPC do Amazon Redshift na conta PROD.](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/5c83c617-3a85-4aea-a7a7-930f406d1cef/images/fa4d01df-483d-4454-9711-b391ebbe4629.png)


O diagrama mostra o seguinte fluxo de trabalho:

1. A função do Lambda na conta DEV assume o perfil do IAM necessário para acessar as credenciais do Amazon Redshift no Secrets Manager na conta PROD.

   Em seguida, a função do Lambda recupera o segredo do cluster do Amazon Redshift.

1. A função Lambda na conta DEV usa as informações para se conectar ao cluster Amazon Redshift na conta PROD por meio do peering. VPCs

   Em seguida, a função do Lambda envia um comando de descarregamento para consultar o cluster do Amazon Redshift na conta PROD.

1. O cluster do Amazon Redshift na conta PROD assume o perfil do IAM relevante para acessar o bucket do S3 na conta DEV.

   O cluster do Amazon Redshift descarrega os dados consultados no bucket do S3 na conta DEV.

**Consultar dados do Amazon Redshift**

O diagrama a seguir mostra as funções que são usadas para recuperar as credenciais do Amazon Redshift e conectar-se ao cluster do Amazon Redshift. O fluxo de trabalho é iniciado pela função do Lambda.

![O processo de três etapas para assumir perfis em todas as contas.](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/5c83c617-3a85-4aea-a7a7-930f406d1cef/images/ab25b72c-773c-4d58-9012-4a3755c181ff.png)


O diagrama mostra o seguinte fluxo de trabalho:

1. O `CrossAccount-SM-Read-Role` na conta DEV assume o `SM-Read-Role` na conta PROD.

1. O perfil `SM-Read-Role` usa a política anexada para recuperar o segredo do Secrets Manager.

1. As credenciais são usadas para acessar o cluster do Amazon Redshift.

**Carregar dados no Amazon S3**

O diagrama a seguir mostra o processo de leitura e gravação entre contas para extrair dados e enviá-los para o Amazon S3. O fluxo de trabalho é iniciado pela função do Lambda. O padrão [encadeia perfis do IAM no Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/authorizing-redshift-service.html#authorizing-redshift-service-chaining-roles). O comando de descarregamento enviado pelo cluster do Amazon Redshift assume o `CrossAccount-S3-Write-Role` e, em seguida, assume o `S3-Write-Role`. Este encadeamento de perfis permite ao Amazon Redshift acessar o Amazon S3.

![Os perfis que recebem credenciais, acessam o Amazon Redshift e carregam dados no Amazon S3.](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/5c83c617-3a85-4aea-a7a7-930f406d1cef/images/d2982fc6-1d12-4f9d-9493-a99ce691d693.png)


O fluxo de trabalho inclui as seguintes etapas:

1. O `CrossAccount-SM-Read-Role` na conta DEV assume o `SM-Read-Role` na conta PROD.

1. O `SM-Read-Role` recupera as credenciais do Amazon Redshift do Secrets Manager.

1. A função do Lambda se conecta ao cluster do Amazon Redshift e envia uma consulta.

1. O cluster do Amazon Redshift assume o `CrossAccount-S3-Write-Role`.

1. O `CrossAccount-S3-Write-Role` assume o `S3-Write-Role` na conta DEV.

1. Os resultados da consulta são descarregados no bucket do S3 na conta DEV.

## Ferramentas
<a name="unload-data-from-amazon-redshift-cross-accounts-to-amazon-s3-tools"></a>

**Serviços da AWS**
+ [AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) ajuda você a criar e controlar chaves criptográficas para ajudar a proteger seus dados.
+ O [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) é um serviço de computação que ajuda a executar código sem exigir provisionamento ou gerenciamento de servidores. Ele executa o código somente quando necessário e dimensiona automaticamente, assim, você paga apenas pelo tempo de computação usado.
+ O [Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/gsg/getting-started.html) é um serviço de data warehouse em escala de petabytes gerenciado na Nuvem AWS.
+ O [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) ajuda a substituir credenciais codificadas, incluindo senhas, por uma chamada de API ao Secrets Manager para recuperar o segredo por programação.
+ 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.

**Repositório de código**

O código desse padrão está disponível no repositório GitHub [unload-redshift-to-s3-python](https://github.com/aws-samples/unload-redshift-to-s3-python/).

## Práticas recomendadas
<a name="unload-data-from-amazon-redshift-cross-accounts-to-amazon-s3-best-practices"></a>

**Isenção de responsabilidade de segurança**

Antes de implementar essa solução, considere as seguintes recomendações de segurança importantes:
+ Lembre-se de que conectar as contas de desenvolvimento e produção pode aumentar o escopo e reduzir a postura geral de segurança. Recomendamos implantar essa solução apenas temporariamente, extraindo a parte necessária dos dados e destruindo imediatamente os recursos implantados. Para destruir os recursos, você deve excluir a função do Lambda, remover todas as políticas e perfis do IAM criados para essa solução e revogar qualquer acesso à rede concedido entre as contas.
+ Consulte suas equipes de segurança e conformidade antes de copiar quaisquer dados dos ambientes de produção para os de desenvolvimento. Informações de identificação pessoal (PII), informações de saúde protegidas (PHI) e outros dados confidenciais ou regulamentados geralmente não devem ser copiados dessa maneira. Copie somente informações não confidenciais disponíveis publicamente (por exemplo, dados públicos do estoque do frontend de uma loja). Considere fazer a tokenização ou anonimização dos dados, ou gerar dados de teste sintéticos, em vez de usar dados de produção sempre que possível. Um dos [princípios de segurança da AWS](https://docs.aws.amazon.com/en_us/wellarchitected/2022-03-31/framework/sec-design.html) é manter as pessoas afastadas dos dados. Em outras palavras, os desenvolvedores não devem realizar operações na conta de produção.
+ Restrinja o acesso à função do Lambda na conta de desenvolvimento porque ela pode ler dados do cluster do Amazon Redshift no ambiente de produção.
+ Para evitar a interrupção do ambiente de produção, implemente as seguintes recomendações:
  + Use uma conta de desenvolvimento separada e dedicada para atividades de teste e desenvolvimento.
  + Implemente controles rígidos de acesso à rede e limite o tráfego entre contas somente ao necessário.
  + Monitore e audite o acesso ao ambiente de produção e às fontes de dados.
  + Implemente controles de acesso com privilégios mínimos para todos os recursos e serviços envolvidos.
  + Revise e alterne regularmente as credenciais, como AWS Secrets Manager segredos e chaves de acesso à função do IAM.
+ Consulte a seguinte documentação de segurança para saber mais sobre os serviços usados neste artigo:
  + [AWS Lambda segurança](https://docs.aws.amazon.com/lambda/latest/dg/lambda-security.html)
  + [Segurança do Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/iam-redshift-user-mgmt.html)
  + [Segurança do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/security.html)
  + [AWS Secrets Manager segurança](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security.html)
  + [Práticas recomendadas de segurança do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)

A segurança é a maior prioridade ao acessar dados e recursos de produção. Sempre siga as práticas recomendadas, implemente controles de acesso com privilégios mínimos e revise e atualize regularmente suas medidas de segurança.

## Épicos
<a name="unload-data-from-amazon-redshift-cross-accounts-to-amazon-s3-epics"></a>

### Consultar dados do Amazon Redshift
<a name="query-data-from-amazon-redshift"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie um segredo o cluster do Amazon Redshift. | Para criar o segredo do cluster do Amazon Redshift, faça o seguinte:[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/unload-data-from-amazon-redshift-cross-accounts-to-amazon-s3.html) | DevOps engenheiro | 
| Crie um perfil para acessar o Secrets Manager. | Para criar o perfil, faça o seguinte:[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/unload-data-from-amazon-redshift-cross-accounts-to-amazon-s3.html) | DevOps engenheiro | 

### Carregar dados no Amazon S3
<a name="upload-data-to-s3"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie um perfil para acessar o bucket do S3. | Para criar o perfil a fim de acessar o bucket do S3, faça o seguinte:[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/unload-data-from-amazon-redshift-cross-accounts-to-amazon-s3.html) | DevOps engenheiro | 
| Crie o perfil do Amazon Redshift. | Para criar o perfil do Amazon Redshift, faça o seguinte:[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/unload-data-from-amazon-redshift-cross-accounts-to-amazon-s3.html) | DevOps engenheiro | 

### Implantar a função do Lambda
<a name="deploy-the-lam-function"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Implante a função do Lambda. | Para implantar uma função do Lambda na VPC emparelhada, faça o seguinte:[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/unload-data-from-amazon-redshift-cross-accounts-to-amazon-s3.html) | DevOps engenheiro | 

### Testar a arquitetura
<a name="test-the-architecture"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Importe os recursos necessários. | Para importar os recursos necessários, execute os seguintes comandos:<pre>import ast<br />import boto3<br />import psycopg2<br />import base64<br />from botocore.exceptions import ClientError</pre> | Desenvolvedor de aplicativos | 
| Execute a função de manipulador do Lambda. | A função Lambda usa AWS Security Token Service (AWS STS) para acesso entre contas e gerenciamento temporário de credenciais. A função usa a operação AssumeRole da API para assumir temporariamente as permissões da função `sm_read_role` do IAM.<br />Para executar a função do Lambda, use o seguinte código de exemplo:<pre>def lambda_handler(event, context):<br />    sts_client = boto3.client('sts')<br /><br />    # Secrets Manager Configurations<br />    secret_name = "redshift_creds"<br />    sm_region = "eu-west-1"<br />    sm_read_role = "arn:aws:iam::PROD_ACCOUNT_NUMBER:role/SM-Read-Role"<br /><br />    # S3 Bucket Configurations<br />    s3_bucket_path = "s3://mybucket/"<br />    s3_bucket_region = "eu-west-1"<br />    s3_write_role = "arn:aws:iam::DEV_ACCOUNT_NUMBER:role/S3-Write-Role"<br /><br />    # Redshift Configurations<br />    sql_query = "select * from category"<br />    redshift_db = "dev"<br />    redshift_s3_write_role = "arn:aws:iam::PROD_ACCOUNT_NUMBER:role/CrossAccount-S3-Write-Role"<br /><br />    chained_s3_write_role = "%s,%s" % (redshift_s3_write_role, s3_write_role)<br /><br />    assumed_role_object = sts_client.assume_role(<br />        RoleArn=sm_read_role,<br />        RoleSessionName="CrossAccountRoleAssumption",<br />        ExternalId="YOUR_EXTERNAL_ID",<br />    )<br />    credentials = assumed_role_object['Credentials']<br /><br />    secret_dict = ast.literal_eval(get_secret(credentials, secret_name, sm_region))<br />    execute_query(secret_dict, sql_query, s3_bucket_path, chained_s3_write_role, s3_bucket_region, redshift_db)<br /><br />    return {<br />        'statusCode': 200<br />    }</pre> | Desenvolvedor de aplicativos | 
| Obtenha o segredo. | Para obter o segredo do Amazon Redshift, use o seguinte código de exemplo:<pre>def get_secret(credentials, secret_name, sm_region):<br />    # Create a Secrets Manager client<br />    session = boto3.session.Session()<br />    sm_client = session.client(<br />        service_name='secretsmanager',<br />        aws_access_key_id=credentials['AccessKeyId'],<br />        aws_secret_access_key=credentials['SecretAccessKey'],<br />        aws_session_token=credentials['SessionToken'],<br />        region_name=sm_region<br />    )<br /><br />    try:<br />        get_secret_value_response = sm_client.get_secret_value(<br />            SecretId=secret_name<br />        )<br />    except ClientError as e:<br />        print(e)<br />        raise e<br />    else:<br />        if 'SecretString' in get_secret_value_response:<br />            return get_secret_value_response['SecretString']<br />        else:<br />            return base64.b64decode(get_secret_value_response['SecretBinary'])</pre> | Desenvolvedor de aplicativos | 
| Execute o comando de descarregamento. | Para descarregar os dados no bucket do S3, use o código de exemplo a seguir.<pre>def execute_query(secret_dict, sql_query, s3_bucket_path, chained_s3_write_role, s3_bucket_region, redshift_db):<br />    conn_string = "dbname='%s' port='%s' user='%s' password='%s' host='%s'" \<br />                  % (redshift_db,<br />                     secret_dict["port"],<br />                     secret_dict["username"],<br />                     secret_dict["password"],<br />                     secret_dict["host"])<br /><br />    con = psycopg2.connect(conn_string)<br /><br />    unload_command = "UNLOAD ('{}') TO '{}' IAM_ROLE '{}' DELIMITER '|' REGION '{}';" \<br />        .format(sql_query,<br />                s3_bucket_path + str(datetime.datetime.now()) + ".csv",<br />                chained_s3_write_role,<br />                s3_bucket_region)<br /><br />    # Opening a cursor and run query<br />    cur = con.cursor()<br />    cur.execute(unload_command)<br /><br />    print(cur.fetchone())<br />    cur.close()<br />    con.close()</pre> | Desenvolvedor de aplicativos | 

### Limpeza
<a name="clean-up"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Exclua a função do Lambda. | Para evitar custos não planejados, remova os recursos e a conexão entre as contas DEV e PROD.<br />Para remover a função do Lambda, faça o seguinte:[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/unload-data-from-amazon-redshift-cross-accounts-to-amazon-s3.html) | DevOps engenheiro | 
| Remova as políticas e os perfis do IAM. | Remova as políticas e os perfis do IAM das contas DEV e PROD.<br />Na conta DEV, faça o seguinte:[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/unload-data-from-amazon-redshift-cross-accounts-to-amazon-s3.html)<br />Na conta PROD, faça o seguinte:[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/unload-data-from-amazon-redshift-cross-accounts-to-amazon-s3.html) | DevOps engenheiro | 
| Exclua o segredo no Secrets Manager. | Para excluir o segredo, faça o seguinte:[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/unload-data-from-amazon-redshift-cross-accounts-to-amazon-s3.html) | DevOps engenheiro | 
| Remova as regras de emparelhamento de VPC e de grupos de segurança. | Para remover as regras de emparelhamento de VPC e de grupos de segurança, faça o seguinte:[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/unload-data-from-amazon-redshift-cross-accounts-to-amazon-s3.html) | DevOps engenheiro | 
| Remova os dados do bucket do S3. | Para remover os dados do Amazon S3, faça o seguinte:[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/unload-data-from-amazon-redshift-cross-accounts-to-amazon-s3.html) | DevOps engenheiro | 
| Limpe AWS KMS as chaves. | Se você criou alguma AWS KMS chave personalizada para criptografia, faça o seguinte:[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/unload-data-from-amazon-redshift-cross-accounts-to-amazon-s3.html) | DevOps engenheiro | 
| Revise e exclua CloudWatch os registros da Amazon. | Para excluir os CloudWatch registros, faça o seguinte:[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/unload-data-from-amazon-redshift-cross-accounts-to-amazon-s3.html) | DevOps engenheiro | 

## Recursos relacionados
<a name="unload-data-from-amazon-redshift-cross-accounts-to-amazon-s3-resources"></a>
+ [ CloudWatch Documentação da Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)
+ [Documentação do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)
+ [Documentação do Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html)
+ [Documentação do Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/gsg/new-user-serverless.html)
+ [Documentação do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html)
+ [AWS Secrets Manager documentação](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html)
+ [AWS princípios de segurança](https://docs.aws.amazon.com/en_us/wellarchitected/2022-03-31/framework/sec-design.html)

## Mais informações
<a name="unload-data-from-amazon-redshift-cross-accounts-to-amazon-s3-additional"></a>

Depois de descarregar os dados do Amazon Redshift para o Amazon S3, você pode analisá-los usando o Amazon Athena.

O [Amazon Athena](https://docs.aws.amazon.com/athena/latest/ug/getting-started.html) é um serviço de consulta de big data que é útil quando você precisa acessar grandes volumes de dados. Você pode usar o Athena sem precisar provisionar servidores ou bancos de dados. O Athena oferece suporte a consultas complexas, e você pode executá-lo em objetos diferentes.

Como acontece com a maioria Serviços da AWS, o principal benefício de usar o Athena é que ele oferece grande flexibilidade na forma como você executa consultas sem a complexidade adicional. Ao usar o Athena, você pode consultar diferentes tipos de dados, como CSV e JSON, no Amazon S3 sem alterar o tipo de dados. Você pode consultar dados de várias fontes, inclusive externas AWS. O Athena reduz a complexidade porque você não precisa gerenciar servidores. O Athena lê dados diretamente do Amazon S3, sem carregar ou alterar os dados antes de você executar a consulta.