Abilitazione dell'accesso VPC per il traffico in uscita - AWS App Runner

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Abilitazione dell'accesso VPC per il traffico in uscita

Per impostazione predefinita, l' AWS App Runner applicazione può inviare messaggi a endpoint pubblici. Ciò include le soluzioni personalizzate e qualsiasi altro sito Web o servizio Web pubblico. Servizi AWS La tua applicazione può persino inviare messaggi agli endpoint pubblici di applicazioni eseguite in un VPC da Amazon Virtual Private Cloud (Amazon VPC). Se non configuri un VPC all'avvio dell'ambiente, App Runner utilizza il VPC predefinito, che è pubblico.

Puoi scegliere di avviare il tuo ambiente in un VPC personalizzato per personalizzare le impostazioni di rete e sicurezza per il traffico in uscita. Puoi abilitare il tuo AWS App Runner servizio per accedere alle applicazioni eseguite in un VPC privato da Amazon Virtual Private Cloud (Amazon VPC). Dopo aver eseguito questa operazione, l'applicazione può connettersi e inviare messaggi ad altre applicazioni ospitate in un Amazon Virtual Private Cloud (Amazon VPC). Alcuni esempi sono un database Amazon RDS ElastiCache, Amazon e altri servizi privati ospitati in un VPC privato.

Connettore VPC

Puoi associare il tuo servizio a un VPC creando un endpoint VPC dalla console App Runner, chiamato VPC Connector. Per creare un connettore VPC, specifica il VPC, una o più sottoreti e, facoltativamente, uno o più gruppi di sicurezza. Dopo aver configurato un connettore VPC, puoi utilizzarlo con uno o più servizi App Runner.

Latenza una tantum

Se configuri il servizio App Runner con un connettore VPC personalizzato per il traffico in uscita, potrebbe verificarsi una latenza di avvio una tantum da due a cinque minuti. Il processo di avvio attende che il connettore VPC sia pronto per la connessione ad altre risorse prima di impostare lo stato del servizio su In esecuzione. Puoi configurare un servizio con un connettore VPC personalizzato quando lo crei per la prima volta, oppure puoi farlo in seguito aggiornando il servizio.

Tieni presente che se riutilizzi la stessa configurazione del connettore VPC per un altro servizio, non ci sarà alcuna latenza. La configurazione del connettore VPC si basa sulla combinazione di gruppo di sicurezza e sottorete. Per una determinata configurazione del connettore VPC, la latenza si verifica solo una volta, durante la creazione iniziale del connettore VPC Hyperplane ENIS (interfacce di rete elastiche).

Ulteriori informazioni sui connettori VPC personalizzati e Hyperplane AWS

I connettori VPC di App Runner si basano su AWS Hyperplane, il sistema di rete Amazon interno alla base di diverse AWS risorse, come Network Load Balancer, NAT Gateway e AWS. PrivateLink La tecnologia AWS Hyperplane offre capacità di throughput elevato e bassa latenza, oltre a un grado di condivisione più elevato. Un ENI Hyperplane viene creato nelle tue sottoreti quando crei un connettore VPC e lo associ al tuo servizio. La configurazione di un connettore VPC si basa su una combinazione di gruppo di sicurezza e sottorete ed è possibile fare riferimento allo stesso connettore VPC su più servizi App Runner. Di conseguenza, gli ENI Hyperplane sottostanti sono condivisi tra i servizi App Runner. Questa condivisione è fattibile anche se si aumenta il numero di attività necessarie per gestire il carico delle richieste e si traduce in un utilizzo più efficiente dello spazio IP nel VPC. Per ulteriori informazioni, consulta Deep Dive sulla rete VPC di AWS App Runner nel blog AWS Container.

Sottorete

Ogni sottorete si trova in una zona di disponibilità specifica. Per un'elevata disponibilità, si consiglia di selezionare sottoreti in almeno tre zone di disponibilità. Se la regione ha meno di tre zone di disponibilità, ti consigliamo di selezionare le sottoreti in tutte le zone di disponibilità supportate.

Quando selezioni una sottorete per il tuo VPC, assicurati di scegliere una sottorete privata, non una sottorete pubblica. Questo perché, quando si crea un connettore VPC, il servizio App Runner crea un ENI Hyperplane in ciascuna delle sottoreti. A ogni Hyperplane ENI viene assegnato solo un indirizzo IP privato e viene contrassegnato con un tag della chiave. AWSAppRunnerManaged Se scegli una sottorete pubblica, si verificheranno degli errori durante l'esecuzione del servizio App Runner. Tuttavia, se il servizio deve accedere ad alcuni servizi disponibili su Internet o su altri servizi pubblici Servizi AWS, consulta. Considerazioni sulla scelta di una sottorete

