2017-03-20 1 views
1

J'ai quelques équilibreurs de charge élastiques. Je souhaite trouver dynamiquement les adresses IP publiques associées aux instances EC2 appartenant au groupe cible de l'ELB. J'avais l'habitude de pouvoir le faire avec la version précédente d'ELB, parce que l'identification d'instance serait énumérée avec chaque ELB. Maintenant, il semble qu'ils ne le sont pas. Tous les indices seraient géniaux!Trouver des instances EC2 appartenant à un groupe cible spécifique avec Boto3

Répondre

2

Comme répondu sur How to query AWS to get ELB names and attached instances to that using python boto3 modules?:

L'application Load Balancer a plusieurs groupes cibles. Les ports sur les instances sont enregistrés dans un groupe cible.

La seule commande qui semble à la liste des cas dans un groupe cible est describe_target_health(), qui renvoie le exemple et le port (parce qu'une instance peut servir plusieurs cibles):

{ 
    'TargetHealthDescriptions': [ 
     { 
      'Target': { 
       'Id': 'i-0f76fade', 
       'Port': 80, 
      }, 
      'TargetHealth': { 
       'Description': 'Given target group is not configured to receive traffic from ELB', 
       'Reason': 'Target.NotInUse', 
       'State': 'unused', 
      }, 
     }, 
     { 
      'HealthCheckPort': '80', 
      'Target': { 
       'Id': 'i-0f76fade', 
       'Port': 80, 
      }, 
      'TargetHealth': { 
       'State': 'healthy', 
      }, 
     }, 
    ], 
    'ResponseMetadata': { 
     '...': '...', 
    }, 
} 
0

Pour ceux qui sont toujours à la recherche de la solution, j'ai fait un script python pour le même, et le code est disponible sur github.