Mit der Standard- oder Advanced-Lizenz verfügbar.
Das Erstellen eines ArcGIS-Karten-Cache oder ArcGIS-Image-Service-Cache in den Amazon Elastic Compute Cloud (EC2)-Instanzen weist die folgenden Unterschiede zum Caching außerhalb der Cloud auf:
- Ihnen stehen eine Reihe unterschiedlicher Instanzgrößen und Preise zur Verfügung.
- Sie können der EC2-Instanz Volumes hinzufügen, auf denen Sie den Cache speichern können.
In den folgenden Abschnitten 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 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 in der Cloud cachen und müssen sich nicht auf eine relativ kostspielige Instanz festlegen, sondern diese nur so lange wie nötig verwenden.
Sie müssen abwägen, ob Sie möglichst wirtschaftlich oder möglichst schnell vorgehen möchten. 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 wird angezeigt, wenn Sie in Amazon Web Services (AWS) Management Console den Instanztyp 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, EC2 Auto Scaling-Trigger einzurichten, die die Anzahl der am Cache arbeitenden EC2-Instanzen mit steigender CPU-Auslastung erhöhen. Auto Scaling eignet sich jedoch besser für die Verarbeitung unerwarteter Änderungen beim Datenverkehr. Statt Auto Scaling zu verwenden, sollten Sie vor dem Erstellen des Cache alle EC2-Instanzen starten, die Sie benötigen. So brauchen Sie nicht warten, bis die Instanzen nacheinander gestartet werden, wie es bei Verwendung von Auto Scaling der Fall wäre.
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 Amazon Simple Storage Service (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.
Um Karten- und Bild-Caches in einem S3-Bucket zu speichern, 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 Amazon Elastic Compute Cloud (EC2) 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 AWS Identity and Access Management (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 ein Cache-Schema erstellen, es im S3-Bucket unterbringen und gecachte Karten- oder Image-Services mithilfe des Cache im S3-Bucket veröffentlichen. Sie können in S3 auch 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
- Aktiveren des bedarfsgesteuerten Cache