Das Erstellen von ArcGIS-Karten- oder -Image-Service-Caches in der Amazon Elastic Compute Cloud (EC2) unterscheidet sich wie folgt vom Caching außerhalb der Cloud:
- Ihnen stehen eine Reihe unterschiedlicher Instanzgrößen und Preise zur Verfügung.
- Sie können der Instanz Datenträger hinzufügen, auf denen Sie den Cache speichern können.
In diesem Thema werden die oben aufgeführten Faktoren näher erläutert.
Auswählen von Instanzgrößen und Preisen
Amazon EC2 bietet eine Reihe von Instanzgrößen und -spezifikationen. Für deren Nutzung fällt im Einzelnen ein bestimmter Preis pro Stunde an. Größere Instanzen, insbesondere solche mit viel Arbeitsspeicher, können Kacheln sehr schnell erstellen. Kleinere Instanzen erstellen Kacheln langsamer, verursachen jedoch geringere Kosten.
Sie können den Cache in einem angefügten Amazon Elastic Block Store-Volume (EBS) mit einer leistungsstarken Instanz erstellen. Nach Abschluss des Caching können Sie das EBS-Volume trennen und an die reguläre Instanz anfügen (die kleiner und kostengünstiger sein kann). Die leistungsstarke Instanz, die Sie zum Caching verwendet haben, kann dann beendet werden. Auf diese Weise können Sie die Leistung der Cloud zum Cachen nutzen und müssen sich nicht auf eine relativ kostspielige Instanz festlegen, sondern diese nur so lange wie nötig verwenden.
Ihre Entscheidung ist möglicherweise ein Kompromiss zwischen Wirtschaftlichkeit und Geschwindigkeit. Die Verwendung einer weniger leistungsfähigen Instanz mit niedrigeren Kosten pro Stunde ist nicht immer die wirtschaftlichste Wahl, da die Gesamtkosten des Cache von der Anzahl der für die Kachelerstellung aufgewendeten Stunden abhängt. Andererseits können sehr leistungsfähige Instanzen ebenfalls höhere Gesamtkosten verursachen: auch wenn das Caching weniger Stunden in Anspruch nimmt, bezahlen Sie einen höheren Preis pro Stunde.
Mit einem kleinen Test-Cache (eventuell die Größe einer mittelgroßen Stadt) und einem benutzerdefinierten Amazon Machine Image (AMI) bzw. einer benutzerdefinierten Site-Vorlage können Sie unterschiedliche Instanztypen relativ kostengünstig testen, um zu ermitteln, welcher für Ihren Cache am wirtschaftlichsten ist.
Leistungsfähige EC2-Instanztypen sind gut für geplante Cache-Aktualisierungen geeignet, da viele Aktualisierungs-Workflows sehr zeitkritisch sind.
Auswählen der Anzahl der beim Cachen zu verwendenden Kartenservice-Instanzen
Jede EC2-Instanz verfügt über eine bestimmte Anzahl von virtuellen CPU-Kernen. Diese Anzahl ist sichtbar, wenn Sie den Instanztyp in der Amazon Web Services Management Console auswählen. Anhand der Anzahl der Kerne können Sie bestimmen, wie viele Instanzen des CachingTools-Geoverarbeitungsservice für das Caching vorgesehen werden müssen. Wenn zu viele Service-Instanzen verwendet werden, sind die CPUs überlastet, während bei Verwendung von zu wenigen Service-Instanzen die CPUs unausgelastet sind.
Obgleich die optimale Anzahl durch Ausprobieren ermittelt werden kann, ist es ein guter Ausgangspunkt, maximal n+1 Instanzen des CachingTools-Service zuzulassen, wobei "n" für die Anzahl der virtuellen Kerne auf einer EC2-Instanz Ihrer Site steht.
Automatische Skalierung
Wenn Sie einen großen Cache erstellen, versuchen Sie möglicherweise, Trigger für die automatische Skalierung einzurichten, die die Anzahl der am Cache arbeitenden EC2-Instanzen mit steigender CPU-Auslastung automatisch erhöhen. Die automatische Skalierung ist jedoch für die Verarbeitung unerwarteter Änderungen beim Datenverkehr besser geeignet. Da für die Erstellung von Caches eine hohe Rechenperformance benötigt wird, ist es sinnvoller, alle erforderlichen Instanzen zu starten, bevor Sie den Cache erstellen, anstatt zu warten, bis sie nacheinander über Trigger für automatische Skalierung gestartet werden.
Festlegen der Platzierung des Cache
Wie unter Strategien für den Datentransfer zu Amazon Web Services beschrieben, stehen mehrere Speichertypen zum Ablegen der Daten zur Verfügung. Wenn Sie den Cache erstellen, können Sie ihn in ein an die EC2-Instanz angefügtes EBS-Volume oder in einen S3-Bucket schreiben.
Wird der Cache auf dem EBS-Volume erstellt, muss eine ausreichende Größe sichergestellt sein. Wenn das Volume zu klein ist, können Sie es durch ein größeres Volume ersetzen, das Sie aus einem Snapshot des vorhandenen Datenvolumes erstellen, und auf diesem ein Server-Cache-Verzeichnis registrieren. Erstellen Sie keinen Cache auf Laufwerk C oder im Stammverzeichnis der EC2-Instanz. Sollte die Instanz beendet werden, geht der Cache verloren.
Wenn Sie Karten- und Bild-Caches in einem S3-Bucket speichern möchten, führen Sie die folgenden Schritte aus:
- Erstellen Sie einen Amazon S3-Bucket in derselben Region wie die ArcGIS Server-Site unter AWS.
- Erstellen Sie einen Ordner im S3-Bucket. Geben Sie dem Ordner den Namen arcgiscache.
- Melden Sie sich bei ArcGIS Server Manager für die Site unter AWS an, auf der Sie gecachte Karten- oder Image-Services veröffentlichen möchten, und registrieren Sie den S3-Bucket als Cloud-Speicher und Cache-Verzeichnis.
Für die Registrierung des Cloud-Speichers können Sie als Anmeldeinformation eine IAM-Rolle oder den Zugriffsschlüssel verwenden.
Verwenden Sie beim Registrieren des Cloud-Speichers in den Feldern S3-Bucket-Name oder Ordner nicht den Ordnernamen (arcgiscache).
Stellen Sie sicher, dass das ArcGIS Server-Konto Lese- und Schreibzugriff auf den Bucket mithilfe des Zugriffsschlüssels oder der IAM-Rolle hat, den bzw. die Sie angeben.
Nachdem Sie den Cloud-Speicher registriert haben, können Sie gecachte Karten- oder Image-Services über den S3-Bucket veröffentlichen. In S3 können Sie ein Cache-Schema erstellen, Cache-Kacheln aktualisieren und Cache-Kacheln löschen.
Überlegungen zum Caching in S3
Folgende Funktionen werden nicht unterstützt, wenn sich der Cache in S3 befindet:
- Das Geoverarbeitungswerkzeug Cache-Status für Kartenserver verwalten
- Das Geoverarbeitungswerkzeug Speicherformat des Karten-Cache konvertieren
- Das Geoverarbeitungswerkzeug Speicherformat des Kartenserver-Cache aktualisieren
- Aktiveren des bedarfsgesteuerten Cache