

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 連線至 Amazon Neptune 叢集
<a name="get-started-connecting"></a>

建立 Neptune 叢集之後，您必須設定網路存取，您的應用程式才能連線到叢集端點。下列各節說明網路連線選項。如需連線後查詢資料的詳細資訊，請參閱 [存取圖形資料](get-started-access-graph.md)。

## 網路連線選項
<a name="get-started-connect-ways"></a>

*只能*在 Amazon Virtual Private Cloud (Amazon VPC) 中建立的 Amazon Neptune 資料庫叢集。除非您為資料庫叢集啟用和設定 [Neptune 公有端點](neptune-public-endpoints.md)，否則其端點只能在該 VPC 內存取。

您可以在其 VPC 中設定 Neptune 資料庫叢集的網路存取權，方法如下：
+ [從同一 VPC 中的 Amazon EC2 執行個體連線](get-started-connect-ec2-same-vpc.md)
+ [從另一個 VPC 中的 Amazon EC2 執行個體連線](get-started-connect-ec2-other-vpc.md)
+ [從私有網路連線](get-started-connect-private-net.md)
+ [從公有端點連線](neptune-public-endpoints.md)

## 驗證您的連線
<a name="get-started-verify-connection"></a>

設定網路存取之後，您可以透過呼叫執行個體狀態端點來驗證連線是否正常運作。成功的回應會確認您的用戶端可以連線到 Neptune 叢集。

------
#### [ AWS CLI ]

執行以下命令：

```
aws neptunedata get-engine-status \
  --endpoint-url https://{{your-neptune-endpoint}}:{{port}} \
  --region {{us-east-1}}
```

如需詳細資訊，請參閱《 AWS CLI 命令參考》中的 [get-engine-status](https://docs.aws.amazon.com/cli/latest/reference/neptunedata/get-engine-status.html)。

------
#### [ SDK ]

```
import boto3
from botocore.config import Config

client = boto3.client(
    'neptunedata',
    endpoint_url='https://{{your-neptune-endpoint}}:{{port}}',
    config=Config(read_timeout=10, retries={'total_max_attempts': 1})
)

response = client.get_engine_status()

print(response)
```

------
#### [ awscurl ]

```
awscurl https://{{your-neptune-endpoint}}:{{port}}/status \
  --region {{us-east-1}} \
  --service neptune-db
```

**注意**  
此範例假設您的 AWS 登入資料已在您的環境中設定。將 {{us-east-1}} 取代為 Neptune 叢集的區域。

如需使用 **awscurl**搭配 IAM 身分驗證的詳細資訊，請參閱 [使用 `awscurl` 搭配臨時憑證，安全地連線至啟用 IAM 身分驗證的資料庫叢集](iam-auth-connect-command-line.md#iam-auth-connect-awscurl)。

------
#### [ curl ]

執行以下命令：

```
curl -G https://{{your-neptune-endpoint}}:{{port}}/status
```

**注意**  
此命令只有在叢集上未啟用 IAM 身分驗證時才有效。如果已啟用 IAM 身分驗證，請 AWS CLI 改用 **awscurl**或 。

------

運作狀態良好的叢集會傳回包含 的 JSON 回應`"status": "healthy"`。例如：

```
{
    "status": "healthy",
    "startTime": "Thu Aug 24 21:07:13 UTC 2023",
    "dbEngineVersion": "{{1.3.1.0.R1}}",
    "role": "writer",
    "dfeQueryEngine": "viaQueryHint",
    "gremlin": { "version": "tinkerpop-{{3.7.2}}" },
    "sparql": { "version": "sparql-1.1" },
    "opencypher": { "version": "Neptune-9.0.20190305-1.0" },
    "labMode": { ... },
    "features": { ... },
    "settings": { ... }
}
```

如果您無法連線到端點，請確認您的網路組態允許連接埠 8182 （或設定的連接埠） 上的流量，而且您的安全群組規則允許來自用戶端的傳入連線。如需詳細資訊，請參閱[保護對 Neptune 的存取](get-started-security.md)。如需設定 AWS CLI、 SDKs或 的說明`curl`，請參閱 [使用命令列工具](get-started-cli-tools.md)。