Tutorial: EC2-Flotte konfigurieren um Instance-Gewichtung zu verwenden - Amazon Elastic Compute Cloud

Tutorial: EC2-Flotte konfigurieren um Instance-Gewichtung zu verwenden

In dieser Anleitung wird ein fiktives Unternehmen mit dem Namen Example Corp verwendet, um das Anfordern einer EC2-Flotte mit Instance-Gewichtung zu veranschaulichen.

Ziel

Example Corp, ein Pharmaunternehmen, möchte die Rechenleistung von Amazon EC2 zum Prüfen chemischer Verbindungen nutzen, die im Kampf gegen Krebs eingesetzt werden könnten.

Planung

Example Corp macht sich zunächst mit den Bewährten Methoden für Spot vertraut. Als Nächstes ermittelt Example Corp die Anforderungen für die eigene EC2-Flotte.

Instance-Typen

Example Corp verfügt über eine rechen- und speicherintensive Anwendung, welche die beste Leistung bei mindestens 60 GB Speicher und mit mindestens acht virtuellen CPUs (vCPUs) aufweist. Das Unternehmen möchte diese Ressourcen für die Anwendung zum geringstmöglichen Preis maximieren. Example Corp entscheidet, dass die folgenden EC2-Instance-Typen die Anforderungen erfüllen würden:

Instance-Typ Arbeitsspeicher (GiB) vCPUs

r3.2xlarge

61

8

r3.4xlarge

122

16

r3.8xlarge

244

32

Zielkapazität in Einheiten

Bei der Instance-Gewichtung kann die Zielkapazität einer Anzahl von Instances (Standard) oder einer Kombination von Faktoren entsprechen, wie beispielsweise Kerne (vCPUs), Arbeitsspeicher (GiBs) und Speicher (GBs). Example Corp betrachtet die Basis für ihre Anwendung (60 GB RAM und acht vCPUs) als eine Einheit und entscheidet, dass ein 20-Faches dieser Menge ihre Anforderungen erfüllen würde. Also legt das Unternehmen für seine EC2-Flotte-Anfrage eine Zielkapazität von 20 fest.

Instance-Gewichtungen

Nach dem Festlegen der Zielkapazität berechnet Example Corp die Instance-Gewichtungen. Zum Berechnen der Instance-Gewichtungen der einzelnen Instance-Typen ermitteln sie die folgenden Einheiten der einzelnen Instance-Typen, die zum Erreichen der Zielkapazität erforderlich sind:

  • r3.2xlarge (61,0 GB, 8 vCPUs) = 1 Einheit von 20

  • r3.4xlarge (122,0 GB, 16 vCPUs) = 2 Einheiten von 20

  • r3.8xlarge (244,0 GB, 32 vCPUs) = 4 Einheiten von 20

Aus diesem Grund weist Example Corp die Instance-Gewichtungen 1, 2 und 4 den entsprechenden Startkonfigurationen in ihrer EC2-Flotte-Anfrage zu.

Preis pro Einheitsstunde

Example Corp verwendet den On-Demand-Preis pro Instance-Stunde als Startpunkt für den Preis. Es wäre auch möglich, frühere Spot-Preise oder eine Kombination aus beidem zu verwenden. Zum Berechnen des Preises pro Einheitsstunde teilen sie den Startpreis pro Instance-Stunde durch die Gewichtung. Beispiel:

Instance-Typ On-Demand-Preis Instance-Gewichtung Preis pro Einheitsstunde

r3.2xlarge

0,7 USD

1

0,7 USD

r3.4xLarge

$1.4

2

0,7 USD

r3.8xLarge

$2,8

4

0,7 USD

Example Corp könnte einen globalen Preis pro Einheitsstunde in Höhe von 0,7 USD angeben und für alle drei Instance-Typen wettbewerbsfähig sein. Sie könnten auch einen globalen Preis pro Einheitsstunde in Höhe von 0,7 USD und einen spezifischen Preis pro Einheitsstunde in Höhe von 0,9 USD in der r3.8xlarge-Startspezifikation verwenden.

Überprüfen der Berechtigungen

Vor dem Erstellen einer EC2-Flotte überprüft Example Corp, ob eine IAM-Rolle mit den erforderlichen Berechtigungen verfügbar ist. Weitere Informationen finden Sie unter EC2-Flotte-Voraussetzungen.

Erstellen einer Startvorlage

Als Nächstes erstellt Example Corp eine Startvorlage. Die Startvorlagen-ID wird im folgenden Schritt verwendet. Weitere Informationen finden Sie unter Eine Amazon-EC2-Startvorlage erstellen.

Erstellen der EC2-Flotte

Example Corp erstellt eine Datei mit dem Namen config.json und der folgenden Konfiguration für die EC2-Flotte: Ersetzen Sie im folgenden Beispiel die Ressourcenbezeichner durch Ihre eigenen Ressourcenbezeichner.

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-07b3bc7625cdab851", "Version": "1" }, "Overrides": [ { "InstanceType": "r3.2xlarge", "SubnetId": "subnet-482e4972", "WeightedCapacity": 1 }, { "InstanceType": "r3.4xlarge", "SubnetId": "subnet-482e4972", "WeightedCapacity": 2 }, { "InstanceType": "r3.8xlarge", "MaxPrice": "0.90", "SubnetId": "subnet-482e4972", "WeightedCapacity": 4 } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 20, "DefaultTargetCapacityType": "spot" } }

Example Corp erstellt die EC2-Flotte mit dem folgenden create-fleet-Befehl:

aws ec2 create-fleet --cli-input-json file://config.json

Weitere Informationen finden Sie unter Erstellen einer EC2-Flotte.

Bereitstellung

Die Zuweisungsstrategie legt fest, aus welchen Spot-Kapazitätspools Ihre Spot-Instances stammen.

Bei der lowest-price-Strategie (der Standardstrategie) stammen die Spot-Instances aus dem Pool mit dem niedrigsten Preis pro Einheit zum Zeitpunkt der Bereitstellung. Zum Bereitstellen von 20 Kapazitätseinheiten startet die EC2-Flotte entweder 20 r3.2xlarge-Instances (20 geteilt durch 1), 10 r3.4xlarge-Instances (20 geteilt durch 2) oder 5 r3.8xlarge-Instances (20 geteilt durch 4).

Würde Example Corp die diversified-Strategie verwenden, dann würden die Spot-Instances aus allen drei Pools stammen. Die EC2-Flotte würde 6 r3.2xlarge-Instances (die 6 Einheiten bereitstellen), 3 r3.4xlarge-Instances (die 6 Einheiten bereitstellen) und 2 r3.8xlarge-Instances (die 8 Einheiten bereitstellen) mit insgesamt 20 Einheiten starten.