用 AWS CloudFormation 於使用串流使用者應用程式設定 Neptune 到海王星的複製 - Amazon Neptune

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

用 AWS CloudFormation 於使用串流使用者應用程式設定 Neptune 到海王星的複製

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

選擇您所在地區的 AWS CloudFormation 範本

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

區域 檢視 在設計工具中檢視 啟動
美國東部 (維吉尼亞北部) 檢視 在設計工具中檢視 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 DB 叢集寫入存取權IDs的安全群組。

  • RouteTableIds— 如果您還沒有在 Neptune 中建立 Amazon DynamoDB 端點VPC,這是必要的。您必須提供與子網路IDs相關聯的路由表格的逗號分隔清單。

  • CreateDDBVPCEndPoint— 預設為的布林值true,指示是否需要建立 Dynamo DB VPC 端點。false如果您已在. 中建立 DynamoDB 端點,則只需將其變更為。VPC

  • CreateMonitoringEndPoint— 預設為的 Boolean 值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 E CloudWatch vents 調用步驟函數以從故障中恢復。預設值值 (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— 選擇小鬼,openCypher, 或. SPARQL

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

  • StreamDBClusterResourceId— 如果您的 Neptune DB 叢集使用IAM驗證,請將此參數設定為叢集資源識別碼。資源 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— 要SPARQL更新URL的目標端點,例如https://abc.com/xyz。此端點可以是任何支援四元或三元組的SPARQL存放區。

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

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

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

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

  • 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 API參考〉 AWS CloudFormation CreateStackAPI中的〈〉。

    然後選擇 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 成品。