View a markdown version of this page

Acesso à Internet para fluxos de trabalho conectados ao VPC - AWS HealthOmics

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

Acesso à Internet para fluxos de trabalho conectados ao VPC

Quando você conecta uma AWS HealthOmics execução a uma VPC, a execução só pode acessar os recursos disponíveis dentro dessa VPC. Para dar à sua execução acesso à Internet pública ou aos AWS serviços fora da VPC, você deve configurar sua VPC com os recursos de rede apropriados.

Este tópico descreve como configurar sua VPC para fornecer acesso à Internet e conectividade eficiente aos AWS serviços para suas execuções conectadas à VPC. Para obter informações sobre como conectar execuções a uma VPC, consulte. Conectando HealthOmics fluxos de trabalho a uma VPC

Importante

Conectar uma execução a uma sub-rede pública não lhe dá acesso à Internet nem a um endereço IP público. Sempre use sub-redes privadas com rotas do NAT Gateway para execuções que exijam conectividade com a Internet.

Configurando uma VPC com acesso à Internet

Para dar às execuções conectadas à VPC acesso à Internet, crie uma VPC com sub-redes privadas que roteiam o tráfego de saída por meio de um gateway NAT.

Essa configuração fornece:

  • Sub-redes privadas para HealthOmics tarefas de fluxo de trabalho

  • Sub-redes públicas com gateways NAT para acesso externo à Internet

Regiões e zonas de disponibilidade

HealthOmics Os fluxos de trabalho operam nas seguintes regiões e zonas de disponibilidade. Ao criar sua VPC, certifique-se de que suas sub-redes estejam em uma ou mais dessas zonas de disponibilidade.

Região Nome da zona de disponibilidade ID da zona de disponibilidade
us-west-2 us-west-2a usw2-az2
us-west-2b usw2-az1
us-west-2c usw2-az3
us-east-1 us-east-1a use1-az4
us-east-1b use1-az6
us-east-1c use1-az1
us-east-1d use1-az2
eu-west-1 eu-west-1a euw1-az2
eu-west-1b euw1-az3
eu-west-1c euw1-az1
eu-central-1 eu-central-1a euc1-az2
eu-central-1b euc1-az3
eu-central-1c euc1-az1
eu-west-2 eu-west-2a euw2-az2
eu-west-2b euw2-az3
eu-west-2c euw2-az1
ap-southeast-1 ap-sudeste-1a apse1-az2
ap-sudeste-1b apse1-az1
ap-sudeste-1c apse1-az3
il-central-1 il central-1a ilc1-az1
il central-1b ilc1-az2
il-central-1c ilc1-az3
ap-northeast-2 ap-nordeste-2a apne2-az1
ap-nordeste-2b apne2-az2
ap-nordeste-2c apne2-az3
  1. No console da Amazon VPC, escolha Create VPC.

  2. Selecione VPC e muito mais para criar automaticamente uma VPC com sub-redes públicas e privadas.

  3. Configure as seguintes opções:

    • Número de zonas de disponibilidade: 2 ou mais

    • Número de sub-redes públicas: uma por AZ. Neste exemplo, 2

    • Número de sub-redes privadas: uma por AZ. Neste exemplo, 2

    • Gateways NAT: 1 por AZ (para produção) ou 1 (para desenvolvimento/teste)

    • Endpoints VPC: endpoint do S3 Gateway (opcional — o tráfego do Amazon S3 na região é roteado por meio do serviço VPC por padrão) HealthOmics

Ao criar sua configuração de HealthOmics VPC, especifique as sub-redes privadas. As execuções usam o gateway NAT na sub-rede pública para acessar a Internet.

VPC endpoints para serviços AWS

Você pode configurar VPC endpoints para permitir que execuções acessem AWS serviços sem atravessar a Internet pública. Isso melhora a segurança e pode reduzir os custos de transferência de dados.

nota

O tráfego regional do Amazon S3 é roteado pelo HealthOmics serviço VPC por padrão. Se você configurar endpoints de interface do Amazon S3, o tráfego será roteado por meio de sua VPC. Recomendamos o uso de endpoints de gateway Amazon S3 para obter melhor desempenho e otimização de custos. Para obter mais informações, consulte Endpoints de gateway para Amazon S3 no AWS PrivateLink Guia.

A tabela a seguir lista os endpoints VPC mais usados para execuções: HealthOmics

Serviço Endpoint type Nome do endpoint
Amazon S3 Gateway com.amazonaws. region.s3
Amazon ECR (API) Interface com.amazonaws. region.ecr.api
Amazon ECR (Docker) Interface com.amazonaws. region.ecr.dkr
SSM Interface com.amazonaws. region.sms
CloudWatch Registros Interface com.amazonaws. region.registros

Requisitos do NAT Gateway

Para corridas que exigem acesso público à Internet:

  • O NAT Gateway deve ser implantado em uma sub-rede pública

  • A sub-rede pública deve ter uma rota para um Internet Gateway

  • As sub-redes privadas (onde as execuções são executadas) devem ter rotas para o NAT Gateway

nota

Os gateways NAT incorrem em cobranças horárias e taxas de processamento de dados. Para otimizar os custos, considere usar VPC endpoints para acesso ao AWS serviço em vez de rotear por meio do NAT Gateway.

Configuração do security group

