使用 AWS CloudFormation 設定 Neptune-to-Neptune Streams Consumer Application 的複寫 - Amazon Neptune

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

使用 AWS CloudFormation 設定 Neptune-to-Neptune Streams Consumer Application 的複寫

您可以使用 AWS CloudFormation 範本來設定 Neptune 串流取用者應用程式以支援 Neptune-to-Neptune複寫。

選擇您區域的 AWS CloudFormation 範本

若要在 AWS CloudFormation 主控台上啟動適當的 AWS CloudFormation 堆疊,請根據要使用的區域 AWS ,選擇下表中的其中一個啟動堆疊按鈕。

區域 檢視 在設計工具中檢視 啟動
美國東部 (維吉尼亞北部) 檢視 在設計工具中檢視 Orange button labeled "Launch Stack" with an arrow icon.
美國東部 (俄亥俄) 檢視 在設計工具中檢視 Orange button labeled "Launch Stack" with an arrow icon.
美國西部 (加利佛尼亞北部) 檢視 在設計工具中檢視 Orange button labeled "Launch Stack" with an arrow icon.
美國西部 (奧勒岡) 檢視 在設計工具中檢視 Orange button labeled "Launch Stack" with an arrow icon.
加拿大 (中部) 檢視 在設計工具中檢視 Orange button labeled "Launch Stack" with an arrow icon.
南美洲 (聖保羅) 檢視 在設計工具中檢視 Orange button labeled "Launch Stack" with an arrow icon.
歐洲 (斯德哥爾摩) 檢視 在設計工具中檢視 Orange button labeled "Launch Stack" with an arrow icon.
歐洲 (愛爾蘭) 檢視 在設計工具中檢視 Orange button labeled "Launch Stack" with an arrow icon.
歐洲 (倫敦) 檢視 在設計工具中檢視 Orange button labeled "Launch Stack" with an arrow icon.
Europe (Paris) 檢視 在設計工具中檢視 Orange button labeled "Launch Stack" with an arrow icon.
歐洲 (法蘭克福) 檢視 在設計工具中檢視 Orange button labeled "Launch Stack" with an arrow icon.
Middle East (Bahrain) 檢視 在設計工具中檢視 Orange button labeled "Launch Stack" with an arrow icon.
中東 (UAE) 檢視 在設計工具中檢視 Orange button labeled "Launch Stack" with an arrow icon.
以色列 (特拉維夫) 檢視 在設計工具中檢視 Orange button labeled "Launch Stack" with an arrow icon.
非洲 (開普敦) 檢視 在設計工具中檢視 Orange button labeled "Launch Stack" with an arrow icon.
亞太區域 (東京) 檢視 在設計工具中檢視 Orange button labeled "Launch Stack" with an arrow icon.
亞太區域 (香港) 檢視 在設計工具中檢視 Orange button labeled "Launch Stack" with an arrow icon.
亞太區域 (首爾) 檢視 在設計工具中檢視 Orange button labeled "Launch Stack" with an arrow icon.
亞太區域 (新加坡) 檢視 在設計工具中檢視 Orange button labeled "Launch Stack" with an arrow icon.
亞太區域 (悉尼) 檢視 在設計工具中檢視 Orange button labeled "Launch Stack" with an arrow icon.
亞太區域 (孟買) 檢視 在設計工具中檢視 Orange button labeled "Launch Stack" with an arrow icon.
中國 (北京) 檢視 在設計工具中檢視 Orange button labeled "Launch Stack" with an arrow icon.
中國 (寧夏) 檢視 在設計工具中檢視 Orange button labeled "Launch Stack" with an arrow icon.
AWS GovCloud (美國西部) 檢視 在設計工具中檢視 Orange button labeled "Launch Stack" with an arrow icon.
AWS GovCloud (美國東部) 檢視 在設計工具中檢視 Orange button labeled "Launch Stack" with an arrow icon.

Create Stack (建立堆疊) 頁面中,選擇 Next (下一步)

新增有關您要建立之 Neptune 串流消費者堆疊的詳細資訊

Specify Stack Details (指定堆疊詳細資訊) 頁面提供的屬性和參數,可用於控制應用程式設定。

堆疊名稱 – 您正在建立的新 AWS CloudFormation 堆疊的名稱。您通常可以使用預設值 NeptuneStreamPoller

Parameters (參數) 下提供下列項目:

