Ich habe die Sicherheitsgruppe verwendet, weil ich den Zieldienst betrieben habe und die Anzahl der Personen begrenzen wollte, die ihn sehen konnten. Also habe ich versucht, Route 53-Gesundheitschecks für die synthetische Überwachung zu verwenden Wenn Sie jedoch die Anzahl der Personen begrenzen möchten, die während der Überwachung sehen können, benötigen Sie den IP-Bereich der Route 53-Integritätsprüfungen. Wenn Sie dies überprüfen, gibt es zwei Arten von Erfassungsmethoden, und jede hat eine leicht unterschiedliche IP, sodass sie gemeinsam genutzt wird.
Als ich den IP-Bereich der Amazon Route 53-Integritätsprüfungen überprüft habe, sind unten zwei Muster aufgeführt.
Der erste JSON ist die Methode, die anhand des von AWS verwalteten JSON von hier überprüft werden kann. Mit dem zweiten SDK können Sie die Reichweite des Route 53 SDK überprüfen. Dieses Mal werde ich Python verwenden
$ python --version
Python 3.6.8
$ pip list | grep boto3
boto3 1.13.9
>>> import requests
>>> ip_ranges = requests.get('https://ip-ranges.amazonaws.com/ip-ranges.json').json()['prefixes']
>>> route53_ips_json = [item['ip_prefix'] for item in ip_ranges if item["service"] == "ROUTE53_HEALTHCHECKS"]
>>> route53_ips_json
['54.252.254.192/26', '177.71.207.128/26', '54.255.254.192/26', '54.244.52.192/26', '54.251.31.128/26', '54.241.32.64/26', '54.245.168.0/26', '54.232.40.64/26', '54.248.220.0/26', '176.34.159.192/26', '54.252.79.128/26', '54.183.255.128/26', '54.250.253.192/26', '15.177.0.0/18', '54.228.16.0/26', '107.23.255.0/26', '54.243.31.192/26']
>>> len(route53_ips_json)
17
>>> import boto3
>>> client = boto3.client('route53')
>>> route53_ips_sdk = client.get_checker_ip_ranges()
>>> route53_ips_sdk['CheckerIpRanges']
['15.177.2.0/23', '15.177.6.0/23', '15.177.10.0/23', '15.177.14.0/23', '15.177.18.0/23', '15.177.22.0/23', '15.177.26.0/23', '15.177.30.0/23', '15.177.34.0/23', '15.177.38.0/23', '15.177.42.0/23', '15.177.46.0/23', '15.177.50.0/23', '15.177.54.0/23', '15.177.58.0/23', '15.177.62.0/23', '54.183.255.128/26', '54.228.16.0/26', '54.232.40.64/26', '54.241.32.64/26', '54.243.31.192/26', '54.244.52.192/26', '54.245.168.0/26', '54.248.220.0/26', '54.250.253.192/26', '54.251.31.128/26', '54.252.79.128/26', '54.252.254.192/26', '54.255.254.192/26', '107.23.255.0/26', '176.34.159.192/26', '177.71.207.128/26']
>>> len(route53_ips_sdk['CheckerIpRanges'])
32
Wie oben erwähnt, sind die Längen der Arrays unterschiedlich, sodass keine Übereinstimmung gefunden wurde. Was also anders ist, ist wie folgt
>>> set(route53_ips_json) - set(route53_ips_sdk['CheckerIpRanges'])
{'15.177.0.0/18'}
>>> set(route53_ips_sdk['CheckerIpRanges']) - set(route53_ips_json)
{'15.177.18.0/23', '15.177.2.0/23', '15.177.42.0/23', '15.177.50.0/23', '15.177.34.0/23', '15.177.54.0/23', '15.177.10.0/23', '15.177.6.0/23', '15.177.26.0/23', '15.177.14.0/23', '15.177.46.0/23', '15.177.58.0/23', '15.177.38.0/23', '15.177.62.0/23', '15.177.22.0/23', '15.177.30.0/23'}
Mit anderen Worten, es war anders, ob es in 15.177.0.0/18 zusammengefasst wurde.
Der IP-Bereich der Route 53-Integritätsprüfungen war je nach Erfassungsmethode unterschiedlich Die Methode zur Erfassung mit json hatte einen großen IP-Bereich, und das SDK befand sich in einem Zustand, in dem es in kleine Stücke geschnitten wurde. Um ehrlich zu sein, ist es zweifelhaft, welches richtig ist, aber ich persönlich möchte die Wartung der Sicherheitsgruppe reduzieren, also Ich dachte, es wäre besser, einen großen Json zu nehmen
Recommended Posts