Considerazioni sulla scelta di una sottorete

  • Quando connetti il tuo servizio a un VPC, il traffico in uscita non ha accesso alla rete Internet pubblica. Tutto il traffico in uscita dall'applicazione viene indirizzato attraverso il VPC a cui è connesso il servizio. Tutte le regole di rete per il VPC si applicano al traffico in uscita dell'applicazione. Ciò significa che i tuoi servizi non possono accedere alla rete Internet pubblica e AWS alle API. Per accedere, esegui una delle seguenti operazioni:

    • Connect le sottoreti a Internet tramite un gateway NAT.

    • Configura gli endpoint VPC per Servizi AWS i quali desideri accedere. Il tuo servizio rimane all'interno di Amazon VPC utilizzando. AWS PrivateLink

  • Alcune zone di disponibilità in altre Regioni AWS non supportano le sottoreti che possono essere utilizzate con i servizi App Runner. Se scegli le sottoreti in queste zone di disponibilità, il servizio non verrà creato o aggiornato. In queste situazioni, App Runner fornisce un messaggio di errore dettagliato che indica le sottoreti e le zone di disponibilità non supportate. In questo caso, risolvi il problema rimuovendo le sottoreti non supportate dalla richiesta, quindi riprova.

Gruppo di sicurezza

Facoltativamente, puoi specificare i gruppi di sicurezza utilizzati da App Runner per accedere alle sottoreti specificate. AWS Se non specifichi i gruppi di sicurezza, App Runner utilizza il gruppo di sicurezza predefinito del VPC. Il gruppo di sicurezza predefinito consente tutto il traffico in uscita.

L'aggiunta di un gruppo di sicurezza fornisce un ulteriore livello di sicurezza ai connettori VCP, offrendo un maggiore controllo sul traffico di rete. Il connettore VPC viene utilizzato solo per le comunicazioni in uscita dall'applicazione. Utilizzate le regole in uscita per consentire la comunicazione con gli endpoint di destinazione desiderati. È inoltre necessario assicurarsi che tutti i gruppi di sicurezza associati alla risorsa di destinazione dispongano delle regole in entrata appropriate. Altrimenti, queste risorse non possono accettare il traffico proveniente dai gruppi di sicurezza di VPC Connector.

Nota

Quando associ il tuo servizio a un VPC, il traffico seguente non viene influenzato:

  • Traffico in entrata: i messaggi in entrata ricevuti dall'applicazione non sono influenzati da un VPC associato. I messaggi vengono instradati attraverso il nome di dominio pubblico associato al tuo servizio e non interagiscono con il VPC.

  • Traffico App Runner: App Runner gestisce diverse azioni per tuo conto, come l'estrazione del codice sorgente e delle immagini, l'invio di registri e il recupero di segreti. Il traffico generato da queste azioni non viene instradato attraverso il tuo VPC.

Per ulteriori informazioni su come AWS App Runner si integra con Amazon VPC, AWS consulta App Runner VPC Networking.

Nota

Per il traffico in uscita App Runner attualmente supporta solo IPv4.

Gestisci l'accesso al VPC

Nota

Se crei un connettore VPC per il traffico in uscita per un servizio, il processo di avvio del servizio che segue presenterà una latenza unica. È possibile impostare questa configurazione per un nuovo servizio al momento della creazione o in seguito, con un aggiornamento del servizio. Per ulteriori informazioni, consulta il Latenza una tantum capitolo Networking with App Runner di questa guida.

Gestisci l'accesso VPC per i tuoi servizi App Runner utilizzando uno dei seguenti metodi:

App Runner console

Quando crei un servizio utilizzando la console App Runner o quando ne aggiorni la configurazione in un secondo momento, puoi scegliere di configurare il traffico in uscita. Cerca la sezione Configurazione di rete nella pagina della console. Per il traffico di rete in uscita, scegli quanto segue:

  • Accesso pubblico: per associare il tuo servizio agli endpoint pubblici di altri. Servizi AWS

  • VPC personalizzato: per associare il servizio a un VPC di Amazon VPC. La tua applicazione può connettersi e inviare messaggi ad altre applicazioni ospitate in un Amazon VPC.

