Comment faire pour utiliser un Application Load Balancer ou un Network Load Balancer pour invoquer une API privée API Gateway ?
Je souhaite configurer mon API privée Amazon API Gateway comme cible derrière un équilibreur de charge. Je souhaite ensuite utiliser un compte AWS pour accéder à mon API privée à partir d’un Application Load Balancer ou d’un Network Load Balancer.
Résolution
Pour accéder à votre API privée à l’aide d’AWS Direct Connect ou d’Amazon Route 53, consultez Invoquer une API privée. Vous pouvez également utiliser un point de terminaison de cloud privé virtuel (VPC) d’interface pour accéder à une API REST privée API Gateway dans un autre compte AWS.
La solution ci-après utilise une adresse IP d’interface réseau Elastic du point de terminaison Amazon Virtual Private Cloud (Amazon VPC). Avec cette adresse IP, vous pouvez ajouter votre API privée en tant que cible à l'équilibreur de charge.
Important : la passerelle d'API ne prend pas en charge les noms de domaine personnalisés pour les API privées. Pour contourner ce problème, vous pouvez invoquer et associer le domaine à un équilibreur de charge. Utilisez ensuite la configuration suivante pour invoquer l’API privée.
Créer un point de terminaison d’un VPC Amazon
Procédez comme suit :
- Ouvrez la console VPC Amazon.
- Choisissez Points de terminaison, puis Créer un point de terminaison.
- Saisissez les informations suivantes :
Pour Services, choisissez com.amazonaws.com.your-region.execute-api.
Pour VPC, sélectionnez votre VPC Amazon.
Pour Sous-réseaux, sélectionnez deux sous-réseaux dans des zones de disponibilité différentes (ID AZ).
Remarque : si des points de terminaison VPC Amazon sont déjà configurés dans votre VPC avec execute-api, désactivez le DNS privé. - Choisissez Créer un point de terminaison.
- Sélectionnez votre point de terminaison, choisissez Sous-réseaux, puis copiez l’adresse IP.
Pour plus d’informations, consultez API REST privées dans API Gateway.
Créer une API REST privée et accorder l’autorisation au point de terminaison d’un VPC Amazon
Procédez comme suit :
- Ouvrez la console API Gateway, puis choisissez Créer l’API.
- Dans API REST, choisissez Créer.
- Dans Paramètres, entrez les informations suivantes :
Pour Nom d’API, entrez un nom de l’API.
Pour Type de point de terminaison, sélectionnez Privé.
Pour les ID de point de terminaison, saisissez l’ID de point de terminaison que vous avez créé. - Choisissez Créer une API.
- Dans le volet de navigation, choisissez Politique de ressources.
- Saisissez la politique suivante :
Remarque : remplacez vpce-081234d1ad408e par l’ID de votre point de terminaison d’un VPC. Remplacez également arn:aws:execute-api:us-east-1:ACCOUNT_ID:API_ID par l’Amazon Resource Name (ARN) de votre API.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Principal": "*", "Action": "execute-api:Invoke", "Resource": "arn:aws:execute-api:us-east-1:ACCOUNT_ID:API_ID/*/*/*", "Condition": { "StringNotEquals": { "aws:SourceVpce": "vpce-081234d1ad408e" } } }, { "Effect": "Allow", "Principal": "*", "Action": "execute-api:Invoke", "Resource": "arn:aws:execute-api:us-east-1:ACCOUNT_ID:API_ID/*/*/*" } ] }
- Choisissez Enregistrer.
Créer ou importer un certificat public AWS Certificate Manager
Vous pouvez soit demander un certificat public, soit importer un certificat.
Créer un Application Load Balancer ou un Network Load Balancer
Vous pouvez créer un Application Load Balancer ou un Network Load Balancer.
Créer le groupe cible
Procédez comme suit :
- Ouvrez la console Amazon Elastic Compute Cloud (Amazon EC2).
- Dans le volet de navigation, sous Équilibrage des charges, choisissez Équilibreurs de charges, puis Groupes cibles.
- Choisissez Créer un groupe cible.
- Saisissez les informations suivantes :
Pour Type de cible, choisissez Adresses IP.
Pour Nom du groupe cible, saisissez un nom.
Application Load Balancer
Pour Protocole, choisissez HTTPS.
Pour Port, sélectionnez 443.
Pour VPC, sélectionnez votre VPC.
Pour Chemin d’accès à la surveillance de l’état, saisissez « / » et pour Codes de réussite, saisissez 200,403 afin que le point de terminaison d’un VPC soit considéré comme Sain.
Network Load Balancer
Pour Protocole, choisissez TLS.
Pour Port, sélectionnez 443.
Pour VPC, sélectionnez votre VPC. - Choisissez Suivant.
- Pour Spécifier les adresses IP, saisissez l’adresse IP que vous avez copiée dans la section Créer un point de terminaison d’un VPC Amazon d’interface. Choisissez ensuite Ajouter une adresse IPv4.
- Choisissez Créer un groupe cible.
Configurer l’équilibreur de charge
Procédez comme suit :
- Ouvrez la console EC2.
- Dans le volet de navigation, choisissez Équilibreurs de charge, puis Créer un équilibreur de charge.
Application Load Balancer
Pour Schéma, choisissez Accès à Internet ou Interne en fonction de votre configuration.
Pour Protocole, sélectionnez HTTPS.
Pour VPC et Sous-réseaux, sélectionnez votre VPC et vos sous-réseaux.
Network Load Balancer
Pour Schéma, choisissez Accès à Internet ou Interne en fonction de votre configuration.
Pour Protocole, sélectionnez TLS.
Pour VPC et Sous-réseaux, sélectionnez votre VPC et vos sous-réseaux.
Pour Politique de sécurité, sélectionnez la politique par défaut ELBSecurityPolicy-TLS (recommandée).
Pour Certificat SSL/TLS par défaut, sélectionnez À partir d'ACM.
Choisissez Sélectionner un certificat, puis sélectionnez votre certificat. - Choisissez Créer un équilibreur de charge.
Remarque : les cibles de l'équilibreur de charge se trouvent dans les adresses IP de l'interface réseau élastique créée par le point de terminaison d'un VPC. Pour trouver ces interfaces réseau Elastic, sélectionnez votre point de terminaison d'un VPC, puis ouvrez l'onglet Sous-réseaux.
Créer un enregistrement dans une zone hébergée publique ou privée Amazon Route 53
Créez une zone hébergée publique ou une zone hébergée privée. Ensuite, créez un CNAME ou un enregistrement alias et associez-le à votre application ou au Network Load Balancer.
Créer un domaine personnalisé
Créez un domaine personnalisé dans la console d’API Gateway. Ensuite, mappez l’API Rest privée sous le domaine personnalisé.
Tests
Pour les équilibreurs de charge publics, faites une requête curl depuis votre machine locale. Pour les équilibreurs de charge privés, lancez une nouvelle instance EC2 dans l'un des sous-réseaux de votre équilibreur de charge. Ensuite, faites une requête curl similaire à l’exemple suivant :
curl -v https://{custom-domain-name}/<resource-path>
Une demande aboutie renvoie un code de réponse 200 OK. Une demande infructueuse renvoie un code de réponse 403 Interdit ou une erreur de résolution DNS. Si vous rencontrez des problèmes, consultez Résoudre les problèmes liés aux équilibreurs de charge de votre application.
Informations connexes
Comment puis-je me connecter à une passerelle d'API privée via une connexion Direct Connect ?
Surveiller l’exécution de l’API REST à l’aide des métriques d’Amazon CloudWatch
Configurer la journalisation CloudWatch pour les API REST dans API Gateway
Contenus pertinents
- demandé il y a 2 anslg...
- demandé il y a 2 anslg...
- demandé il y a 7 moislg...
- demandé il y a un anlg...
- AWS OFFICIELA mis à jour il y a 2 mois
- AWS OFFICIELA mis à jour il y a 3 mois
- AWS OFFICIELA mis à jour il y a un mois
- AWS OFFICIELA mis à jour il y a 2 ans