Je souhaite accéder aux API privées Amazon API Gateway depuis mon Amazon Virtual Private Cloud (Amazon VPC) et maintenir la connectivité à mes API publiques.
Brève description
Les API REST privées API Gateway sont accessibles depuis les points de terminaison de l'interface Amazon VPC. Cependant, il se peut que vous ne puissiez pas vous connecter simultanément à des API privées et publiques, selon que le DNS privé est activé ou désactivé.
Résolution
Créer un point de terminaison d'interface VPC pour API Gateway
Procédez comme suit :
- Ouvrez la console VPC.
- Sélectionnez Points de terminaison, puis Créer un point de terminaison.
- Pour Type, choisissez Services AWS.
- Dans la barre de recherche Services, saisissez execute-api.
- Pour Nom du service, choisissez com.amazonaws.region.execute-api.
- Choisissez la liste déroulante VPC, puis sélectionnez le VPC que vous souhaitez utiliser pour créer le point de terminaison de VPC.
- (Facultatif) Pour désactiver le DNS privé, choisissez Paramètres supplémentaires, puis décochez la case Activer le nom DNS privé.
Remarque : le DNS privé est activé par défaut.
- Pour Sous-réseaux, sélectionnez vos sous-réseaux.
- Pour Groupes de sécurité, sélectionnez les groupes de sécurité que vous souhaitez associer aux interfaces réseau du point de terminaison.
- Choisissez Créer un point de terminaison.
- Choisissez l'onglet Détails, puis notez l'**ID du point de terminaison ** à utiliser dans la section suivante.
Pour plus d'informations, consultez la section Créer un point de terminaison de VPC.
Créer une API privée
Procédez comme suit :
- Ouvrez la console API Gateway.
- Sélectionnez Créer une API.
- Pour API REST privée, choisissez Créer.
Remarque : une API REST privée n'est disponible que depuis un VPC.
- Pour Nom d'API, saisissez le nom de votre API privée.
- Pour ID du point de terminaison de VPC, saisissez votre ID de point de terminaison de VPC, puis choisissez Ajouter.
- Sélectionnez Créer une API.
- Déployez votre API sur une étape.
Pour en savoir plus, consultez la section Créer une API privée.
Créer une API publique
Procédez comme suit :
- Ouvrez la console API Gateway.
- Sélectionnez Créer une API.
- Pour API HTTP ou API REST, choisissez Créer.
- Pour Nom d'API, saisissez le nom de votre API REST.
- Sélectionnez Créer une API.
Pour plus d'informations, consultez la section Créer une API HTTP.
Se connecter à des API publiques avec le DNS privé activé
Important : vos ressources VPC doivent disposer d'une connectivité Internet pour se connecter à vos API publiques.
Pour vous connecter à des API publiques avec le DNS privé activé, configurez des noms de domaine personnalisés optimisés pour les périphériques ou des noms de domaine personnalisés régionaux. Vous pouvez ensuite invoquer l'API publique API Gateway avec le nom de domaine personnalisé, tel que api.example.com. La connectivité à vos API REST privées continue de fonctionner via le point de terminaison d'API REST privée.
Si vous souhaitez vous connecter depuis un réseau sur site, configurez un point de terminaison entrant Amazon Route 53 Resolver. Pour utiliser l'URL d'invocation execute-api, transférez toutes les requêtes DNS privées de votre réseau sur site vers le point de terminaison entrant.
Se connecter à des API privées avec le DNS privé désactivé
Remarque : l'URL d'invocation execute-api par défaut ne peut pas se connecter aux API REST privées lorsque le DNS privé est désactivé.
Pour vous connecter à des API privées avec le DNS privé désactivé, créez une zone hébergée privée pour votre domaine personnalisé dans Route 53. Dans la zone hébergée privée, ajoutez un enregistrement A pour votre identifiant d'API. Pointez l'enregistrement A vers les adresses IP du point de terminaison de VPC d'interface afin d’utiliser l'URL d'invocation execute-api par défaut de l'API REST privée.
Informations connexes
Invoquer une API privée
Contrôler et gérer l'accès aux API REST dans API Gateway
Comment accéder à une API privée API Gateway lorsque le point de terminaison d'un VPC utilise un DNS sur site ?
Pourquoi est-ce qu’une erreur « 403 Forbidden » s’affiche-t-elle lorsque je me connecte à mes API publiques API Gateway depuis un VPC ?