1 votes

Comment attribuer une IP privée générée dynamiquement avec AWS Cloudformation ?

J'ai un AWS Cloudformation, et je veux deux instances EC2 A et B sur un sous-réseau privé sous le même VPC.
Dans l'application, j'ai besoin que A puisse accéder à B.
Comment puis-je configurer A avec l'IP privée allouée dynamiquement de B ?

Je crois que je peux configurer A avec une variable d'environnement (par exemple, avec aws:elasticbeanstalk:application:environment ).
Le problème est que je ne sais pas comment obtenir l'IP de B. Je suppose qu'il ne peut s'agir d'une IP élastique parce qu'elle est privée, et qu'elle peut donc être modifiée entre les déploiements.

5voto

strongjz Points 802

Vous utilisez les groupes de sécurité donc vous n'avez pas à vous soucier des adresses IP. Créez un groupe de sécurité pour l'instance du sous-réseau A et un autre pour l'instance du sous-réseau b, puis autorisez le trafic entre les groupes de sécurité. Toute instance du groupe sec A peut parler à une instance du groupe sec b sur le port que vous avez défini ou sur tout le trafic.

instanceA:
  Type: AWS::EC2::Instance
  Properties:
    ImageId: !Ref imageID
    SecurityGroupIds:
    - !Ref SGroupA
    SubnetId: !Ref subnetA
instanceB:
  Type: AWS::EC2::Instance
  Properties:
    ImageId: !Ref imageID
    SecurityGroupIds:
    - !Ref SGroupb
    SubnetId: !Ref subnetb
SGroupA:
  Type: AWS::EC2::SecurityGroup
  Properties:
    GroupDescription: EC2 Instance access
SGroupB:
  Type: AWS::EC2::SecurityGroup
  Properties:
    GroupDescription: EC2 Instance access
SGroupAIngress:
  Type: AWS::EC2::SecurityGroupIngress
  Properties:
    GroupName: !Ref SGroupA
    IpProtocol: tcp
    ToPort: 80
    FromPort: 80
    SourceSecurityGroupName: !Ref SGroupB
SGroupBIngress:
  Type: AWS::EC2::SecurityGroupIngress
  Properties:
    GroupName: !Ref SGroupB
    IpProtocol: tcp
    ToPort: 80
    FromPort: 80
    SourceSecurityGroupName: !Ref SGroupA

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-ec2.html

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X