

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Usar o Amazon Neptune com cadernos de grafos
<a name="graph-notebooks"></a>

[Para trabalhar com gráficos de Netuno, você pode usar um caderno gráfico de Netuno ou criar um novo banco de dados de Netuno usando um modelo. CloudFormation](get-started-cfn-create.md)

Se você não tem conhecimento sobre grafos e quer aprender e experimentar, ou se tem experiência e quer refinar suas consultas, a [bancada de trabalho do Neptune](#graph-notebooks-workbench) oferece um ambiente de desenvolvimento interativo (IDE) que pode aumentar sua produtividade ao criar aplicações de grafos. A bancada de trabalho fornece uma interface simples para interagir com seu banco de dados do Neptune, escrever consultas e visualizar dados.

Ao usar o CloudFormation modelo para configurar seu banco de dados Neptune e o Workbench para desenvolver seus aplicativos gráficos, você pode começar a usar o Neptune de forma rápida e eficiente, sem a necessidade de ferramentas adicionais. Isso permite que você se concentre na criação de aplicações em vez da configuração da infraestrutura subjacente.

**nota**  
 Os notebooks Neptune, gerenciados por meio da SageMaker Amazon AI, não estão disponíveis atualmente na região Ásia-Pacífico (Malásia) (ap-southeast-5). No entanto, você ainda pode implantar cadernos do Neptune por meio de opções alternativas não gerenciadas. Consulte [Configurar o caderno do Neptune manualmente](#graph-notebook-manual-setup) para implantar cadernos manualmente. 

O Neptune [fornece](https://jupyter-notebook.readthedocs.io/en/stable/) Jupyter e [JupyterLab](https://jupyterlab.readthedocs.io/en/stable/index.html)notebooks no projeto de caderno gráfico Neptune de código aberto e na bancada de trabalho [Neptune](https://github.com/aws/graph-notebook). GitHub Esses blocos de anotações oferecem exemplos de tutoriais de aplicações e trechos de código em um ambiente de codificação interativo onde você pode saber mais sobre a tecnologia de grafos e o Neptune. É possível usá-los para percorrer a instalação, a configuração, o preenchimento e a consulta de grafos usando diferentes linguagens de consulta, conjuntos de dados distintos e até mesmo bancos de dados diferentes no back-end.

É possível hospedar esses blocos de anotações de várias maneiras diferentes:
+  [O ambiente de trabalho [Neptune](#graph-notebooks-workbench) permite que você execute notebooks Jupyter em um ambiente totalmente gerenciado, hospedado na SageMaker Amazon AI, e carregue automaticamente a versão mais recente do projeto de caderno gráfico Neptune para você.](https://github.com/aws/graph-notebook) É fácil configurar a bancada de trabalho no [console do Neptune](https://console.aws.amazon.com/neptune) ao criar um banco de dados do Neptune. 
**nota**  
 Ao criar uma instância do notebook Neptune, você tem duas opções de acesso à rede: acesso direto por meio da SageMaker Amazon AI (o padrão) e acesso por meio de uma VPC. Em qualquer uma das opções, o caderno requer acesso à Internet para buscar dependências de pacotes para instalar a bancada de trabalho do Neptune. A falta de acesso à Internet fará com que a criação de uma instância do caderno do Neptune falhe. 
+ Você também pode [instalar o Jupyter localmente](#graph-notebooks-local). Isso permite que você execute os blocos de anotações no laptop, conectado ao Neptune ou em uma instância local de um dos bancos de dados de grafos de código aberto. No último caso, é possível experimentar a tecnologia de grafos o quanto quiser sem gastar. Então, quando estiver com tudo pronto, você poderá migrar sem problemas para o ambiente de produção gerenciado oferecido pelo Neptune.

## Usar a bancada de trabalho do Neptune para hospedar blocos de anotações Neptune
<a name="graph-notebooks-workbench"></a>

O Neptune oferece os tipos de instância `T3` e `T4g` com os quais é possível começar por menos de USD 0,10 por hora. Você é cobrado pelos recursos do workbench por meio do Amazon SageMaker AI, separadamente do faturamento do Neptune. Consulte [a página Preços do Neptune](https://aws.amazon.com/neptune/pricing/). O Jupyter e JupyterLab os notebooks criados na bancada de trabalho Neptune usam um ambiente Amazon Linux 2 e 4. JupyterLab Para obter mais informações sobre o suporte a JupyterLab notebooks, consulte a [documentação do Amazon SageMaker AI](https://docs.aws.amazon.com/sagemaker/latest/dg/nbi-jl.html).

Você pode criar um Jupyter ou um JupyterLab notebook usando a bancada de trabalho Neptune de duas maneiras: Console de gerenciamento da AWS 
+ Use o menu **Configuração de cadernos** ao criar um cluster de banco de dados do Neptune. Para isso, siga as etapas descritas em [Iniciando um cluster de banco de dados Neptune usando o Console de gerenciamento da AWS](manage-console-launch-console.md).
+ Use o menu **Blocos de anotações** no painel de navegação esquerdo depois que o cluster de banco de dados já tiver sido criado. Para isso, siga as etapas abaixo.

****Para criar um Jupyter ou JupyterLab notebook usando o menu Notebooks****

1. [Faça login no AWS Management Console e abra o console do Amazon Neptune em casa. https://console.aws.amazon.com/neptune/](https://console.aws.amazon.com/neptune/home)

1. No painel de navegação à esquerda, escolha **Notebooks (Blocos de anotações)**.

1. Escolha **Criar caderno**.

1. Selecione **Banco de dados** como o serviço do Neptune.

1. Na lista **Cluster**, escolha o cluster de banco de dados do Neptune. Se você ainda não tiver um cluster de banco de dados, escolha **Create cluster (Criar cluster)** para criar um.

1. Selecione um **Tipo de instância de caderno**.

1. Insira um nome para o seu bloco de anotações e, opcionalmente, uma descrição.

1. A menos que você já tenha criado uma função AWS Identity and Access Management (IAM) para seus notebooks, escolha **Criar uma função do IAM** e insira um nome de função do IAM.
**nota**  
Se você optar por reutilizar um perfil do IAM criado para um caderno anterior, a política do perfil deverá conter as permissões corretas para acessar o cluster de banco de dados do Neptune que você está usando. É possível verificar isso conferindo se os componentes do ARN do recurso sob a ação `neptune-db:*` correspondem a esse cluster. Permissões configuradas incorretamente geram erros de conexão quando você tenta executar comandos mágicos do caderno.

1. Escolha **Criar caderno**. O processo de criação pode levar de cinco a dez minutos até que tudo esteja pronto.

1. **Depois que seu notebook for criado, selecione-o e escolha **Abrir Jupyter** ou Abrir. JupyterLab**

O console pode criar um perfil do AWS Identity and Access Management (IAM) para os blocos de anotações ou você mesmo pode criar um. A política para essa função deve incluir o seguinte:

------
#### [ 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}}/*"
      ]
    }
  ]
}
```

------

Observe que a segunda declaração na política acima lista um ou mais recursos do cluster [Neptune](iam-data-resources.md). IDs

Além disso, a função deve estabelecer a seguinte relação de confiança:

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

****  

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

------

Novamente, preparar tudo pode levar de cinco a dez minutos.

Você pode configurar o novo bloco de anotações para funcionar com o Neptune ML, conforme explicado em [Configurar manualmente um bloco de anotações Neptune para o Neptune ML](ml-manual-setup-notebooks.md).

### Usando Python para conectar um notebook genérico de SageMaker IA ao Neptune
<a name="graph-notebooks-workbench-python"></a>

Conectar um notebook ao Netuno é fácil se você tiver instalado o Neptune Magics, mas também é possível conectar um SageMaker notebook AI ao Netuno usando Python, mesmo se você não estiver usando um notebook Neptune.

**Etapas a serem seguidas para se conectar ao Neptune em SageMaker uma célula de notebook com IA**

1. Instale o cliente do Python em Gremlin:

   ```
   !pip install gremlinpython
   ```

   Os notebooks Neptune instalam o cliente Gremlin Python para você, então essa etapa só é necessária se você estiver usando um notebook de IA simples. SageMaker 

1. Escreva um código como o seguinte para se conectar e emitir uma consulta do Gremlin:

   ```
   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()
   ```

**nota**  
Se você estiver usando uma versão do cliente do Python em Gremlin anterior à 3.5.0, esta linha:  

```
connection = DriverRemoteConnection(endpoint,'g',
                 transport_factory=lambda:AiohttpTransport(call_from_event_loop=True))
```
Será apenas:  

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

## Lançamento do notebook gráfico como Amazon Neptune Workbench via CloudFormation
<a name="graph-notebooks-cloudformation"></a>

Você pode implantar notebooks de bancada Amazon Neptune usando o. CloudFormation O CloudFormation modelo implanta os cadernos de bancada de trabalho Neptune como recursos e inclui os cadernos básicos “Getting Started”. O ambiente de trabalho permite que você trabalhe com seu cluster do Amazon Neptune Database usando notebooks Jupyter hospedados pela Amazon. SageMaker Você é cobrado pelos recursos do Workbench por meio da Amazon SageMaker, separadamente do faturamento do Neptune.

O CloudFormation modelo e as instruções detalhadas, incluindo os requisitos e permissões da função do IAM, estão disponíveis no repositório do [notebook gráfico GitHub ](https://github.com/aws/graph-notebook/tree/main/additional-databases/sagemaker/neptune-notebook-cloudformation).

## Ativando CloudWatch registros nos notebooks Neptune
<a name="graph-notebooks-cw-logs"></a>

CloudWatch os registros agora estão habilitados por padrão para o Neptune Notebooks. Se você tiver um notebook antigo que não esteja produzindo CloudWatch registros, siga estas etapas para habilitá-los manualmente:

1. Faça login no Console de gerenciamento da AWS e abra o [console de SageMaker IA](https://console.aws.amazon.com/sagemaker/home).

1. No painel de navegação à esquerda, selecione **Bloco de anotações** e depois **Instâncias do bloco de anotações**. Procure o nome do bloco de anotações Neptune para o qual você gostaria de habilitar os logs.

1. Acesse a página de detalhes selecionando o nome dessa instância do bloco de anotações.

1. Se a instância do bloco de anotações estiver em execução, selecione o botão **Interromper**, no canto superior direito da página de detalhes do bloco de anotações.

1. Em **Permissões e criptografia**, há um campo para o **ARN do perfil do IAM**. Selecione o link nesse campo para acessar o perfil do IAM com o qual essa instância de bloco de anotações é executada.

1. Crie a seguinte política:

------
#### [ 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. Salve essa nova política e anexe-a ao perfil do IAM encontrado na etapa 4.

1. Clique em **Iniciar** no canto superior direito da página de detalhes da instância do SageMaker AI Notebook.

1. Quando os logs começarem a fluir, você verá um link **Visualizar logs** abaixo do campo **Configuração do ciclo de vida**, na parte inferior esquerda da seção **Configurações da instância do bloco de anotações** na página de detalhes.

Se um notebook não iniciar, haverá uma mensagem na página de detalhes do notebook no console de SageMaker IA, informando que a instância do notebook levou mais de 5 minutos para iniciar. CloudWatch registros relevantes para esse problema podem ser encontrados com este nome:

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

## Configurar blocos de anotações de grafos na máquina local
<a name="graph-notebooks-local"></a>

O projeto de bloco de anotações de grafos tem instruções para configurar os blocos de anotações Neptune na máquina local:
+ [Pré-requisitos](https://github.com/aws/graph-notebook/#prerequisites)
+ [Jupyter e instalação JupyterLab ](https://github.com/aws/graph-notebook/#installation)
+ [Conectar-se a um banco de dados de grafos](https://github.com/aws/graph-notebook/#connecting-to-a-graph-database)

É possível conectar os blocos de anotações locais a um cluster de banco de dados do Neptune ou a uma instância local ou remota de um banco de dados de grafos de código aberto.

### Usar blocos de anotações Neptune com clusters do Neptune
<a name="graph-notebooks-local-with-neptune"></a>

Se você estiver se conectando a um cluster Neptune no back-end, talvez queira executar os notebooks na Amazon AI. SageMaker [Conectar-se ao Neptune a SageMaker partir da IA pode ser mais conveniente do que a partir de uma instalação local dos notebooks e permitirá que você trabalhe mais facilmente com o Neptune ML.](machine-learning.md)

Para obter instruções sobre como configurar notebooks em SageMaker IA, consulte [Lançamento de cadernos gráficos usando a Amazon](https://github.com/aws/graph-notebook/blob/main/additional-databases/sagemaker/README.md). SageMaker

Para obter instruções sobre como instalar e configurar o Neptune em si, consulte [Configurar o Amazon Neptune](neptune-setup.md).

Você também pode conectar uma instalação local dos blocos de anotações Neptune a um cluster de banco de dados do Neptune. Isso pode ser um pouco mais complicado porque os clusters de banco de dados do Amazon Neptune só podem ser criados em uma Amazon Virtual Private Cloud (VPC), que é, por design, isolada do mundo externo. Há várias maneiras de se conectar a uma VPC de fora dela. Uma delas é usar um balanceador de carga. Outra é usar o emparelhamento de VPCs (consulte o [Guia de emparelhamento da Amazon Virtual Private Cloud](https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html)).

No entanto, a maneira mais conveniente para a maioria das pessoas é se conectar para configurar um servidor proxy do Amazon EC2 na VPC e, depois, usar o [tunelamento SSH](https://www.ssh.com/ssh/tunneling/) (também chamado de encaminhamento de porta) para se conectar a ele. [Você pode encontrar instruções sobre como configurar em [Conectando o notebook gráfico localmente ao Amazon Neptune](https://github.com/aws/graph-notebook/tree/main/additional-databases/neptune) na pasta `additional-databases/neptune` do projeto do notebook gráfico.](https://github.com/aws/graph-notebook/) GitHub 

### Usar blocos de anotações Neptune com bancos de dados de grafos de código aberto
<a name="graph-notebooks-open-source_databases"></a>

Para começar a usar a tecnologia de grafos sem nenhum custo, você também pode usar os blocos de anotações Neptune com vários bancos de dados de código aberto no back-end. Exemplos são o [servidor TinkerPop Gremlin](https://tinkerpop.apache.org/docs/current/reference/#gremlin-server) e o banco de dados [Blazegraph](https://blazegraph.com/). 

Para usar o servidor do Gremlin como o banco de dados de backend, siga estas etapas:
+ O [caderno gráfico Conectando a uma pasta do Gremlin Server](https://github.com/aws/graph-notebook/blob/main/additional-databases/gremlin-server/README.md#connecting-graph-notebook-to-a-gremlin-server). GitHub 
+ A pasta de [configuração do Gremlin do notebook gráfico](https://github.com/aws/graph-notebook/#gremlin-server). GitHub 

Para usar uma instância local do [Blazegraph](https://github.com/blazegraph/database) como o banco de dados de backend, siga estas etapas:
+ Revise as [instruções de início rápido do Blazegraph](https://github.com/blazegraph/database/wiki/Quick_Start) para entender a configuração básica necessária para executar uma instância do Blazegraph.
+ Acesse a GitHub pasta [de configuração Blazegraph do notebook](https://github.com/aws/graph-notebook/#blazegraph) gráfico contendo os arquivos e instruções necessários para configurar uma instância local do Blazegraph.
+ Dentro do GitHub repositório, navegue até o diretório “blazegraph” e siga as instruções fornecidas para configurar sua instância local do Blazegraph. Isso inclui etapas para baixar o software Blazegraph, configurar os arquivos necessários e iniciar o servidor Blazegraph. 

Após ter uma instância local do Blazegraph em execução, você pode integrá-la à sua aplicação como banco de dados de backend para seus dados e consultas baseados em grafos. Consulte a documentação e o código de exemplo fornecidos no repositório graph-notebook para saber como conectar sua aplicação à instância Blazegraph. 

## Migrando notebooks Neptune para 4.x JupyterLab
<a name="migrating-neptune-notebooks-jupyterlab"></a>

Esta seção descreve várias abordagens para migrar seus notebooks Neptune para ambientes Amazon Linux JupyterLab 4.x e mais recentes. Para obter informações detalhadas sobre controle de versão, consulte [Amazon SageMaker AI JupyterLab JupyterLab ](https://docs.aws.amazon.com/sagemaker/latest/dg/nbi-jl.html) Versioning.

### Abordagens de migração
<a name="migration-approaches"></a>

#### Nova instalação
<a name="fresh-installation"></a>

Se você não precisar preservar as configurações ou arquivos do espaço de trabalho existentes, você pode:

1. Crie uma nova instância de notebook executando JupyterLab 4.x (notebook-al2-v3)

1. Verificar se a nova configuração funciona conforme o esperado

1. Parar e excluir a instância antiga do caderno

#### Migrar a transferência de arquivos
<a name="file-transfer-migration"></a>

Esse método usa seu sistema local ou o Amazon S3 como armazenamento intermediário.

**Melhor para**  

+ [Acesso direto à Internet por meio da configuração de rede Amazon SageMaker AI](https://docs.aws.amazon.com//sagemaker/latest/dg/appendix-notebook-and-internet-access.html#appendix-notebook-and-internet-access-default).
+ Um volume moderado de dados para migração
+ Arquivos específicos para serem preservados, em vez de configurações completas do espaço de trabalho.

##### Método 1: usando a JupyterLab interface do usuário
<a name="method-jupyterlab-ui"></a>

**Melhor para**  

+ Pequeno número de arquivos
+ Migração seletiva de arquivos
+ Prefira drag-and-drop operações simples

**Etapas**  


1. Baixe arquivos da JupyterLab instância de origem:
   + Navegue e selecione os arquivos que você deseja migrar para a nova instância no JupyterLab
   + Clique com o botão direito do mouse e selecione **Baixar**

1. Faça o upload para a nova JupyterLab instância:
   + Use o botão de upload JupyterLab e selecione todos os arquivos que você deseja copiar para a nova instância
   + (ou) arraste e solte arquivos diretamente

##### Método 2: Usar o Amazon S3
<a name="method-s3"></a>

**Melhor para**  

+ Grande número de arquivos
+ Preservação das estruturas de pastas
+ Migrações em massa

**Pré-requisitos**  
O perfil associado ao caderno deve ter as permissões apropriadas para carregar e acessar o bucket do Amazon S3:

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

**nota**  
 [AWS A CLI](https://awscli.amazonaws.com/v2/documentation/api/latest/index.html) deve ser pré-instalada em SageMaker notebooks com IA.

**Etapas**  


1. Abra um terminal JupyterLab ou digite os comandos do terminal em uma célula do notebook com `!` prefixo.

1. Copie arquivos da sua JupyterLab instância antiga para o S3 usando os comandos [Amazon S3](https://docs.aws.amazon.com//cli/latest/reference/s3/cp.html) cp ou Amazon [S3 sync CLI:](https://docs.aws.amazon.com//cli/latest/reference/s3/sync.html)

   ```
   # 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. Copie arquivos do S3 para sua nova JupyterLab instância:

   ```
   # 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
   ```

**nota**  
Use `sync` para manter estruturas de pastas e atualizações incrementais e `cp` para transferências únicas.

#### Migração do Amazon EFS
<a name="amazon-efs-migration"></a>

**Melhor para**  

+ Configuração de rede somente para [VPC](https://docs.aws.amazon.com//sagemaker/latest/dg/appendix-notebook-and-internet-access.html#appendix-notebook-and-internet-access-default-vpc)
+ Grandes volumes de dados

**Etapas**  
Siga o blog [Mount an EFS file system to a Amazon SageMaker AI notebook](https://aws.amazon.com/blogs//machine-learning/mount-an-efs-file-system-to-an-amazon-sagemaker-notebook-with-lifecycle-configurations/) para usar um sistema de arquivos Amazon EFS com suas instâncias de notebook.

Além disso, também há mais algumas etapas que se aplicam especificamente à migração dos blocos de anotações Neptune para o novo ambiente:

1. Durante a [criação do caderno do Neptune no console](https://docs.aws.amazon.com//neptune/latest/userguide/graph-notebooks.html#graph-notebooks-workbench), selecione **Criar uma nova configuração de ciclo de vida** em Configuração do ciclo de vida

1. Na configuração do ciclo de vida do modelo, anexe seu comando de montagem do Amazon EFS (`sudo mount -t nfs ...`) após o script install.sh

Isso garante que seu sistema de arquivos do Amazon EFS seja montado automaticamente sempre que a instância do caderno for iniciada ou reiniciada. Para solucionar problemas de montagem, consulte o [documento de solução de problemas do Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/troubleshooting.html).

**Vantagens**  

+ Acesso contínuo aos arquivos em todas as instâncias
+ Acesso direto aos arquivos sem transferências intermediárias
+ Manipulação eficiente de grandes conjuntos de dados

#### Migração de volumes do Amazon EBS
<a name="ebs-volume-migration"></a>

**Ideal para quando você precisa preservar**  

+ Configurações completas de espaço de trabalho
+ Arquivos ocultos
+ Configurações do sistema
+ Configurações completas do espaço de trabalho, arquivos ocultos e configurações do sistema

Siga o [guia de migração de AWS SageMaker IA para volumes do Amazon EBS](https://docs.aws.amazon.com/sagemaker/latest/dg/nbi-upgrade.html) para transferir arquivos do volume do Amazon EBS associado às instâncias do notebook.

Além disso, também há mais algumas etapas que se aplicam especificamente à migração dos cadernos do Neptune para o novo ambiente.

## Pré-requisitos específicos do Neptune
<a name="graph-notebooks-migrating-to-JL3-prereqs"></a>

No perfil do IAM do bloco de anotações Neptune de origem, adicione todas as seguintes permissões:

```
{
  "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": [
    "*"
  ]
}
```

Especifique o ARN correto para o bucket do S3 que você usará para fazer backup.

## Configuração de ciclo de vida específica do Neptune
<a name="graph-notebooks-migrating-to-JL3-lifecycle"></a>

Ao criar o segundo script de configuração do ciclo de vida para restaurar o backup (de `on-create.sh`) conforme descrito na postagem no blog, o nome do ciclo de vida deve seguir o formato `aws-neptune-*`, como `aws-neptune-sync-from-s3`. Isso garante que a LCC possa ser selecionada durante a criação do bloco de anotações no console do Neptune.

## Sincronização específica do Neptune de um snapshot para uma nova instância
<a name="graph-notebooks-migrating-to-JL3-synchronizing"></a>

Nas etapas descritas na postagem no blog para sincronização de um snapshot para uma nova instância, veja as alterações específicas do Neptune:
+ Na etapa 4, selecione **notebook-al2-v3**.
+ Na etapa 5, reutilize o perfil do IAM do bloco de anotações Neptune de origem.
+ Entre as etapas 7 e 8:
  + Em **Configurações da instância do bloco de anotações**, defina um nome que use o formato `aws-neptune-*`.
  + Abra o menu sanfonado de configurações de **Rede** e selecione a mesma VPC, sub-rede e grupo de segurança do bloco de anotações de origem.

## Etapas específicas do Neptune após a criação do bloco de anotações
<a name="graph-notebooks-migrating-to-JL3-afterwards"></a>

1. Selecione o botão **Abrir Jupyter** para o bloco de anotações. Quando o arquivo `SYNC_COMPLETE` aparecer no diretório principal, vá para a próxima etapa.

1. Acesse a página da instância do notebook no console de SageMaker IA.

1. Interrompa o bloco de anotações.

1. Selecione **Editar**.

1. Nas configurações da instância do bloco de anotações, edite o campo **Configuração do ciclo de vida** selecionando o ciclo de vida original do bloco de anotações Neptune de origem. Observe que esse não é o ciclo de vida de backup do EBS.

1. Selecione **Atualizar configurações do bloco de anotações**.

1. Inicie o bloco de anotações novamente.

Com as modificações descritas aqui nas etapas descritas na postagem do blog, seus cadernos gráficos agora devem ser migrados para uma nova instância do notebook Neptune que usa o ambiente Amazon Linux 2 e 4. JupyterLab **Eles aparecerão para acesso e gerenciamento na página Netuno no, e agora você pode continuar seu trabalho de onde parou selecionando Abrir Jupyter **ou Abrir**. Console de gerenciamento da AWS JupyterLab**

## Crie um notebook Neptune nas instâncias de IA da Amazon SageMaker
<a name="create-notebook-next"></a>

****

1. Abra o console do Amazon SageMaker AI em [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. No painel de navegação, expanda **Bloco de anotações**, e selecione **Instâncias do bloco de anotações**.

1. Escolha **Criar instância de caderno**.

1. Nas **Configurações da instância do bloco de anotações**, em **Configurações da instância do bloco de anotações**, nomeie o bloco de anotações com o prefixo `aws-neptune-` (por exemplo, `aws-neptune-my-test-notebook`).

1. Em **Identificador de plataforma**, selecione **Amazon Linux 2, JupyterLab 4**.

1. Selecione **Configuração adicional**.

1. Em **Configuração do ciclo de vida**, selecione **Criar outra configuração do ciclo de vida**.

1. Em **Configuração**, em **Nome**, insira o nome da instância do notebook da etapa 4.

1. Em **Scripts**, em **Iniciar bloco de anotações**, substitua o script existente por este:

   ```
   #!/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. Selecione **Criar configuração**.

1. Em **Permissões e criptografia**, em **Perfil do IAM**, selecione o perfil criado acima.

1. Em **Rede**, se você estiver usando um endpoint de grafos privado:

   1. Em **VPC**, selecione a VPC em que reside o grafo do Neptune Analytics.

   1. Em **Sub-rede**, selecione uma sub-rede associada ao grafo do Neptune Analytics.

   1. Em **Grupo(s) de segurança**, selecione todos os grupos de segurança associados ao grafo do Neptune Analytics.

1. Escolha **Criar instância de caderno**.

1. Depois de 5 ou 10 minutos, quando o novo bloco de anotações atingir o status `Ready`, selecione-o. **Escolha **Abrir Jupyter** ou Abrir. JupyterLab**

## Configurar o caderno do Neptune manualmente
<a name="graph-notebook-manual-setup"></a>

 Você também pode usar os pacotes de AWS código aberto disponíveis para notebook gráfico e explorador gráfico para configurar um ambiente de notebook Neptune. Embora existam várias maneiras de configurar um caderno usando pacotes de código aberto, a abordagem recomendada é: 
+  Configurar o [caderno de grafos](https://github.com/aws/graph-notebook) em sua máquina local e um túnel SSH do Amazon EC2 que conecta sua máquina local a um cluster do Neptune na mesma VPC da instância do Amazon EC2. 
+  Configurar o [explorador de grafos](https://github.com/aws/graph-explorer) em uma instância do Amazon EC2 dentro da sua VPC. 

 Para obter instruções detalhadas sobre como configurar os pacotes [graph-notebooks e [graph-explorer](https://github.com/aws/graph-explorer)](https://github.com/aws/graph-notebook) de código aberto, consulte a documentação e os repositórios oficiais a seguir: 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) 

**Configuração de segurança**  
 Ao configurar seu ambiente, verifique se as seguintes configurações de segurança estão definidas adequadamente: 
+  **Grupo de segurança do cluster do Neptune**: permita a entrada de tráfego TCP na porta 8182 do grupo de segurança da sua instância do Amazon EC2. 
+  **Grupo de segurança de instâncias do Amazon EC2**: configure regras HTTPS de entrada para permitir o acesso ao explorador de grafos. 

 Recomendamos usar um único grupo de segurança para o cluster do Neptune e para a instância do Amazon EC2. Isso simplifica a configuração e reduz possíveis problemas de conectividade. No entanto, lembre-se de adicionar uma regra de autorreferência para permitir a comunicação entre os recursos dentro do grupo. 