串流取用者執行VPC位置的網路組態
  • VPC – 提供輪詢 Lambda 函數將執行VPC的 名稱。

  • SubnetIDs – 要建立網路界面的子網路。新增與 Neptune 叢集對應的子網路。

  • SecurityGroupIds – 提供授予來源 Neptune 資料庫叢集寫入傳入存取權IDs的安全群組。

  • RouteTableIds – 如果您還沒有 Amazon DynamoDB 端點VPC,則需要此項目才能在 Neptune 中建立 Amazon DynamoDB 端點。您必須提供與子網路IDs相關聯的逗號分隔路由表清單。

  • CreateDDBVPCEndPoint – 布林值預設為 true,指出是否需要建立 Dynamo DBVPC端點。只有在 中已建立 DynamoDB 端點false時,才需要將其變更為 VPC。

  • CreateMonitoringEndPoint – 預設為 的布林值true,指示是否需要建立監控VPC端點。只有在 中已建立監控端點false時,才需要將其變更為 VPC。

串流輪詢器
  • ApplicationName – 您通常可將此設定保留為預設值 (NeptuneStream)。如果使用不同的名稱,其必須是唯一的。

  • LambdaMemorySize – 用來設定 Lambda 輪詢器函數可用的記憶體大小。預設值是 2,048 MB。

  • LambdaRuntime – 從 Neptune 串流擷取項目之 Lambda 函數中使用的語言。您可以將此項設為 python3.9java8

  • LambdaS3Bucket – 包含 Lambda 程式碼成品的 Amazon S3 儲存貯體。除非您要使用從不同 Amazon S3 儲存貯體載入的自訂 Lambda 輪詢函數,否則請保留空白。

  • LambdaS3Key – 對應至 Lambda 程式碼成品的 Amazon S3 金鑰。除非您要使用自訂的 Lambda 輪詢函數,否則請保留空白。

  • LambdaLoggingLevel – 一般而言,會將此設定保留為預設值,即 INFO

  • ManagedPolicies – 列出用於執行 Lambda 函數的受管政策。一般而言,除非您要使用自訂的 Lambda 輪詢函數,否則請保留空白。

  • StreamRecordsHandler – 一般而言,除非您要為 Neptune 串流中的記錄使用自訂處理器,否則請保留空白。

  • StreamRecordsBatchSize – 要從串流擷取的記錄數目上限。您可以使用此參數調整效能。預設值 (5000) 是很好的開始。允許的上限為 10,000。數字愈大,從串流讀取記錄所需的網路呼叫就愈少,但處理記錄所需的記憶體就愈多。此參數的較低值會產生較低的輸送量。

  • MaxPollingWaitTime – 兩次輸詢之間的最長等待時間 (以秒為單位)。決定調用 Lambda 輪詢器輪詢 Neptune 串流的頻率。將此值設為 0 可連續輪詢。最高值為 3,600 秒 (1 小時)。預設值 (60 秒) 是很好的開始,視圖表資料變更的速度而定。

  • MaxPollingInterval – 最長連續輪詢期間 (以秒為單位)。使用此項來設定 Lambda 輪詢函數的逾時。此值應在 5 秒與 900 秒之間的範圍內。預設值 (600 秒) 是很好的開始。

  • StepFunctionFallbackPeriod – 等待輪詢器的 step-function-fallback-period 單位數量,之後透過 Amazon CloudWatch Events 呼叫步驟函數,從失敗中復原。預設值值 (5 分鐘) 是很好的開始。

  • StepFunctionFallbackPeriodUnit – 用來測量前一個 StepFunctionFallbackPeriodUnit (minuteshoursdays) 的時間單位。通常預設值 (minutes) 就足夠了。

Neptune 串流
  • NeptuneStreamEndpoint – (必要) Neptune 來源串流的端點。這會採取以下兩種形式之一:

    • https://your DB cluster:port/propertygraph/stream (或其別名 https://your DB cluster:port/pg/stream)。

    • https://your DB cluster:port/sparql/stream.

  • Neptune Query Engine – 選擇 GremlinopenCypher、 或 SPARQL。

  • IAMAuthEnabledOnSourceStream – 如果您的 Neptune 資料庫叢集正在使用IAM身分驗證,請將此參數設定為 true

  • StreamDBClusterResourceId – 如果您的 Neptune 資料庫叢集使用IAM身分驗證,請將此參數設定為叢集資源 ID。資源 ID 和叢集 ID 不同。其改採的格式為:cluster- 加上 28 個英數字元。它可以在 Neptune 主控台的叢集詳細資訊下找到。

