Ich setze einen sehr ressourcenintensiven Web Scraper ein. Um die Kosten zu optimieren, habe ich mich für die Verwendung von AWS Spot Instances entschieden. Da ich das Standardverhalten von IP-Adressen beim Umgang mit EC2-Instanzen kenne, war die erste Frage, die mir in den Sinn kam, ob es möglich ist, eine feste IP-Adresse beizubehalten, wenn Spots von AWS neu vergeben werden.
Es ist entscheidend, dies ohne menschliches Eingreifen tun zu können (das Ganze ist mit mehreren Gitlab-Pipelines verbunden).
Antwort1
Ihre öffentliche IP ändert sich, wenn eine Spot-Instanz ausgegeben wird. Die wichtigste Lösung hierfür ist die Verwendung einer elastischen IP. Sie können wahrscheinlich eine Lambda-Funktion schreiben, um die EIP der Instanz zuzuweisen, die durch ein EC2-Erstellungsereignis ausgelöst wurde. Für jede EIP, die nicht an eine laufende Instanz angehängt ist, werden Ihnen 0,005 USD pro Stunde (das sind 3,60 USD pro Monat) berechnet.
MLu hat ein NAT-Gateway vorgeschlagen, das funktionieren würde, aber 32 US-Dollar pro Monat kostet und zusätzlich 0,045 US-Dollar pro GB Daten, die durch das Gateway laufen, was teuer werden könnte. Eine On-Demand-NAT-Instanz mit einer elastischen IP könnte eine ähnliche Aufgabe ohne zusätzliche Kosten erfüllen, wenn sich die NAT-Instanz in derselben AZ befindet. Der Datenverkehr innerhalb einer AZ ist kostenlos, danach zahlen Sie nur die Standardtarife für AWS-Internetdatenverkehr. Das bedeutet, dass Sie letztendlich für eine zusätzliche Instanz bezahlen.
Antwort2
Legen Sie sie hinter eineNAT-Gateway– auf diese Weise verwenden sie extern die NAT-GW-IP-Adresse.