Configure seus grupos de segurança para permitir o tráfego de saída para os destinos que suas execuções precisam acessar:

  • Acesso público à Internet — Permitir tráfego HTTPS de saída (porta 443). Adicione regras para outros protocolos conforme necessário, como HTTP (porta 80).

  • Serviços específicos — configure regras com base em seus requisitos.

  • Recursos locais — Permita tráfego para seus intervalos de VPN ou CIDR.

O exemplo a seguir mostra uma regra de grupo de segurança para acesso público à Internet:

Tipo Protocolo Intervalo de portas Destino Description
HTTPS TCP 443 0.0.0.0/0 Permitir HTTPS para a internet

Configuração da tabela de rotas

Certifique-se de que suas sub-redes privadas tenham entradas na tabela de rotas que direcionem o tráfego vinculado à Internet para um gateway NAT:

Destination (Destino) Destino
10.0.0.0/16 local
0.0.0.0/0 nat-xxxxxxxx

Para acessar recursos locais, configure rotas para um gateway ou gateway privado virtual.

Testando a conectividade VPC

Antes de executar fluxos de trabalho de produção, valide se sua configuração de VPC permite conectividade com os serviços externos necessários.

Crie um fluxo de trabalho de teste

Crie um fluxo de trabalho simples que teste a conectividade com seu serviço externo. Por exemplo, crie um fluxo de trabalho que tente uma conexão TCP com um endpoint de serviço de destino.

Execute o teste

aws omics start-run \ --workflow-id test-workflow-id \ --role-arn role-arn \ --output-uri s3://bucket-name/test-outputs/ \ --networking-mode VPC \ --configuration-name configuration-name \ --parameters file://test-parameters.json

Verificar os resultados

Verifique a saída do fluxo de trabalho para confirmar a conectividade bem-sucedida:

{ "connectivity_test.result": "Testing connection to external service...\nSUCCESS: Connection successful!\nTest completed" }

Se o teste falhar, verifique o seguinte:

  • As regras do grupo de segurança permitem tráfego de saída para as portas e destinos necessários.

  • As tabelas de rotas direcionam o tráfego para um gateway NAT para acesso à Internet.

  • O serviço externo pode ser acessado pela sua rede.

  • O suficiente ENIs está disponível em sua conta.

  • O gateway NAT está em uma sub-rede pública com uma rota para um gateway da Internet.

nota

A taxa de transferência da rede começa em 10 Gbps por ENI e aumenta até 100 Gbps em um período de 60 minutos com tráfego sustentado. Para fluxos de trabalho com requisitos imediatos de alto rendimento, entre em contato com o Support. AWS

Exemplos

Acessando dados do NCBI com autenticação de API

Este exemplo demonstra como acessar dados do NCBI usando a API de conjuntos de dados do NCBI com autenticação.

Melhores práticas para acessar os recursos do NCBI

Os clientes devem usar a API REST sempre que possível e utilizar uma chave de API fornecida pelo NCBI. As solicitações para acessar recursos do NCBI, como solicitações HTTP e FTP para dados públicos, virão HealthOmics e serão limitadas de acordo com a taxa de terceiros definida pelo NCBI. Você pode ter falhas de execução devido a erros de limitação durante o pico de uso. Incentivamos os usuários a obterem sua própria chave de API NCBI e a utilizarem ferramentas especializadas APIs para permitir maior simultaneidade e uma melhor experiência de desenvolvimento.

Para obter sua chave de API NCBI, visite a documentação de chaves de API NCBI.

Exemplo de definição de fluxo de trabalho:

version 1.0 #WORKFLOW DEFINITION # Meant to be used as integration test for public internet access via VPC tunnel workflow TestFlow { input { String ncbi_api_url = "https://api.ncbi.nlm.nih.gov/datasets/v2/gene/accession/NM_021803.4?api_key=<YOUR_API_KEY>" } call DataProcessTask{ input: ncbi_api_url = ncbi_api_url, } output { File output_file = DataProcessTask.output_file } } #Task Definitions task DataProcessTask { input { String ncbi_api_url } command <<< set -eu # Download file from NCBI Datasets API with API key curl -fsSL "~{ncbi_api_url}" -o gene_data.json # Add data processing task here cat gene_data.json > processed_data.json # Echo the content to output file cat processed_data.json > outfile.txt >>> output { File output_file = "outfile.txt" } }

Pontos-chave:

  • <YOUR_API_KEY>Substitua por sua chave de API NCBI real

  • O fluxo de trabalho usa HTTPS para acessar a API de conjuntos de dados NCBI

  • A chave de API é passada como um parâmetro de URL

  • Essa abordagem fornece limites de taxa mais altos (10 solicitações por segundo) em comparação com o acesso não autenticado (5 solicitações por segundo)

Para obter mais informações sobre chaves e limites de taxa da API NCBI, consulte a documentação da API NCBI Datasets.

Práticas recomendadas

  1. Use endpoints VPC para serviços. AWS Configure endpoints VPC para Amazon S3, Amazon ECR e outros AWS serviços para reduzir os custos do gateway NAT e melhorar o desempenho. Para obter mais informações, consulte VPC endpoints para serviços AWS.

  2. Monitore os custos da rede. A rede VPC gera custos com gateways NAT, transferência de dados e. ENIs Monitore seu uso com o AWS Cost Explorer.

  3. Planeje as zonas de disponibilidade. Certifique-se de que suas sub-redes abranjam as zonas de disponibilidade onde HealthOmics opera para apoiar o posicionamento do fluxo de trabalho.

  4. Use gateways NAT em cada AZ. Para cargas de trabalho de produção, implante um gateway NAT em cada zona de disponibilidade para fornecer redundância.