

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Amazon Neptune mit Grafiknotizbüchern verwenden
<a name="graph-notebooks"></a>

Um mit Neptundiagrammen zu arbeiten, können Sie ein Neptun-Graph-Notizbuch verwenden oder mithilfe einer Vorlage eine neue Neptun-Datenbank erstellen. CloudFormation [Erstellen eines Amazon Neptune-Clusters mit AWS CloudFormation](get-started-cfn-create.md)

Ganz gleich, ob Sie mit Grafiken noch nicht vertraut sind und lernen und experimentieren möchten oder ob Sie bereits Erfahrung haben und Ihre Abfragen verfeinern möchten, die Neptune [ Workbench ](#graph-notebooks-workbench) bietet eine interaktive Entwicklungsumgebung (IDE), mit der Sie Ihre Produktivität beim Erstellen von Diagrammanwendungen steigern können. Die Workbench bietet eine benutzerfreundliche Oberfläche für die Interaktion mit Ihrer Neptune-Datenbank, das Schreiben von Abfragen und das Visualisieren Ihrer Daten.

Indem Sie die CloudFormation Vorlage verwenden, um Ihre Neptune-Datenbank einzurichten, und die Workbench, um Ihre Diagrammanwendungen zu entwickeln, können Sie schnell und effizient mit Neptune beginnen, ohne dass zusätzliche Tools erforderlich sind. Auf diese Weise können Sie sich auf die Erstellung Ihrer Anwendungen konzentrieren, anstatt die zugrunde liegende Infrastruktur einzurichten.

**Anmerkung**  
 Neptune-Notebooks, die über Amazon SageMaker AI verwaltet werden, sind derzeit in der Region Asien-Pazifik (Malaysia) (ap-southeast-5) nicht verfügbar. Sie können Neptune-Notebooks jedoch weiterhin über alternative, nicht verwaltete Optionen bereitstellen. Informationen zur manuellen Bereitstellung von Notebooks finden Sie [Neptune-Notizbücher manuell einrichten](#graph-notebook-manual-setup) unter. 

Neptune stellt [ Jupyter ](https://jupyter-notebook.readthedocs.io/en/stable/) und [ JupyterLab ](https://jupyterlab.readthedocs.io/en/stable/index.html) Notebooks im Open-Source-Projekt Neptune Graph Notebook auf und in der [ Neptune Workbench zur Verfügung. ](https://github.com/aws/graph-notebook) GitHub Diese Notebooks bieten Tutorials mit Beispielanwendungen und Codefragmente in einer interaktiven Codierungsumgebung, in der Sie mehr über Graphtechnologie und Neptune erfahren können. Sie können sie verwenden, um das Einrichten, Konfigurieren, Auffüllen und Abfragen von Graphen mithilfe verschiedener Abfragesprachen, verschiedener Datensätze und sogar verschiedener Datenbanken im Backend durchzugehen.

Sie können diese Notebooks auf verschiedene Arten hosten:
+  Mit der [ Neptune Workbench ](#graph-notebooks-workbench) können Sie Jupyter-Notebooks in einer vollständig verwalteten Umgebung ausführen, die in Amazon AI gehostet wird, und lädt automatisch die neueste Version des Neptune Graph Notebook-Projekts für Sie. SageMaker [https://github.com/aws/graph-notebook](https://github.com/aws/graph-notebook) Es ist einfach, die Workbench in der [Neptune-Konsole](https://console.aws.amazon.com/neptune) einzurichten, wenn Sie eine neue Neptune-Datenbank erstellen. 
**Anmerkung**  
 Wenn Sie eine Neptune Notebook-Instance erstellen, stehen Ihnen zwei Optionen für den Netzwerkzugriff zur Verfügung: Direkter Zugriff über Amazon SageMaker AI (Standard) und Zugriff über eine VPC. Bei beiden Optionen benötigt das Notebook Zugriff auf das Internet, um Paketabhängigkeiten für die Installation der Neptune Workbench abzurufen. Ein fehlender Internetzugang führt dazu, dass die Erstellung einer Neptune-Notebook-Instanz fehlschlägt. 
+ Sie können [Jupyter auch lokal installieren](#graph-notebooks-local). Auf diese Weise können Sie die Notebooks von Ihrem Laptop aus ausführen, der entweder mit Neptune oder mit einer lokalen Instance einer der Open-Source-Graphdatenbanken verbunden ist. Im letzteren Fall können Sie so viel mit der Graph-Technologie experimentieren, wie Sie möchten, bevor Sie auch nur einen Cent ausgeben. Wenn Sie dann bereit sind, können Sie problemlos zur verwalteten Produktionsumgebung wechseln, die Neptune bietet.

## Verwenden der Neptune-Workbench zum Hosten von Neptune-Notebooks
<a name="graph-notebooks-workbench"></a>

Neptune bietet die Instance-Typen `T3` und `T4g`, mit denen Sie für weniger als 0,10 USD pro Stunde beginnen können. Workbench-Ressourcen werden Ihnen über Amazon SageMaker AI separat von Ihrer Neptune-Abrechnung in Rechnung gestellt. Weitere Informationen finden Sie auf der Seite mit [Neptune-Preisen](https://aws.amazon.com/neptune/pricing/). Jupyter und JupyterLab Notebooks, die auf der Neptune-Workbench erstellt wurden, verwenden alle eine Amazon Linux 2- und 4-Umgebung. JupyterLab Weitere Informationen zur JupyterLab Notebook-Unterstützung finden Sie in der Amazon AI-Dokumentation. [ SageMaker ](https://docs.aws.amazon.com/sagemaker/latest/dg/nbi-jl.html)

Sie können einen Jupyter oder ein JupyterLab Notebook mithilfe der Neptune-Workbench auf zwei Arten erstellen: AWS-Managementkonsole 
+ Verwenden Sie das Menü **Notebook-Konfiguration**, wenn Sie einen neuen Neptune-DB-Cluster erstellen. Befolgen Sie dafür die unter [Starten eines Neptune-DB-Clusters mit dem AWS-Managementkonsole](manage-console-launch-console.md) beschriebenen Schritte.
+ Verwenden Sie das **Notebook**-Menü im linken Navigationsbereich, wenn Ihr DB-Cluster bereits erstellt wurde. Führen Sie dazu die folgenden Schritte aus.

**Um einen Jupyter oder ein Notizbuch mit dem zu erstellen JupyterLab **Notebooks** Speisekarte**

1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die Amazon Neptune-Konsole unter. [ https://console.aws.amazon.com/neptune/home ](https://console.aws.amazon.com/neptune/home)

1. Wählen Sie im Navigationsbereich auf der linken Seite **Notebooks (Notizbücher)** aus.

1. Klicken Sie auf **Create Notebook (Notebook erstellen)**.

1. Wählen Sie ** Datenbank ** als Neptune-Dienst aus.

1. Wählen Sie in der Liste **Cluster** Ihren Neptune-DB-Cluster aus. Wenn Sie noch keinen DB-Cluster haben, wählen Sie **Create cluster (Cluster erstellen)** aus, um einen zu erstellen.

1. Wählen Sie einen **Notebook-Instance-Typ** aus.

1. Geben Sie einen Namen und optional eine Beschreibung für Ihr Notebook ein.

1. Sofern Sie nicht bereits eine AWS Identity and Access Management (IAM-) Rolle für Ihre Notebooks erstellt haben, wählen Sie IAM-Rolle ** erstellen und geben Sie einen ** IAM-Rollennamen ein.
**Anmerkung**  
Wenn Sie sich dafür entscheiden, eine IAM-Rolle wiederzuverwenden, die für ein vorheriges Notebook erstellt wurde, muss die Rollenrichtlinie die richtigen Berechtigungen für den Zugriff auf den Neptune-DB-Cluster enthalten, den Sie verwenden. Sie können dies sicherstellen, indem Sie überprüfen, ob die Komponenten im Ressourcen-ARN unter der `neptune-db:*`-Aktion mit diesem Cluster übereinstimmen. Nicht korrekt konfigurierte Berechtigungen führen zu Verbindungsfehlern, wenn Sie versuchen, Notebook-Magic-Befehle auszuführen.

1. Klicken Sie auf **Create Notebook (Notebook erstellen)**. Der Erstellungsvorgang kann 5 bis 10 Minuten dauern, bis alles bereit ist.

1. Nachdem Ihr Notizbuch erstellt wurde, wählen Sie es aus und wählen Sie dann Open Jupyter oder ** Open. ** ** JupyterLab **

Die Konsole kann eine AWS Identity and Access Management (IAM)-Rolle für Ihre Notebooks erstellen oder Sie können selbst eine Rolle erstellen. Die Richtlinie für diese Rolle sollte Folgendes umfassen:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowS3GetObjectS3ListBucket",
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:ListBucket"
      ],
      "Resource": [
        "arn:aws:s3:::aws-neptune-notebook",
        "arn:aws:s3:::aws-neptune-notebook/*",
        "arn:aws:s3:::aws-neptune-notebook-{{us-east-1}}",
        "arn:aws:s3:::aws-neptune-notebook-{{us-east-1}}/*"
      ]
    },
    {
      "Sid": "AllowAccessNeptuneDB",
      "Effect": "Allow",
      "Action": "neptune-db:*",
      "Resource": [
        "arn:aws:neptune-db:{{us-east-1}}:{{111122223333}}:{{cluster-resource-id}}/*"
      ]
    }
  ]
}
```

------

Beachten Sie, dass die zweite Anweisung in der obigen Richtlinie eine oder mehrere Neptune-[Cluster-Ressourcen-IDs](iam-data-resources.md) auflistet.

Außerdem sollte die Rolle die folgende Vertrauensstellung aufbauen:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "sagemaker.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

Auch hier kann es 5 bis 10 Minuten dauern, bis alles einsatzbereit ist.

Sie können Ihr neues Notebook so konfigurieren, dass es mit Neptune ML funktioniert, wie unter [Manuelles Konfigurieren eines Neptune-Notebooks für Neptune ML](ml-manual-setup-notebooks.md) erläutert.

### Verwenden Sie Python, um ein generisches SageMaker KI-Notizbuch mit Neptune zu verbinden
<a name="graph-notebooks-workbench-python"></a>

Ein Notebook mit Neptune zu verbinden ist einfach, wenn Sie Neptune Magics installiert haben, aber es ist auch möglich, ein SageMaker KI-Notebook mithilfe von Python mit Neptune zu verbinden, auch wenn Sie kein Neptune-Notebook verwenden.

**Schritte, die Sie unternehmen müssen, um in einer KI-Notebook-Zelle eine Verbindung zu Neptune herzustellen SageMaker**

1. Installieren des Gremlin-Python-Clients:

   ```
   !pip install gremlinpython
   ```

   Neptune-Notebooks installieren den Gremlin-Python-Client für Sie, sodass dieser Schritt nur erforderlich ist, wenn Sie ein einfaches KI-Notizbuch verwenden. SageMaker 

1. Schreiben Sie Code wie den folgenden, um eine Verbindung herzustellen und eine Gremlin-Abfrage auszuführen:

   ```
   from gremlin_python import statics
   from gremlin_python.structure.graph import Graph
   from gremlin_python.process.graph_traversal import __
   from gremlin_python.process.strategies import *
   from gremlin_python.driver.driver_remote_connection import DriverRemoteConnection
   from gremlin_python.driver.aiohttp.transport import AiohttpTransport
   from gremlin_python.process.traversal import *
   import os
   
   port = 8182
   server = '{{(your server endpoint)}}'
   
   endpoint = f'wss://{server}:{port}/gremlin'
   
   graph=Graph()
   
   connection = DriverRemoteConnection(endpoint,'g',
                    transport_factory=lambda:AiohttpTransport(call_from_event_loop=True))
   
   g = graph.traversal().withRemote(connection)
   
   results = (g.V().hasLabel('airport')
                   .sample(10)
                   .order()
                   .by('code')
                   .local(__.values('code','city').fold())
                   .toList())
   
   # Print the results in a tabular form with a row index
   for i,c in enumerate(results,1):
       print("%3d %4s %s" % (i,c[0],c[1]))
   
   connection.close()
   ```

**Anmerkung**  
Falls Sie eine Version des Gremlin Python-Clients verwenden sollten, die älter als 3.5.0 ist, diese Zeile:  

```
connection = DriverRemoteConnection(endpoint,'g',
                 transport_factory=lambda:AiohttpTransport(call_from_event_loop=True))
```
Wäre einfach:  

```
connection = DriverRemoteConnection(endpoint,'g')
```

## Starten Sie Graph-Notebook als Amazon Neptune Workbench über CloudFormation
<a name="graph-notebooks-cloudformation"></a>

Sie können Amazon Neptune Workbench-Notebooks mit bereitstellen. CloudFormation Die CloudFormation Vorlage stellt Neptune Workbench-Notebooks als Ressourcen bereit und enthält die grundlegenden Notizbücher für die ersten Schritte. Mit der Workbench können Sie mithilfe von Jupyter-Notebooks, die von Amazon gehostet werden, mit Ihrem Amazon Neptune Database-Cluster arbeiten. SageMaker Die Workbench-Ressourcen werden Ihnen unabhängig von Ihrer Neptune-Abrechnung über Amazon in Rechnung gestellt. SageMaker

Die CloudFormation Vorlage und detaillierte Anweisungen, einschließlich der Anforderungen und Berechtigungen für die IAM-Rolle, sind im Graph-Notebook-Repository verfügbar. [ GitHub ](https://github.com/aws/graph-notebook/tree/main/additional-databases/sagemaker/neptune-notebook-cloudformation)

## CloudWatch Protokolle auf Neptune-Notebooks aktivieren
<a name="graph-notebooks-cw-logs"></a>

CloudWatch Protokolle sind jetzt standardmäßig für Neptune-Notebooks aktiviert. Wenn Sie ein älteres Notebook haben, das keine CloudWatch Protokolle erstellt, gehen Sie wie folgt vor, um sie manuell zu aktivieren:

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die [ SageMaker AI-Konsole](https://console.aws.amazon.com/sagemaker/home).

1. Wählen Sie im Navigationsbereich auf der linken Seite **Notebook** und dann **Notebook-Instances** aus. Suchen Sie nach dem Namen des Neptune-Notebooks, für das Sie Protokolle aktivieren möchten.

1. Gehen Sie zur Detailseite, indem Sie den Namen dieser Notebook-Instance auswählen.

1. Wenn die Notebook-Instance ausgeführt wird, klicken Sie oben rechts auf der Notebook-Detailseite auf die Schaltfläche **Stopp**.

1. Unter **Berechtigungen und Verschlüsselung** gibt es ein Feld für den **ARD der IAM-Rolle**. Wählen Sie den Link in diesem Feld aus, um zu der IAM-Rolle zu gelangen, mit der diese Notebook-Instance ausgeführt wird.

1. Erstellen Sie die folgende Richtlinie:

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "logs:CreateLogDelivery",
           "logs:CreateLogGroup",
           "logs:CreateLogStream",
           "logs:DeleteLogDelivery",
           "logs:Describe*",
           "logs:GetLogDelivery",
           "logs:GetLogEvents",
           "logs:ListLogDeliveries",
           "logs:PutLogEvents",
           "logs:PutResourcePolicy",
           "logs:UpdateLogDelivery"
         ],
         "Resource": "*"
       }
     ]
   }
   ```

------

1. Speichern Sie diese neue Richtlinie und fügen Sie sie an die IAM-Rolle aus Schritt 4 an.

1. Klicken Sie oben rechts ** auf der Detailseite der SageMaker AI-Notebook-Instanz auf ** Start.

1. Sobald Protokolle erstellt werden, sollte der Link **Protokolle anzeigen** unterhalb des Felds **Lifecycle-Konfiguration** unten links auf der Detailseite im Abschnitt **Notebook-Instance-Einstellungen** angezeigt werden.

Wenn ein Notizbuch nicht gestartet werden kann, erscheint auf der Seite mit den Notizbuch-Details auf der SageMaker AI-Konsole eine Meldung, die besagt, dass der Start der Notebook-Instanz über 5 Minuten gedauert hat. CloudWatch Die für dieses Problem relevanten Protokolle finden Sie unter diesem Namen:

```
{{(your-notebook-name)}}/LifecycleConfigOnStart
```

## Einrichten von Graph-Notebooks auf Ihrem lokalen Computer
<a name="graph-notebooks-local"></a>

Das Graph-Notebook-Projekt enthält Anweisungen zum Einrichten von Neptune-Notebooks auf Ihrem lokalen Computer:
+ [Voraussetzungen](https://github.com/aws/graph-notebook/#prerequisites)
+ [Jupyter und Installation JupyterLab ](https://github.com/aws/graph-notebook/#installation)
+ [Verbinden mit einer Graphdatenbank](https://github.com/aws/graph-notebook/#connecting-to-a-graph-database).

Sie können Ihre lokalen Notebooks entweder mit einem Neptune-DB-Cluster oder mit einer lokalen oder Remote-Instance einer Open-Source-Graphdatenbank verbinden.

### Verwenden von Neptune-Notebooks mit Neptune-Clustern
<a name="graph-notebooks-local-with-neptune"></a>

Wenn Sie im Backend eine Verbindung zu einem Neptune-Cluster herstellen, möchten Sie die Notebooks möglicherweise in Amazon AI ausführen. SageMaker Die Verbindung zu Neptune von SageMaker AI aus kann bequemer sein als über eine lokale Installation der Notebooks, und Sie können so einfacher mit Neptune ML arbeiten. [Amazon Neptune ML für Machine Learning anhand von Diagrammen](machine-learning.md)

Eine Anleitung zum Einrichten von Notebooks in SageMaker AI finden Sie unter Graph-Notebook mit Amazon starten. [ SageMaker ](https://github.com/aws/graph-notebook/blob/main/additional-databases/sagemaker/README.md)

Anweisungen zum Einrichten und Konfigurieren von Neptune selbst finden Sie unter [Amazon Neptune einrichten](neptune-setup.md).

Sie können auch eine lokale Installation der Neptune-Notebooks mit einem Neptune-DB-Cluster verbinden. Dies kann etwas komplizierter sein, da Amazon-Neptune-DB-Cluster nur in einer Amazon Virtual Private Cloud (VPC) erstellt werden können, die ihrer Konstruktion nach von der Außenwelt isoliert ist. Es gibt eine Reihe von Möglichkeiten, von außen eine Verbindung zu einer VPC herzustellen. Eine Möglichkeit besteht darin, einen Load Balancer zu verwenden. Eine andere Möglichkeit ist die Verwendung von VPC Peering (siehe [Handbuch zu Amazon Virtual Private Cloud Peering](https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html)).

Für die meisten Benutzer ist es jedoch am bequemsten, eine Verbindung herzustellen, indem sie einen Amazon-EC2-Proxyserver innerhalb der VPC einrichten und dann [SSH-Tunneling](https://www.ssh.com/ssh/tunneling/) (auch „Portweiterleitung“ genannt) zu verwenden, um eine Verbindung dazu herzustellen. Eine Anleitung zur Einrichtung finden Sie unter Graph-Notebook lokal mit Amazon Neptune [ verbinden ](https://github.com/aws/graph-notebook/tree/main/additional-databases/neptune) im `additional-databases/neptune` Ordner des Graph-Notebook-Projekts. [https://github.com/aws/graph-notebook/](https://github.com/aws/graph-notebook/) GitHub 

### Verwendung von Neptune-Notebooks mit Open-Source-Graphdatenbanken
<a name="graph-notebooks-open-source_databases"></a>

Um kostenlos mit der Graphtechnologie zu beginnen, können Sie auch Neptune-Notebooks mit verschiedenen Open-Source-Datenbanken im Backend verwenden. Beispiele sind der TinkerPop [ Gremlin-Server und die ](https://tinkerpop.apache.org/docs/current/reference/#gremlin-server) [https://blazegraph.com/](https://blazegraph.com/) Blazegraph-Datenbank. 

Gehen Sie folgendermaßen vor, um den Gremlin Server als Ihre Backend-Datenbank zu verwenden:
+ Das Graph-Notebook wird mit einem Gremlin Server-Ordner [ verbunden. ](https://github.com/aws/graph-notebook/blob/main/additional-databases/gremlin-server/README.md#connecting-graph-notebook-to-a-gremlin-server) GitHub 
+ Der Gremlin-Konfigurationsordner von [ Graph-Notebook. ](https://github.com/aws/graph-notebook/#gremlin-server) GitHub 

Gehen Sie folgendermaßen vor, um eine lokale Instanz von [ Blazegraph ](https://github.com/blazegraph/database) als Back-End-Datenbank zu verwenden:
+ Lesen Sie die [ Blazegraph-Schnellstartanweisungen, um die grundlegende Einrichtung und Konfiguration ](https://github.com/blazegraph/database/wiki/Quick_Start) zu verstehen, die für den Betrieb einer Blazegraph-Instance erforderlich sind.
+ Greifen Sie auf den [https://github.com/aws/graph-notebook/#blazegraph](https://github.com/aws/graph-notebook/#blazegraph) GitHub Blazegraph-Konfigurationsordner von Graph-Notebook zu, der die erforderlichen Dateien und Anweisungen zum Einrichten einer lokalen Blazegraph-Instanz enthält.
+ Navigieren Sie im GitHub Repository zum Verzeichnis „blazegraph“ und folgen Sie den bereitgestellten Anweisungen, um Ihre lokale Blazegraph-Instanz einzurichten. Dazu gehören Schritte zum Herunterladen der Blazegraph-Software, zum Konfigurieren der erforderlichen Dateien und zum Starten des Blazegraph-Servers. 

Sobald Sie eine lokale Blazegraph-Instanz ausgeführt haben, können Sie sie als Backend-Datenbank für Ihre grafbasierten Daten und Abfragen in Ihre Anwendung integrieren. In der Dokumentation und im Beispielcode im Graph-Notebook-Repository erfahren Sie, wie Sie Ihre Anwendung mit der Blazegraph-Instance verbinden. 

## Migration von Neptune-Notebooks auf 4.x JupyterLab
<a name="migrating-neptune-notebooks-jupyterlab"></a>

In diesem Abschnitt werden verschiedene Ansätze für die Migration Ihrer Neptune-Notebooks auf 4.x und neuere Amazon Linux-Umgebungen beschrieben. JupyterLab Detaillierte Informationen zur Versionierung finden Sie unter Amazon JupyterLab AI Versioning. [ SageMaker JupyterLab ](https://docs.aws.amazon.com/sagemaker/latest/dg/nbi-jl.html)

### Migrationsansätze
<a name="migration-approaches"></a>

#### Neue Installation
<a name="fresh-installation"></a>

Wenn Sie die vorhandenen Workspace-Dateien oder -Konfigurationen nicht beibehalten müssen, können Sie:

1. Erstellen Sie eine neue Notebook-Instanz, auf der JupyterLab 4.x (notebook-al2-v3) ausgeführt wird

1. Stellen Sie sicher, dass das neue Setup wie erwartet funktioniert

1. Stoppen und löschen Sie Ihre alte Notebook-Instanz

#### Migration von Dateiübertragungen
<a name="file-transfer-migration"></a>

Diese Methode verwendet Ihr lokales System oder Amazon S3 als Zwischenspeicher.

**Am besten geeignet für**  

+ [Direkter Internetzugang über die Amazon SageMaker AI-Netzwerkkonfiguration](https://docs.aws.amazon.com/sagemaker/latest/dg/appendix-notebook-and-internet-access.html#appendix-notebook-and-internet-access-default).
+ Ein moderates Datenvolumen, das migriert werden muss
+ Bestimmte Dateien, die beibehalten werden sollen, und nicht ganze Workspace-Konfigurationen.

##### Methode 1: Verwenden der JupyterLab Benutzeroberfläche
<a name="method-jupyterlab-ui"></a>

**Am besten geeignet für**  

+ Kleine Anzahl von Dateien
+ Selektive Dateimigration
+ Bevorzugen Sie einfache Drag-and-Drop-Operationen

**Schritte**  


1. Laden Sie Dateien von der Quellinstanz herunter: JupyterLab 
   + Navigieren Sie und wählen Sie die Dateien aus, die Sie auf die neue Instanz migrieren möchten JupyterLab
   + Right-click und wählen Sie ** Herunterladen **

1. Auf eine neue JupyterLab Instanz hochladen:
   + Klicken Sie auf den Upload-Button JupyterLab und wählen Sie alle Dateien aus, die Sie in die neue Instanz kopieren möchten
   + (Oder) ziehen Sie Dateien direkt per Drag-and-Drop

##### Methode 2: Verwenden von Amazon S3
<a name="method-s3"></a>

**Am besten geeignet für**  

+ Große Anzahl von Dateien
+ Beibehaltung Ihrer Ordnerstrukturen
+ Massenmigrationen

**Voraussetzungen**  
Stellen Sie sicher, dass die dem Notebook zugeordnete Rolle über die entsprechenden Berechtigungen zum Hochladen und Zugreifen auf den Amazon S3-Bucket verfügt:

```
{
"Effect": "Allow",
"Action": ["s3:PutObject", "s3:GetObject", "s3:ListBucket"],
"Resource": ["arn:aws:s3:::your-bucket-name/*", "arn:aws:s3:::your-bucket-name"]
}
```

**Anmerkung**  
 [AWS CLI ](https://awscli.amazonaws.com/v2/documentation/api/latest/index.html) sollte auf SageMaker AI-Notebooks vorinstalliert sein.

**Schritte**  


1. Öffnen Sie ein Terminal in JupyterLab oder geben Sie die Terminalbefehle in eine Notebookzelle mit `!` Präfix ein.

1. Kopieren Sie Dateien von Ihrer alten JupyterLab Instance nach S3 mit den [ CLI-Befehlen [https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html](https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html) Amazon S3 cp ](https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html) oder Amazon S3 Sync:

   ```
   # using AWS s3 cp
   aws s3 cp /home/ec2-user/SageMaker/your-folder s3://your-bucket/backup/ --recursive
   
   # (OR) using AWS s3 sync
   aws s3 sync /home/ec2-user/SageMaker/your-folder s3://your-bucket/backup/
   ```

1. Kopieren Sie Dateien von S3 auf Ihre neue JupyterLab Instanz:

   ```
   # using AWS s3 cp
   aws s3 cp s3://your-bucket/backup/ /home/ec2-user/SageMaker/your-folder --recursive
   
   # (OR) using AWS s3 sync
   aws s3 sync s3://your-bucket/backup/ /home/ec2-user/SageMaker/your-folder
   ```

**Anmerkung**  
Wird `sync` zur Pflege von Ordnerstrukturen und inkrementellen Aktualisierungen sowie `cp` für einmalige Übertragungen verwendet.

#### Amazon EFS-Migration
<a name="amazon-efs-migration"></a>

**Am besten geeignet für**  

+ [ VPC-only](https://docs.aws.amazon.com/sagemaker/latest/dg/appendix-notebook-and-internet-access.html#appendix-notebook-and-internet-access-default-vpc)Netzwerkkonfiguration
+ Große Datenmengen

**Schritte**  
Folgen Sie dem [ Blog ](https://aws.amazon.com/blogs/machine-learning/mount-an-efs-file-system-to-an-amazon-sagemaker-notebook-with-lifecycle-configurations/) Mounten eines EFS-Dateisystems in ein Amazon SageMaker AI-Notebook, um ein Amazon EFS-Dateisystem mit Ihren Notebook-Instances zu verwenden.

Darüber hinaus gibt es noch einige weitere Schritte, die speziell für die Migration von Neptune-Notebooks in die neue Umgebung gelten:

1. Wählen Sie bei der Erstellung des [ Neptune-Notebooks in der Konsole ](https://docs.aws.amazon.com/neptune/latest/userguide/graph-notebooks.html#graph-notebooks-workbench) ** unter Lifecycle-Konfiguration die Option Neue Lifecycle-Konfiguration ** erstellen aus

1. Fügen Sie in der Lebenszykluskonfiguration der Vorlage Ihren Amazon EFS-Mount-Befehl (`sudo mount -t nfs ...`) nach dem Skript install.sh an

Dadurch wird sichergestellt, dass Ihr Amazon EFS-Dateisystem bei jedem Start oder Neustart Ihrer Notebook-Instance automatisch gemountet wird. Informationen zur Behebung von Mount-Problemen finden Sie im [ Amazon EFS-Dokument zur Fehlerbehebung. ](https://docs.aws.amazon.com/efs/latest/ug/troubleshooting.html)

**Vorteile**  

+ Reibungsloser Zugriff auf Dateien in allen Instanzen
+ Direkter Dateizugriff ohne zwischengeschaltete Übertragungen
+ Effizienter Umgang mit großen Datensätzen

#### Amazon EBS-Volumenmigration
<a name="ebs-volume-migration"></a>

**Ideal, wenn Sie etwas aufbewahren müssen**  

+ Vollständige Workspace-Konfigurationen
+ Versteckte Dateien
+ Systemeinstellungen
+ Beibehaltung vollständiger Workspace-Konfigurationen, versteckter Dateien und Systemeinstellungen

Folgen Sie dem [AWS SageMaker KI-Migrationsleitfaden für Amazon EBS-Volumes](https://docs.aws.amazon.com/sagemaker/latest/dg/nbi-upgrade.html), um Dateien von dem Amazon EBS-Volume zu übertragen, das den Notebook-Instances zugeordnet ist.

Darüber hinaus gibt es noch einige weitere Schritte, die speziell für die Migration von Neptune-Notebooks in die neue Umgebung gelten.

## Neptune-specific Voraussetzungen
<a name="graph-notebooks-migrating-to-JL3-prereqs"></a>

Fügen Sie der IAM-Rolle des Quell-Neptune-Notebooks alle folgenden Berechtigungen hinzu:

```
{
  "Effect": "Allow",
  "Action": [
    "s3:GetObject",
    "s3:ListBucket",
    "s3:CreateBucket",
    "s3:PutObject"
  ],
  "Resource": [
    "arn:aws:s3:::{{(your ebs backup bucket name)}}",
    "arn:aws:s3:::{{(your ebs backup bucket name)}}/*"
  ]
},
{
  "Effect": "Allow",
  "Action": [
    "sagemaker:ListTags"
  ],
  "Resource": [
    "*"
  ]
}
```

Stellen Sie sicher, dass Sie den korrekten ARN für den S3-Bucket angeben, den Sie für die Sicherung verwenden werden.

## Neptune-specific Konfiguration des Lebenszyklus
<a name="graph-notebooks-migrating-to-JL3-lifecycle"></a>

Bei der Erstellung des zweiten Lifecycle-Konfigurationsskripts für die Wiederherstellung des Backups (von `on-create.sh`), wie im Blog-Beitrag beschrieben, muss der Lifecycle-Name dem `aws-neptune-*`-Format entsprechen, wie `aws-neptune-sync-from-s3`. Dadurch wird sichergestellt, dass das LCC während der Notebook-Erstellung in der Neptune-Konsole ausgewählt werden kann.

## Neptune-specific Synchronisation von einem Snapshot zu einer neuen Instanz
<a name="graph-notebooks-migrating-to-JL3-synchronizing"></a>

In den Schritten, die im Blogbeitrag für die Synchronisation von einem Snapshot zu einer neuen Instanz beschrieben werden, sind die folgenden Neptune-specific Änderungen aufgeführt:
+ Wählen Sie in Schritt 4 ** ** notebook-al2-v3 aus.
+ Verwenden Sie in Schritt 5 die IAM-Rolle aus dem Neptune-Quell-Notebook erneut.
+ Zwischen den Schritten 7 und 8:
  + Geben Sie in den **Notebook-Instance-Einstellungen** einen Namen ein, der das `aws-neptune-*`-Format verwendet.
  + Öffnen Sie das Einstellungsakkordeon **Netzwerk** und wählen Sie dieselbe VPC-, Subnetz- und Sicherheitsgruppe wie im Quell-Notebook aus.

## Neptune-specific Schritte, nachdem das neue Notizbuch erstellt wurde
<a name="graph-notebooks-migrating-to-JL3-afterwards"></a>

1. Wählen Sie die Schaltfläche **Jupyter öffnen** für das Notebook. Fahren Sie nach der Anzeige der `SYNC_COMPLETE`-Datei im Hauptverzeichnis mit dem nächsten Schritt fort.

1. Gehen Sie in der SageMaker AI-Konsole zur Notebook-Instanzseite.

1. Halten Sie das Notebook an.

1. Wählen Sie **Bearbeiten** aus.

1. Bearbeiten Sie in den Notebook-Instance-Einstellungen das Feld **Lifecycle-Konfiguration**, indem Sie den ursprünglichen Lebenszyklus des Neptune-Quell-Notebooks auswählen. Beachten Sie, dass dies nicht der EBS-Backup-Lebenszyklus ist.

1. Wählen Sie **Notebook-Einstellungen aktualisieren** aus.

1. Starten Sie das Notebook erneut.

Mit den hier beschriebenen Änderungen an den im Blogbeitrag beschriebenen Schritten sollten Ihre Graph-Notebooks jetzt auf eine neue Neptune-Notebook-Instance migriert werden, die die Amazon Linux 2- und 4-Umgebung verwendet. JupyterLab Sie werden für Zugriff und Verwaltung auf der Neptune-Seite in der angezeigt. Sie können Ihre Arbeit jetzt dort fortsetzen AWS-Managementkonsole, wo Sie aufgehört haben, indem Sie entweder Jupyter öffnen oder Öffnen auswählen. ** ** ** JupyterLab **

## Erstellen Sie ein Neptune-Notizbuch in Amazon AI-Instances SageMaker
<a name="create-notebook-next"></a>

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [ https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Erweitern Sie im Navigationsbereich ** Notebook und wählen Sie ** dann ** Notebook-Instances aus**.

1. Wählen Sie **Create notebook instance (Notebook-Instance erstellen)** aus.

1. Geben Sie dem ** Notizbuch in den ** Notebook-Instanzeinstellungen ** unter Notebook-Instanzname einen Namen, dem `aws-neptune-` (z. B.`aws-neptune-my-test-notebook`) vorangestellt ist. **

1. Wählen Sie unter ** Plattform-ID ** die Option ** Amazon Linux 2, JupyterLab 4 ** aus.

1. Wählen Sie ** Zusätzliche Konfiguration aus**.

1. Wählen Sie unter ** Lifecycle-Konfiguration ** die Option Neue Lifecycle-Konfiguration ** erstellen aus**.

1. **Geben Sie unter ** Konfiguration ** unter ** Name den Namen der Notebook-Instanz aus Schritt 4 ein.

1. Ersetzen Sie in ** Scripts ** unter Notizbuch ** ** starten das vorhandene Skript durch dieses:

   ```
   #!/bin/bash
   
   sudo -u ec2-user -i <<'EOF'
   
   echo "export GRAPH_NOTEBOOK_AUTH_MODE=IAM" >> ~/.bashrc
   echo "export GRAPH_NOTEBOOK_SSL=True" >> ~/.bashrc
   echo "export GRAPH_NOTEBOOK_SERVICE={{neptune-db for Neptune, or neptune-graph for Neptune Analytics}}" >> ~/.bashrc
   echo "export GRAPH_NOTEBOOK_HOST={{(Neptune Analytics graph endpoint, public or private)}}" >> ~/.bashrc
   echo "export GRAPH_NOTEBOOK_PORT=8182" >> ~/.bashrc
   echo "export NEPTUNE_LOAD_FROM_S3_ROLE_ARN=" >> ~/.bashrc
   echo "export AWS_REGION={{(AWS region)}}" >> ~/.bashrc
   
   aws s3 cp s3://aws-neptune-notebook-{{(AWS region)}}/graph_notebook.tar.gz /tmp/graph_notebook.tar.gz
   rm -rf /tmp/graph_notebook
   tar -zxvf /tmp/graph_notebook.tar.gz -C /tmp
   /tmp/graph_notebook/install_jl4x.sh
   
   EOF
   ```

1. Wählen Sie **Create configuration (Konfiguration erstellen)** aus.

1. Wählen Sie unter ** Berechtigungen und Verschlüsselung ** unter ** IAM-Rolle die Rolle aus**, die Sie oben erstellt haben.

1. Wenn Sie ** unter ** Network einen privaten Graph-Endpunkt verwenden:

   1. Wählen Sie unter ** VPC die VPC aus**, in der sich das Neptune Analytics-Diagramm befindet.

   1. Wählen Sie unter ** Subnetz ein Subnetz aus**, das dem Neptune Analytics-Diagramm zugeordnet ist.

   1. Wählen Sie unter ** Sicherheitsgruppe (n) alle Sicherheitsgruppen aus**, die dem Neptune Analytics-Diagramm zugeordnet sind.

1. Wählen Sie **Create notebook instance (Notebook-Instance erstellen)** aus.

1. Wenn Ihr neues Notebook nach 5 oder 10 Minuten den `Ready` Status erreicht hat, wählen Sie es aus. Wählen Sie ** Open Jupyter oder ** Open. ** JupyterLab **

## Neptune-Notizbücher manuell einrichten
<a name="graph-notebook-manual-setup"></a>

 Sie können auch die für Graph-Notebook und Graph-Explorer verfügbaren AWS Open-Source-Pakete verwenden, um eine Neptune-Notebook-Umgebung einzurichten. Es gibt zwar mehrere Möglichkeiten, ein Notizbuch mithilfe von Open-Source-Paketen einzurichten, der empfohlene Ansatz ist jedoch: 
+  Richten Sie [ Graph-Notebook ](https://github.com/aws/graph-notebook) auf Ihrem lokalen Computer und einen Amazon EC2-SSH-Tunnel ein, der Ihren lokalen Computer mit einem Neptune-Cluster auf derselben VPC wie die Amazon EC2-Instance verbindet. 
+  Richten Sie [ Graph-Explorer auf einer Amazon EC2-Instance ](https://github.com/aws/graph-explorer) in Ihrer VPC ein. 

 Eine ausführliche Anleitung zur Einrichtung der [ Open-Source-Pakete [ Graph-Notebooks ](https://github.com/aws/graph-notebook) und ](https://github.com/aws/graph-explorer) Graph-Explorer finden Sie in der folgenden offiziellen Dokumentation und den folgenden Repositorys: AWS GitHub 
+  [https://docs.aws.amazon.com/neptune/latest/userguide/graph-notebooks.html#graph-notebooks-local](https://docs.aws.amazon.com/neptune/latest/userguide/graph-notebooks.html#graph-notebooks-local) 
+  [https://docs.aws.amazon.com/neptune/latest/userguide/get-started-connect-ec2-same-vpc.html](https://docs.aws.amazon.com/neptune/latest/userguide/get-started-connect-ec2-same-vpc.html) 
+  [https://github.com/aws/graph-notebook/tree/main/additional-databases/neptune](https://github.com/aws/graph-notebook/tree/main/additional-databases/neptune) 
+  [https://github.com/aws/graph-explorer/blob/main/additionaldocs/getting-started/README.md#amazon-ec2-setup](https://github.com/aws/graph-explorer/blob/main/additionaldocs/getting-started/README.md#amazon-ec2-setup) 

**Security configuration (Sicherheitskonfiguration)**  
 Stellen Sie beim Einrichten Ihrer Umgebung sicher, dass die folgenden Sicherheitskonfigurationen entsprechend eingestellt sind: 
+  **Neptune-Cluster-Sicherheitsgruppe ** — Erlauben Sie eingehenden TCP-Verkehr auf Port 8182 aus der Sicherheitsgruppe Ihrer Amazon EC2-Instance. 
+  **Amazon EC2-Instance-Sicherheitsgruppe ** — Konfigurieren Sie eingehende HTTPS-Regeln, um den Zugriff auf den Graph Explorer zu ermöglichen. 

 Wir empfehlen, eine einzige Sicherheitsgruppe sowohl für Ihren Neptune-Cluster als auch für Ihre Amazon EC2-Instance zu verwenden. Dies vereinfacht die Konfiguration und reduziert potenzielle Verbindungsprobleme. Denken Sie jedoch daran, eine selbstreferenzierende Regel hinzuzufügen, um die Kommunikation zwischen Ressourcen innerhalb der Gruppe zu ermöglichen. 