2017-03-20 2 views
1

Ich habe ein paar Elastische Load Balancer. Ich möchte dynamisch die öffentlichen IP-Adressen finden, die mit den EC2-Instanzen verknüpft sind, die zur ELB-Zielgruppe gehören. Ich konnte es mit der vorherigen Version von ELB tun, weil die Instanz-IDs mit jedem ELB aufgelistet würden. Nun, so scheint es, sind sie nicht. Irgendwelche Hinweise wären großartig!Finde EC2 Instanzen, die zu einer bestimmten Zielgruppe gehören mit Boto3

Antwort

2

Da antwortete auf How to query AWS to get ELB names and attached instances to that using python boto3 modules?:

Der Application Load Balancer mehrere Zielgruppen hat. Ports für Instanzen werden für eine Zielgruppe registriert.

Der einzige Befehl, der Instanzen in einer Zielgruppe zur Liste erscheint, ist describe_target_health(), die die Instanz zurückgibt und Port (weil eine Instanz mehrere Ziele dienen kann):

{ 
    '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

Für alle, die sind immer noch auf der Suche nach der Lösung, habe ich ein Python-Skript für die gleiche gemacht, und der Code ist verfügbar unter github.

Verwandte Themen