目標 Neptune 資料庫叢集
  • TargetNeptuneClusterEndpoint – 目標備份叢集的叢集端點 (僅主機名稱)。

    請注意,如果您指定 TargetNeptuneClusterEndpoint,您也無法指定 TargetSPARQLUpdateEndpoint

  • TargetNeptuneClusterPort – 目標叢集的連接埠號碼。

    請注意,如果指定 TargetSPARQLUpdateEndpoint,則會忽略 TargetNeptuneClusterPort 的設定。

  • IAMAuthEnabledOnTargetCluster – 如果要在目標叢集上啟用IAM身分驗證,則設為 true。

  • TargetAWSRegion – 目標備份叢集 AWS 的區域,例如 us-east-1)。只有在目標備份叢集 AWS 的區域與 Neptune 來源叢集的區域不同時,才能提供此參數,就像跨區域複寫一樣。如果來源和目標區域相同,則此為選用參數。

    請注意,如果 TargetAWSRegion值不是 Neptune 支援 的有效 AWS 區域,則程序會失敗。

  • TargetNeptuneDBClusterResourceId選用 :只有在目標資料庫叢集上啟用IAM身分驗證時,才需要這麼做。設定為目標叢集的資源 ID。

  • SPARQLTripleOnlyMode – 決定是否啟用僅限三重模式的布林旗標。在僅限三重模式中,沒有具名圖形複寫。預設值為 false

  • TargetSPARQLUpdateEndpoint 更新的目標端點URL,SPARQL例如 https://abc.com/xyz。此端點可以是支援四元或三元的任何SPARQL儲存。

    請注意,如果指定 TargetSPARQLUpdateEndpoint,您也無法指定 TargetNeptuneClusterEndpoint,且會忽略 TargetNeptuneClusterPort 的設定。

  • BlockSparqlReplicationOnBlankNode – 布林值旗標,如果設定為 true,則會停止 SPARQL(RDF) 資料 BlankNode 中的複寫。預設值為 false

警示
  • Required to create Cloud watch Alarmtrue 如果您想要為新堆疊建立 CloudWatch 警示,請將此設定為 。

  • SNS Topic ARN for Cloudwatch Alarm Notifications – 應傳送 CloudWatch 警示通知SNSARN的主題 (只有在啟用警示時才需要)。

  • Email for Alarm Notifications – 應接收警示通知的電子郵件地址 (僅在警示啟用時才需要)。

對於警示通知的目的地,您只能新增SNS、僅限電子郵件,或同時新增 SNS和電子郵件。

執行 AWS CloudFormation 範本

現在,您可以完成佈建 Neptune 串流消費者應用程式執行個體的程序,如下所示:

  1. 在 AWS CloudFormation的指定堆疊詳細資訊頁面上,選擇下一個

  2. 選項頁面上,選擇下一步

  3. 檢閱頁面上,選取第一個核取方塊以確認 AWS CloudFormation 將建立IAM資源。選取第二個核取方塊,確認新堆疊 CAPABILITY_AUTO_EXPAND

    注意

    CAPABILITY_AUTO_EXPAND 明確確認在建立堆疊時,無需事先檢閱,即可擴充巨集。使用者通常會在處理過的範本中建立變更集,以便在實際建立堆疊之前,檢閱巨集所做的變更。如需詳細資訊,請參閱 AWS CloudFormation CreateStack 參考 API中的 。 AWS CloudFormation API

    然後選擇 Create (建立)

使用最新的 Lambda 成品更新串流輪詢器

您可以使用最新的 Lambda 程式碼成品更新串流輪詢器,如下所示:

  1. 在 中 AWS Management Console,導覽 AWS CloudFormation 至並選擇主父 AWS CloudFormation 堆疊。

  2. 為堆疊選取更新選項。

  3. 選取取代目前範本

  4. 針對範本來源,選擇 Amazon S3 URL 並輸入下列 S3URL:

    https://aws-neptune-customer-samples.s3.amazonaws.com/neptune-stream/neptune_to_neptune.json
  5. 選取下一步,而不變更任何 AWS CloudFormation 參數。

  6. 請選擇 Update Stack (建立堆疊)

堆疊現在將使用最新的成品來更新 Lambda 成品。