Die Esri Amazon Web Services (AWS) CloudFormation-Vorlage arcgis-notebook-server-ha.template.json erstellt eine ArcGIS Notebook Server-Site auf mehreren Linux Amazon Elastic Compute Cloud (EC2)-Instanzen, um eine Bereitstellung mit hoher Verfügbarkeit zu implementieren.
Die EC2-Instanzen werden in einer AWS Auto Scaling-Gruppe bereitgestellt. Dies bietet zusätzliche Vorteile, wie zum Beispiel Kapazitätsplanung basierend auf bestimmten Kriterien, bessere Fehlertoleranz, bessere Verfügbarkeit und besseres Kostenmanagement.
ArcGIS Notebook Server-Sites auf AWS werden nur auf Linux-Instanzen unterstützt.
Eine Liste mit bestimmten Betriebssystemversionen finden Sie unter Bei Verwendung von CloudFormation zur Bereitstellung von ArcGIS auf AWS unterstützte Betriebssysteme.
Mit dieser Vorlage wird die folgende Architektur in Amazon Web Services erstellt:
Lizenz:
Die Verwendung einiger Symbole im Diagramm wurde durch Amazon Web Services genehmigt.
Voraussetzungen
Die Voraussetzungen können nach den Elementen (zum Beispiel Dateien und Konten), die Sie abrufen müssen, und den Tasks, die Sie ausführen müssen, bevor die CloudFormation-Vorlage ausgeführt wird, gruppiert werden.
Erforderliche Elemente
Bevor diese Vorlage ausgeführt wird, benötigen Sie die folgenden Elemente:
- Ein Amazon Web Services-Konto.
Das Konto muss Zugriff auf AWS-Basisservices haben, wie zum Beispiel CloudFormation, Amazon Elastic Compute Cloud (EC2), Amazon Virtual Private Cloud (VPC), Amazon Simple Storage Service (S3), Systems Manager, Amazon CloudWatch, Lambda, AWS Identity and Access Management (IAM), Amazon DynamoDB, Secrets Manager, AWS Certificate Manager und Amazon Relational Database Service (RDS).
- Eine ArcGIS Notebook Server-Lizenzdatei (.ecp oder .prvc).
- Eine SSL-Zertifikatdatei (im .pfx-Format) mit entsprechendem Kennwort.
Das Zertifikat muss von einer Zertifizierungsstelle stammen.
- Wenn Sie eine Bereitstellung auf Ubuntu EC2-Instanzen in AWS GovCloud erstellen, dann benötigen Sie eine AMI-ID. Wenn Sie die kanonische Basis-Ubuntu-AMI verwenden möchten, dann befolgen Sie die Anweisungen unter Esri Amazon Web Services CloudFormation-Vorlagen, um die ID zu ermitteln.
- Eine Amazon Virtual Private Cloud (VPC) und Subnetze.
Alle Komponenten in derselben ArcGIS Enterprise-Bereitstellung müssen in derselben VPC ausgeführt werden. Wenn Ihr Portal vorhanden ist, dann verwenden Sie dieselbe VPC und die Subnetze, die Sie für das Portal verwendet haben. Wenn Sie noch kein Portal erstellt haben und keine vorhandene VPC verwenden können, dann können Sie eine der folgenden CloudFormation-Vorlagen verwenden, um eine VPC zu erstellen: VPC mit zwei öffentlichen Subnetzen oder VPC mit zwei öffentlichen und privaten Subnetzen mit einem NAT-Gateway.
- Die CloudFormation-Vorlage arcgis-notebook-server-ha.template.json.
Erforderliche Tasks
Bevor diese Vorlage ausgeführt wird, müssen Sie die folgenden Schritte durchführen:
- Bereiten Sie einen Amazon Simple Storage Service (S3)-Bereitstellungs-Bucket im AWS-Konto vor. Geben Sie den Bucket-Namen in der Vorlage an, wenn Sie den Stack starten.
- Erstellen Sie einen Bucket oder verwenden Sie einen vorhandenen S3-Bucket. Sie müssen der Besitzer des Bucket sein.
- Laden Sie die ArcGIS Notebook Server-Autorisierungsdatei an den Bucket hoch.
- Laden Sie die SSL-Zertifikatdatei an den Bucket hoch.
- Konfigurieren Sie Kennwörter in AWS Secrets Manager (optional, aber empfohlen).
Die Kennwörter für Konten, wie zum Beispiel den Benutzernamen des Site-Administrators und das Windows-Kennwort für den arcgis-Benutzer, können Sie in AWS Secrets Manager konfigurieren. Damit wird Ihnen ein geheimer Amazon-Ressourcenname (ARN) bereitgestellt. Verwenden Sie den ARN anstelle eines Kennworts in den Vorlagenparametern, wenn Sie einen Stack starten. Wenn Sie AWS Secrets Manager nicht zum Speichern von Kennwörtern verwenden, dann müssen Sie in den Vorlagenparametern die Kennwörter in Klartext eingeben, wenn Sie den Stack starten.
Hinweis:
Beim Erstellen eines geheimen ARN in AWS Secrets Manager für ein Kennwort zur Verwendung mit Esri CloudFormation-Vorlagen müssen Sie Other types of secrets als Secret-Typ und die Option Plaintext verwenden. Weitere Informationen zum Erstellen eines Amazon-Ressourcennamens für Kennwörter finden Sie unter AWS CloudFormation und ArcGIS.
- Konfigurieren Sie ein Domain Name System (DNS).
Sie müssen einen vollständig qualifizierten Domänennamen für die ArcGIS Notebook Server-Site verwenden. Dieser Domänenname muss vorhanden sein, bevor Sie diesen Stack starten, und muss auflösbar sein. Wenn Sie unsicher sind, wie ein vollständig qualifizierter Domänenname angefordert und ein DNS konfiguriert wird, dann wenden Sie sich an Ihre IT-Abteilung.
Wenn Sie einen Elastic Load Balancer (ELB) in Ihrer ArcGIS Notebook Server-Bereitstellung verwenden (optional), dann müssen Sie den ELB erstellen, bevor Sie die ArcGIS Notebook Server-Site erstellen. Es werden nur Application Load Balancer unterstützt. Um ihn zu erstellen, können Sie die Vorlage für einen Application Load Balancer verwenden.
- Wenn Sie die Bereitstellung auf einer Red Hat Enterprise Linux Server EC2-Instanz vorgenommen haben, müssen Sie Docker installieren und konfigurieren. Eine entsprechende Anleitung finden Sie in den Installationsanweisungen für ArcGIS Notebook Server Linux.
Tipp:
Standardmäßig löscht CloudFormation bei einer fehlgeschlagenen Stack-Erstellung die teilweise erstellten Ressourcen. Dies ist hilfreich, da dabei in Ihrem Konto unbrauchbare Bereitstellungen entfernt werden, kann aber auch die Problembehandlung erschweren. Wenn der Stack in seinem fehlerhaften Zustand erhalten bleiben soll, dann deaktivieren Sie die Option Rollback bei Fehler für die Erstellung eines CloudFormation-Stacks, bevor Sie den Stack starten. Weitere Informationen finden Sie unter Festlegen von AWS CloudFormation-Optionen in der AWS-Hilfe.
Parameter
Die folgenden Tabellen enthalten Beschreibungen der Parameter, die in dieser CloudFormation-Vorlage verwendet werden. Die Tabellen sind nach Parametertyp gruppiert.
Amazon EC2 Configuration
Parametername | Erforderlich/nicht erforderlich | Parameterbeschreibung |
---|---|---|
EC2 Instance AMI ID | Optional | Diesen Parameterwert können Sie leer lassen. In diesem Fall verwendet die CloudFormation-Vorlage die aktuelle Amazon Machine Image (AMI)-ID für Ubuntu Server 20.0.4 LTS. Hinweis:Wenn Sie in AWS GovCloud auf einer Linux-Plattform bereitstellen, dann dürfen Sie diesen Parameter nicht leer lassen. Anweisungen zur Suche nach der ID für das Basis-Ubuntu AMI von Canonical finden Sie in den Esri Amazon Web Services CloudFormation-Vorlagen. Wenn Sie die Bereitstellung auf einem anderen unterstützten Linux-Betriebssystem als Ubuntu durchführen, können Sie die AMI-ID mithilfe der AWS Management Console finden. Um ein eigenes benutzerdefiniertes AMI zu verwenden, geben Sie die AMI-ID mit einer der folgenden Methoden ein:
Wenn Sie ein benutzerdefiniertes AMI verwenden, dann stellen Sie sicher, dass es die folgenden Anforderungen erfüllt:
|
EC2 Instance Keypair Name | Erforderlich | Wählen Sie den Namen eines EC2-Schlüsselpaars für den Remotezugriff auf EC2-Instanzen aus. |
Amazon VPC Configuration
Parametername | Erforderlich/nicht erforderlich | Parameterbeschreibung |
---|---|---|
VPC ID | Erforderlich | Wählen Sie eine VPC-ID aus. Hinweis:Alle ArcGIS Enterprise-Komponenten in derselben Bereitstellung müssen in derselben VPC bereitgestellt werden. Wenn Sie eine VPC erstellen müssen, dann können Sie eine der VPC-Beispielvorlagen verwenden: VPC mit öffentlichen Subnetzen oder VPC mit öffentlichen und privaten Subnetzen und einem NAT-Gateway. |
Subnet ID 1 | Erforderlich | Wählen Sie eine Subnetz-ID aus. Die Subnetz-ID, die Sie auswählen, muss in der VPC liegen, die Sie oben ausgewählt haben. Wenn Sie eine Esri CloudFormation-Vorlage zum Erstellen der VPC verwendet haben, dann können Sie die Subnetz-ID aus den Ausgabeparametern dieser Vorlage abrufen. |
Subnet ID 2 | Erforderlich | Wählen Sie eine zweite Subnetz-ID aus. Dies muss eine andere Subnetz-ID als die für den Parameter der Subnetz-ID 1 sein. Die Subnetz-ID, die Sie auswählen, muss in der VPC liegen, die Sie für diese Bereitstellung angegeben haben. Wenn Sie eine Esri CloudFormation-Vorlage zum Erstellen der VPC verwendet haben, dann können Sie die Subnetz-ID aus den Ausgabeparametern dieser Vorlage abrufen. |
Domain Name System (DNS) Configuration
Parametername | Erforderlich/nicht erforderlich | Parameterbeschreibung |
---|---|---|
ArcGIS Notebook Server Site Domain Name | Erforderlich | Geben Sie den vollständig qualifizierten Domänennamen für die ArcGIS Notebook Server-Site an. Dieser Domänenname muss vorhanden und auflösbar sein. Wenn Sie nicht sicher sind, welchen Domänennamen Sie verwenden müssen, dann wenden Sie sich an Ihren IT-Administrator. |
Elastic Load Balancer DNS Name | Optional | Wenn ein ELB mit der Site verwendet werden soll, dann geben Sie den DNS-Namen für eine Anwendung oder einen ELB an. Dies muss ein vorhandener ELB sein. Wenn Sie keinen ELB verwenden oder ihn später selbst konfigurieren möchten, dann lassen Sie diesen Parameterwert leer. Den ELB-DNS-Namen können Sie abrufen, indem Sie zum Abschnitt Load Balancers des Amazon EC2-Service in der AWS Management Console navigieren. Wenn Sie jedoch eine Esri CloudFormation-Vorlage zum Erstellen des ELB verwendet haben, dann können Sie ihn aus den Ausgabeparametern dieser Vorlage abrufen. Gültige ELB-DNS-Namen müssen mit .elb.amazonaws.com enden. |
ArcGIS Notebook Server Configuration
Parametername | Erforderlich/nicht erforderlich | Parameterbeschreibung |
---|---|---|
EC2 Instance Type | Erforderlich | Geben Sie einen EC2-Instanztyp an. Die Standardeinstellung ist "m5.2xlarge". Dies ist der Instanztyp, der für die ArcGIS Notebook Server-Computer verwendet werden soll. Die EC2-Instanzen werden in einer AWS Auto Scaling-Gruppe konfiguriert. Diese Instanzen verbinden die ArcGIS Notebook Server-Site über den Zugriff auf den ArcGIS Notebook Server-Konfigurationsspeicher. |
EC2 Instance Root Drive Disk Space | Erforderlich | Dies ist die Größe des Festplattenspeichers auf dem Stammlaufwerk für die ArcGIS Notebook Server EC2-Instanzen. Geben Sie die Größe des Stammlaufwerks in GB an. Der Standardwert ist 100 GB. Das Minimum ist 100 GB. Das Maximum ist 1024 GB. |
Number of EC2 Instances | Erforderlich | Geben Sie die Anzahl der EC2-Instanzen an, die an der Site beteiligt sind. Die Standardeinstellung ist 2. Das Maximum ist 10. Das Minimum ist 1. Die EC2-Instanzen werden in einer AWS Auto Scaling-Gruppe konfiguriert. Weitere Informationen zum Anpassen der Größe einer Auto Scaling-Gruppe finden Sie unten im Abschnitt Überlegungen. |
Deployment Bucket Name | Erforderlich | Geben Sie den Namen des Amazon S3-Bucket an, in dem Ihre Softwarelizenzdateien und SSL-Zertifikate enthalten sind. Dieser Bucket muss bereits vorhanden sein und die Lizenzdatei und das SSL-Zertifikat für Ihre Bereitstellung enthalten. Sie müssen der Besitzer des Bucket sein, und er muss sich in demselben AWS-Konto wie Ihre Bereitstellung befinden. |
License File Name | Erforderlich | Geben Sie den Objektschlüsselnamen der ArcGIS Notebook Server-Autorisierungsdatei an. Bevor Sie diesen Stack starten, müssen Sie die Lizenzdatei (.ecp- oder .prvc-Datei) in den Bucket der Bereitstellung hochladen. Den Objektschlüsselnamen der Datei können Sie abrufen, indem Sie zur Datei im Bucket der Bereitstellung in der Amazon S3-Konsole navigieren. Beispiele sind notebook.prvc oder resources/licenses/server/notebook.prvc. Bei den Namen von Lizenzdateien wird die Groß-/Kleinschreibung beachtet. Achten Sie darauf, dass Sie den Namen richtig eingeben. |
License Level | Erforderlich | Wählen Sie die ArcGIS Notebook Server-Lizenzstufe aus. Die folgenden Optionen sind verfügbar:
|
Site Administrator User Name | Erforderlich | Geben Sie einen Benutzernamen für den primären Site-Administrator der ArcGIS Notebook Server-Site an. Dieser Name muss aus mindestens 6 alphanumerischen Zeichen oder Unterstrichen bestehen und mit einem Buchstaben beginnen. |
Site Administrator User Password | Erforderlich | Geben Sie ein Kennwort für den primären Site-Administrator für die ArcGIS Notebook Server-Site an. Sie können entweder ein Kennwort in Klartext oder den ARN Ihrer Secret-ID in AWS Secrets Manager eingeben. Weitere Informationen zum Erstellen eines Amazon-Ressourcennamens für Kennwörter finden Sie unter AWS CloudFormation und ArcGIS. Das Kennwort muss aus mindestens 8 alphanumerischen Zeichen bestehen und darf ebenfalls Punkte (.) enthalten. Das Kennwort darf keine anderen Sonderzeichen oder Leerzeichen enthalten. |
Configuration Store Type | Erforderlich | Wählen Sie den Typ des ArcGIS Notebook Server-Konfigurationsspeichers aus. Die Standardeinstellung ist FileSystem.
Hinweis:Auch wenn Sie CloudStore auswählen, wird ein separater Dateiserver zum Hosten der freigegebenen ArcGIS Notebook Server-Verzeichnisse erstellt. |
Web Adaptor Name | Erforderlich | Geben Sie einen Namen des Web Adaptor für die ArcGIS Notebook Server-Site ein. Der Zugriff auf die ArcGIS Notebook Server-Site erfolgt dann über eine URL im Format https://<fully qualified domain name>/<web adaptor name>. Dieser Name muss mit einem Buchstaben beginnen und darf nur alphanumerische Zeichen enthalten. |
SSL Certificate File Name | Erforderlich | Geben Sie ein SSL-Zertifikat von einer Zertifizierungsstelle an (.pfx-Datei). Bevor Sie diesen Stack starten, müssen Sie das Zertifikat in den Bucket der Bereitstellung hochladen. Den Objektschlüsselnamen der Datei können Sie abrufen, indem Sie zur Datei im Bucket der Bereitstellung in der AWS S3-Konsole navigieren, zum Beispiel domainname.pfx oder resources/sslcerts/domainname.pfx. |
SSL Certificate Password | Erforderlich | Geben Sie dass Kennwort für das SSL-Zertifikat an. Sie können entweder ein Kennwort in Klartext oder den ARN Ihrer Secret-ID in AWS Secrets Manager eingeben. Informationen zum Erstellen eines Amazon-Ressourcennamens für Kennwörter finden Sie unter AWS CloudFormation und ArcGIS. |
Ausgaben
Wenn Ihr Stack erfolgreich erstellt wurde, werden die folgenden Ausgabeparameter auf der Registerkarte Outputs des CloudFormation-Stacks in AWS Management Console angezeigt.
Ausgabename | Ausgabebeschreibung |
---|---|
DeploymentLogsURL | Dies ist die URL für die Amazon CloudWatch-Protokolle, in der alle Bereitstellungsprotokolle gespeichert werden. In diesen Protokollen finden Sie Informationen zur Problembehebung, wenn Ihre Bereitstellung fehlgeschlagen ist. |
ServerAdminURL | Die URL des ArcGIS Notebook Server-Administratorverzeichnisses. |
ServerServicesURL | Die ArcGIS Notebook Server-Services-URL. Diese URL können Sie als Eingabeparameter in der Vorlage zum Verbinden eines Servers verwenden. |
StopStackFunctionName | Dies ist die URL der Funktion Stop Stack Lambda. Diese Lambda-Funktion können Sie verwenden, um alle EC2-Instanzen im Stack zu beenden. |
StartStackFunctionName | Dies ist die URL der Lambda-Funktion Start Stack Lambda. Diese Lambda-Funktion können Sie verwenden, um alle EC2-Instanzen im Stack, die Sie zuvor beendet haben, zu starten. |
Überlegungen
Nach dem Erstellen eines CloudFormation-Stacks, der ArcGIS-Bereitstellungen enthält, sind die folgenden wichtigen Punkte zu beachten:
- In ArcGIS Notebook Server-Bereitstellungen mit hoher Verfügbarkeit werden EC2-Instanzen in einer AWS Auto Scaling-Gruppe konfiguriert. Nachdem die ArcGIS Notebook Server-Site erstellt wurde, können Sie weitere Computer (EC2-Instanzen) zur Site hinzufügen, indem Sie die Größe der Auto Scaling-Gruppe anpassen. Verwenden Sie AWS Management Console, um die Kapazität der Auto Scaling-Gruppe zum Hinzufügen von Computern zu erhöhen. Um Computer zu entfernen, verringern Sie die Kapazität. In der AWS-Dokumentation finden Sie die Anweisungen zum Ändern der Kapazitätsgrenzen einer Auto Scaling-Gruppe zum Hinzufügen oder Entfernen von Computern in einer ArcGIS Notebook Server-Site.
Tipp:
Um die AWS Auto Scaling-Gruppe, die für einen CloudFormation-Stack erstellt wurde, zu finden, überprüfen Sie die Registerkarte Ressourcen des zugehörigen CloudFormation-Stacks. Die logische ID der Ressource lautet AutoScalingGroup.
Obwohl es technisch möglich wäre, die Größe einer AWS Auto Scaling-Gruppe auf Null zu setzen, sollten Sie dennoch zumindest eine aktive Instanz in der Auto Scaling-Gruppe beibehalten, da andernfalls die ArcGIS Notebook Server-Site möglicherweise nicht ordnungsgemäß funktioniert.
Wenn Sie die Kapazität der Gruppe geändert haben, kann das Hinzufügen von Computern bis zu einer Stunde und das Entfernen von Computern bis 15 Minuten dauern. Nachdem die Änderung angewendet wurde, verwenden Sie die ArcGIS Server-Administrator-API, um zu bestätigen, dass die Anzahl der Computer in der ArcGIS Server-Site richtig erhöht oder verringert wurde.
- Der Konfigurationsspeicher für die ArcGIS Notebook Server-Site wird in einem S3-Bucket und Amazon DynamoDB gespeichert. Für die DynamoDB-Bereitstellung werden die folgenden Kapazitätseinheiten festgelegt:
- Lesekapazitätseinheiten = 250 Tabellen
- Schreibkapazitätseinheiten = 25 Tabellen
Von Esri durchgeführte Tests haben gezeigt, dass diese Einstellungen beim Veröffentlichen von etwa 500 Services gut funktionieren. Diese Einstellung können Sie in der AWS Management Console bearbeiten, indem Sie die Einheiten verringern und damit die Kosten senken oder die Einheiten erhöhen, um mehr Services zu unterstützen. Beachten Sie, dass bestimmte Funktionen, wie zum Beispiel das Veröffentlichen, fehlschlagen, wenn nicht ausreichend Kapazität vorhanden ist.
- Eine AWS-Ressource, die mit dieser CloudFormation-Vorlage erstellt wurde, sollten Sie nicht löschen. Die Information, welche AWS-Ressourcen mit dieser Vorlage erstellt wurden, finden Sie auf der Registerkarte Ressourcen dieses Stacks in der AWS Management Console. Jede Ressource, die mit einer Esri CloudFormation-Vorlage erstellt wurde, enthält auch Metadaten-Tags. Bei einigen der Ressourcen werden jedoch keine Tags in der AWS Management Console angezeigt.
- Wenn Sie AWS Secrets Manager für Kennwörter wie das Benutzerkennwort des Site-Administrators oder das Windows-Kennwort für den ArcGIS-Benutzer, verwenden und diese Kennwörter später (nach dem Erstellen der Bereitstellung) ändern, müssen Sie den entsprechenden ARN von AWS Secrets Manager mit den aktualisierten Kennwörtern aktualisieren.
- Wenn Sie in Ihrer Anwendung einen Application Load Balancer verwenden, können Sie das Leerlauf-Timeout des Application Load Balancers nach dem Erstellen der Bereitstellung anpassen. So kann es beispielsweise erforderlich sein, das Leerlauf-Timeout zu verlängern, um sicherzustellen, dass Vorgänge, die lange dauern, auf allen Computer in der Bereitstellung abgeschlossen werden. Passen Sie den Wert für das Leerlauf-Timeout des Application Load Balancers in der AWS Management Console an.
- Sie können die AWS Lambda-Funktionen, die in Ihren Stack-Ausgaben (siehe Abschnitt zu den Ausgaben dieser Seite) angezeigt werden, verwenden, um EC2-Instanzen in diesem Stack zu beenden, wenn sie nicht verwendet werden, und wieder zu starten, wenn sie benötigt werden. Diese Funktionen sind beim Steuern Ihrer Kosten eine nützliche Hilfe.
Wenn Sie die Lambda-Funktion ausführen, um die EC2-Instanzen in der Bereitstellung zu beenden, dann gibt diese Funktion die Meldung zurück, dass die Instanzen beendet wurden. Wenn jedoch diese Instanzen Teil einer Auto Scaling-Gruppe sind, dann muss diese Funktion auch die Verbindung der Instanzen mit der Gruppe trennen. Dies kann bis zu 10 Minuten dauern. Warten Sie deshalb mindestens 10 Minuten, bevor Sie die Lambda-Startfunktion zum erneuten Starten der Bereitstellung ausführen.
Hinweis:
Sie müssen die Lambda-Funktionen verwenden, um EC2-Instanzen, die Teil einer Auto Scaling-Gruppe sind, zu beenden und zu starten. Auto Scaling-Gruppen fügen Computer basierend auf der für sie festgelegten Kapazität hinzu. Wenn Sie die AWS Management Console verwenden, um EC2-Instanzen in einer Auto Scaling-Gruppe herunterzufahren, werden neue Instanzen hinzugefügt.
Problembehandlung
Wenn Sie beim Erstellen dieses CloudFormation-Stacks Fehler feststellen, dann finden Sie entsprechende Informationen unter Problembehandlung bei ArcGIS-Bereitstellungen unter AWS.