Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Déployez une API Amazon API Gateway sur un site Web interne à l'aide de points de terminaison privés et d'un Application Load Balancer
Créée par Saurabh Kothari (AWS)
Récapitulatif
Ce modèle vous montre comment déployer une API Amazon API Gateway sur un site Web interne accessible depuis un réseau sur site. Vous apprenez à créer un nom de domaine personnalisé pour une API privée en utilisant une architecture conçue avec des points de terminaison privés, un Application Load Balancer, PrivateLink AWS et Amazon Route 53. Cette architecture évite les conséquences imprévues de l'utilisation d'un nom de domaine personnalisé et d'un serveur proxy pour faciliter le routage basé sur le domaine sur une API. Par exemple, si vous déployez un point de terminaison de cloud privé virtuel (VPC) dans un sous-réseau non routable, votre réseau ne peut pas atteindre API Gateway. Une solution courante consiste à utiliser un nom de domaine personnalisé, puis à déployer l'API dans un sous-réseau routable, mais cela peut perturber d'autres sites internes lorsque la configuration du proxy transmet le trafic (execute-api.{region}.vpce.amazonaws.com
) à AWS Direct Connect. Enfin, ce modèle peut vous aider à répondre aux exigences organisationnelles relatives à l'utilisation d'une API privée inaccessible depuis Internet et d'un nom de domaine personnalisé.
Conditions préalables et limitations
Prérequis
Un compte AWS actif
Un certificat SNI (Server Name Indication) pour votre site Web et votre API
Une connexion depuis un environnement sur site vers un compte AWS configuré à l'aide d'AWS Direct Connect ou d'AWS VPN Site-to-Site
Une zone hébergée privée avec un domaine correspondant (par exemple, domain.com) qui est résolue à partir d'un réseau local et qui transmet les requêtes DNS à Route 53
Un sous-réseau privé routable accessible depuis un réseau local
Limites
Pour plus d'informations sur les quotas (anciennement appelés limites) pour les équilibreurs de charge, les règles et les autres ressources, consultez la section Quotas pour vos équilibreurs de charge d'application dans la documentation Elastic Load Balancing.
Architecture
Pile technologique
Amazon API Gateway
Amazon Route 53
Application Load Balancer
AWS Certificate Manager
AWS PrivateLink
Architecture cible
Le schéma suivant montre comment un Application Load Balancer est déployé dans un VPC qui dirige le trafic Web vers un groupe cible de sites Web ou un groupe cible d'API Gateway en fonction des règles d'écoute d'Application Load Balancer. Le groupe cible API Gateway est une liste d'adresses IP pour le point de terminaison VPC dans API Gateway. API Gateway est configuré pour rendre l'API privée avec sa politique de ressources. La politique refuse tous les appels qui ne proviennent pas d'un point de terminaison VPC spécifique. Les noms de domaine personnalisés dans API Gateway sont mis à jour pour utiliser api.domain.com pour l'API et sa phase. Les règles Application Load Balancer sont ajoutées pour acheminer le trafic en fonction du nom d'hôte.

Le schéma suivant illustre le flux de travail suivant :
Un utilisateur d'un réseau local tente d'accéder à un site Web interne. La demande est envoyée à ui.domain.com et api.domain.com. La demande est ensuite résolue vers l'Application Load Balancer interne du sous-réseau privé routable. Le SSL est résilié au niveau de l'Application Load Balancer pour ui.domain.com et api.domain.com.
Les règles du récepteur, configurées sur l'Application Load Balancer, vérifient la présence de l'en-tête de l'hôte.
a. Si l'en-tête de l'hôte est api.domain.com, la demande est transmise au groupe cible API Gateway. L'Application Load Balancer initie une nouvelle connexion à API Gateway via le port 443.
b. Si l'en-tête de l'hôte est ui.domain.com, la demande est transmise au groupe cible du site Web.
Lorsque la demande atteint API Gateway, le mappage de domaine personnalisé configuré dans API Gateway détermine le nom d'hôte et l'API à exécuter.
Automatisation et mise à l'échelle
Les étapes de ce modèle peuvent être automatisées à l'aide d'AWS CloudFormation ou de l'AWS Cloud Development Kit (AWS CDK). Pour configurer le groupe cible des appels d'API Gateway, vous devez utiliser une ressource personnalisée pour récupérer l'adresse IP du point de terminaison du VPC. Appels d'API vers describe-vpc-endpoints
Outils
Amazon API Gateway vous aide à créer, publier, gérer, surveiller et sécuriser REST, HTTP, et ce, WebSocket APIs à n'importe quelle échelle.
Amazon Route 53 est un service Web DNS hautement disponible et évolutif.
AWS Certificate Manager (ACM) vous aide à créer, stocker et renouveler les certificats et clés SSL/TLS X.509 publics et privés qui protègent vos sites Web et applications AWS.
AWS Cloud Development Kit (AWS CDK) est un framework de développement logiciel qui vous aide à définir et à provisionner l'infrastructure du cloud AWS sous forme de code.
AWS vous PrivateLink aide à créer des connexions privées unidirectionnelles VPCs à partir de vos services situés en dehors du VPC.
Épopées
Tâche | Description | Compétences requises |
---|---|---|
Créez un certificat SNI et importez-le dans ACM. |
| Administrateur réseau |
Tâche | Description | Compétences requises |
---|---|---|
Créez un point de terminaison VPC d'interface dans API Gateway. | Pour créer un point de terminaison VPC d'interface, suivez les instructions de la section Accéder à un service AWS à l'aide d'un point de terminaison VPC d'interface dans la documentation Amazon Virtual Private Cloud (Amazon VPC). | Administrateur du cloud |
Tâche | Description | Compétences requises |
---|---|---|
Créez un groupe cible pour votre application. | Créez un groupe cible pour les ressources d'interface utilisateur de votre application. | Administrateur du cloud |
Créez un groupe cible pour le point de terminaison API Gateway. |
| Administrateur du cloud |
Créez un Application Load Balancer. |
| Administrateur du cloud |
Créez des règles pour les auditeurs. | Créez des règles d'écoute pour effectuer les opérations suivantes :
| Administrateur du cloud |
Tâche | Description | Compétences requises |
---|---|---|
Créez une zone hébergée privée. | Créez une zone hébergée privée pour domain.com. | Administrateur du cloud |
Créez des enregistrements de domaine. | Créez des enregistrements CNAME pour les éléments suivants :
| Administrateur du cloud |
Tâche | Description | Compétences requises |
---|---|---|
Créez et configurez un point de terminaison d'API privé. |
| Développeur d'applications, administrateur cloud |
Créez un nom de domaine personnalisé. |
| Administrateur du cloud |