Ho utilizzato Amazon Virtual Private Cloud (Amazon VPC) per creare un endpoint VPC di interfaccia. Tuttavia, non riesco a selezionare la mia sottorete preferita per la zona di disponibilità.
Descrizione breve
Quando crei un endpoint VPC di interfaccia per connetterti ai servizi AWS PrivateLink, potresti ricevere questo errore:
"Errore: Il servizio endpoint VPC com.amazonaws.vpce.us-east-1.vpce-svc-xxxx non supporta la zona di disponibilità della sottorete: subnet-xxxx."
Questo errore può verificarsi quando una zona di disponibilità non è attivata per il Network Load Balancer del provider di servizi VPC.
Quando crei un endpoint VPC di interfaccia, segui queste best practice:
- Quando un consumatore di servizi crea e recupera informazioni sul servizio endpoint, può visualizzare solo le zone di disponibilità che sono in comune con il fornitore di servizi.
- Un ID della zona di disponibilità (ID AZ) è un identificatore univoco e coerente per una zona di disponibilità in tutti gli account AWS.
- La mappatura della zona di disponibilità può differire tra gli account AWS. Ad esempio, la sottorete mappata come us-east-1a in un account potrebbe essere mappata come us-east-1c in un altro account.
- AWS consente di identificare la posizione effettiva delle risorse relative ai tuoi account nell'ID AZ.
- È possibile selezionare una zona di disponibilità solo se corrisponde alle zone di disponibilità attive nel Network Load Balancer del provider VPC.
- La console Amazon VPC esegue automaticamente la mappatura della zona di disponibilità.
Soluzione
Nota: se ricevi errori durante l'esecuzione dei comandi dell'interfaccia della linea di comando AWS (AWS CLI), consulta Risolvere gli errori AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.
Verifica quali zone di disponibilità sono abilitate nel Network Load Balancer del provider VPC. Esegui il comando dell'interfaccia della linea di comando AWS describe-vpc-endpoint-services:
$aws ec2 describe-vpc-endpoint-services —service-names com.amazonaws.vpce.us-east-1.vpce-svc-xxxx
Nota: sostituisci service-names con i nomi dei tuoi servizi.
Questo output di esempio mostra che è possibile selezionare la sottorete us-east-1b:
{
"ServiceDetails": [
.............................
"ServiceName": " com.amazonaws.vpce.us-east-1.vpce-svc-xxxxxxxxxx ",
"VpcEndpointPolicySupported": false,
"Owner": "##########",
"AvailabilityZones": [
"us-east-1b"
],
..............................
}
L'output precedente viene mappato sui valori dell'account che esegue il comando. Pertanto, sia gli account dei provider di servizi che gli account dei consumatori del servizio possono eseguire il comando describe-vpc-endpoint-services, anche quando si trovano in zone di disponibilità diverse. Per gli account degli utenti, assicurati che siano consentiti come principali AWS nell'endpoint del servizio.
Informazioni correlate
Condividi i tuoi servizi tramite AWS PrivateLink
ID delle zone di disponibilità per le tue risorse AWS