La passerelle Internet AWS VPC et les services AWS

Est-ce que je fais quelque chose de mal ou les instances de l'AWS VPC ec2 ne sont-elles pas en mesure d'accéder à l'un des services gérés par AWS (s3 / sns / sqs) sans passer à la passerelle Internet dans le tableau de route?

On m'a dit ici la table d'routes par défaut Aws vpc dans CloudFormation selon laquelle AWS VPC par défaut routetable n'a pas d'itinéraire public par défaut afin qu'il puisse "protéger" le VPC.

Mais si je ne peux pas accéder aux services AWS sans une route publique … Cela ne fait que vaincre le but car je serais pratiquement en train d'append un itinéraire public à tous les routes?

Est-ce que je fais quelque chose de mal ou les instances de l'AWS VPC ec2 ne sont-elles pas en mesure d'accéder à l'un des services gérés par AWS (s3 / sns / sqs) sans passer à la passerelle Internet dans le tableau de route?

C'est correct. Si vous devez utiliser ces services, vos instances auront besoin d'EIP ou d'IP publiques ou vous aurez besoin d'un hôte NAT dans votre VPC. Un VPC est vraiment privé, et il fonctionne de la même manière qu'un réseau d'entreprise bien entretenu: ne permet que le trafic que vous autorisez explicitement.

Il convient de noter: les services gérés tels que RDS, Elasticache, Redshift, etc., peuvent en effet fonctionner dans votre VPC.

AWS récemment (mai 2015) a ajouté une prise en charge des points d'extrémité VPC pour S3, ce qui vous permet d'utiliser S3 au less sans access public à Internet.

  • Nouveau – VPC Endpoint pour Amazon S3 (AWS Blog)
  • AWS VPC User Guide: Points de terminaison VPC

AWS indique dans le guide de l'user qu'ils appendont des points d'extrémité VPC pour plus de services dans le futur.

VPC avec les sous-réseaux publics et privés (NAT)

La configuration de ce scénario comprend un nuage privé virtuel (VPC) avec un sous-réseau public et un sous-réseau privé. Nous recommandons ce scénario si vous souhaitez exécuter une application Web publique, tout en maintenant les servers back-end qui ne sont pas accessibles au public. Un exemple commun est un site Web multi-niveaux, avec les servers Web dans un sous-réseau public et les servers de database dans un sous-réseau privé. Vous pouvez configurer la security et le routing afin que les servers Web puissent communiquer avec les servers de database.

Les instances du sous-réseau public peuvent recevoir un trafic entrant directement à partir d'Internet, alors que les instances du sous-réseau privé ne peuvent pas. Les instances du sous-réseau public peuvent envoyer directement du trafic vers l'Internet, alors que les instances du sous-réseau privé ne peuvent pas. Au lieu de cela, les instances du sous-réseau privé peuvent accéder à Internet en utilisant une passerelle de traduction d'adresse réseau (NAT) qui réside dans le sous-réseau public. Les servers de database peuvent se connecter à Internet pour des mises à jour logicielles à l'aide de la passerelle NAT, mais Internet ne peut pas lancer de connection aux servers de la database.

Remarque

Vous pouvez également utiliser l'assistant VPC pour configurer un VPC avec une instance NAT; cependant, nous vous recommandons d'utiliser une passerelle NAT. Pour plus d'informations, voir passerelles NAT.

Habituellement, la fonction Lambda ne peut pas accéder aux réseaux privés à l'intérieur des VPC. Mais ils peuvent être configurés ont access au réseau privé. Définir les fonctions Lambda pour pouvoir accéder à un VPC privé

Ensuite, avec la méthode suivante, vous pouvez utiliser Lambda comme proxy pour tout ce qui se trouve dans le réseau privé. De cette façon, vous n'avez pas besoin de fournir un access public à vos ressources. Vous générez une passerelle API publique et grâce aux proxies Lambda vous permet d'accéder aux ressources privées internes.

Définir Lambda en tant que proxy de passerelle API

Il est également important de se callbacker que même si vous avez un réseau public avec une passerelle publique, vous limitez le trafic à chacune de vos ressources en utilisant les groupes de security et les ACL du réseau. Donc vous finissez avec le less avec une configuration qui est assez contrôlée.