Per abilitare il VPC personalizzato
  1. Apri la console App Runner e, nell'elenco Regioni, seleziona la tua. Regione AWS

  2. Vai alla sezione Rete in Configura servizio.

    Pagina di configurazione della console App Runner che mostra le opzioni di rete
  3. Scegli VPC personalizzato, per il traffico di rete in uscita.

  4. Nel pannello di navigazione, scegli Connettore VPC.

    Se hai creato i connettori VPC, la console visualizza un elenco di connettori VPC nel tuo account. Puoi scegliere un connettore VPC esistente e scegliere Avanti per rivedere la configurazione. Quindi, vai all'ultimo passaggio. In alternativa, puoi aggiungere un nuovo connettore VPC utilizzando i seguenti passaggi.

  5. Scegli Aggiungi nuovo per creare un nuovo connettore VPC per il tuo servizio.

    Quindi, viene visualizzata la finestra di dialogo Aggiungi nuovo connettore VPC.

    Console App Runner che mostra la finestra di dialogo Aggiungi nuovo connettore VPC
  6. Inserisci un nome per il tuo connettore VPC e seleziona il VPC richiesto dall'elenco disponibile.

  7. Per le sottoreti, seleziona una sottorete per ogni zona di disponibilità da cui intendi accedere al servizio App Runner. Per una migliore disponibilità, scegli tre sottoreti. Oppure, se ci sono meno di tre sottoreti, scegli tutte le sottoreti disponibili.

    Nota

    Assicurati di assegnare sottoreti private al connettore VPC. Se assegni sottoreti pubbliche al connettore VPC, il servizio non riesce a creare o esegue il rollback automaticamente durante un aggiornamento.

  8. (Facoltativo) Per il gruppo Security, selezionate i gruppi di sicurezza da associare alle interfacce di rete degli endpoint.

  9. (Facoltativo) Per aggiungere un tag, scegliere Add new tag (Aggiungi nuovo tag) e immettere la chiave e il valore del tag.

  10. Scegli Aggiungi.

    I dettagli del connettore VPC che hai creato vengono visualizzati in Connettore VPC.

  11. Scegli Avanti per rivedere la configurazione, quindi scegli Crea e distribuisci.

    App Runner crea per te una risorsa di connettore VPC, quindi la associa al tuo servizio. Se il servizio viene creato correttamente, la console mostra la dashboard del servizio, con una panoramica del servizio del nuovo servizio.

App Runner API or AWS CLI

Quando richiami le azioni API CreateServiceo UpdateServiceApp Runner, utilizza il EgressConfiguration membro del NetworkConfiguration parametro per specificare una risorsa del connettore VPC per il tuo servizio.

Utilizza le seguenti azioni dell'API App Runner per gestire le risorse del connettore VPC.

  • CreateVpcConnector— Crea un nuovo connettore VPC.

  • ListVpcConnectors— Restituisce un elenco dei connettori VPC associati al tuo. Account AWS L'elenco include descrizioni complete.

  • DescribeVpcConnector— Restituisce una descrizione completa di un connettore VPC.

  • DeleteVpcConnector— Elimina un connettore VPC. Se raggiungi la quota di connettori VPC per il tuo Account AWS, potresti dover eliminare i connettori VPC non necessari.

Per distribuire un'applicazione su App Runner con accesso in uscita a un VPC, devi prima creare un connettore VPC. È possibile farlo specificando una o più sottoreti e gruppi di sicurezza da associare all'applicazione. È quindi possibile fare riferimento al connettore VPC in Create o UpdateServicetramite la CLI, come illustrato nell'esempio seguente:

cat > vpc-connector.json <<EOF { "VpcConnectorName": "my-vpc-connector", "Subnets": [ "subnet-a", "subnet-b", "subnet-c" ], "SecurityGroups": [ "sg-1", "sg-2" ] } EOF aws apprunner create-vpc-connector \ --cli-input-json file:///vpc-connector.json cat > service.json <<EOF { "ServiceName": "my-vpc-connected-service", "SourceConfiguration": { "ImageRepository": { "ImageIdentifier": "<ecr-image-identifier> ", "ImageConfiguration": { "Port": "8000" }, "ImageRepositoryType": "ECR" } }, "NetworkConfiguration": { "EgressConfiguration": { "EgressType": "VPC", "VpcConnectorArn": "arn:aws:apprunner:..../my-vpc-connector" } } } EOF aws apprunner create-service \ --cli-input-json file:///service.js