本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 AWS CloudFormation 設定 Neptune-to-Neptune Streams Consumer Application 的複寫
您可以使用 AWS CloudFormation 範本來設定 Neptune 串流取用者應用程式以支援 Neptune-to-Neptune複寫。
主題
選擇您區域的 AWS CloudFormation 範本
若要在 AWS CloudFormation 主控台上啟動適當的 AWS CloudFormation 堆疊,請根據要使用的區域 AWS ,選擇下表中的其中一個啟動堆疊按鈕。
區域 | 檢視 | 在設計工具中檢視 | 啟動 |
---|---|---|---|
美國東部 (維吉尼亞北部) | 檢視 |
在設計工具中檢視 |
|
美國東部 (俄亥俄) | 檢視 |
在設計工具中檢視 |
|
美國西部 (加利佛尼亞北部) | 檢視 |
在設計工具中檢視 |
|
美國西部 (奧勒岡) | 檢視 |
在設計工具中檢視 |
|
加拿大 (中部) | 檢視 |
在設計工具中檢視 |
|
南美洲 (聖保羅) | 檢視 |
在設計工具中檢視 |
|
歐洲 (斯德哥爾摩) | 檢視 |
在設計工具中檢視 |
|
歐洲 (愛爾蘭) | 檢視 |
在設計工具中檢視 |
|
歐洲 (倫敦) | 檢視 |
在設計工具中檢視 |
|
Europe (Paris) | 檢視 |
在設計工具中檢視 |
|
歐洲 (法蘭克福) | 檢視 |
在設計工具中檢視 |
|
Middle East (Bahrain) | 檢視 |
在設計工具中檢視 |
|
中東 (UAE) | 檢視 |
在設計工具中檢視 |
|
以色列 (特拉維夫) | 檢視 |
在設計工具中檢視 |
|
非洲 (開普敦) | 檢視 |
在設計工具中檢視 |
|
亞太區域 (東京) | 檢視 |
在設計工具中檢視 |
|
亞太區域 (香港) | 檢視 |
在設計工具中檢視 |
|
亞太區域 (首爾) | 檢視 |
在設計工具中檢視 |
|
亞太區域 (新加坡) | 檢視 |
在設計工具中檢視 |
|
亞太區域 (悉尼) | 檢視 |
在設計工具中檢視 |
|
亞太區域 (孟買) | 檢視 |
在設計工具中檢視 |
|
中國 (北京) | 檢視 |
在設計工具中檢視 |
|
中國 (寧夏) | 檢視 |
在設計工具中檢視 |
|
AWS GovCloud (美國西部) | 檢視 |
在設計工具中檢視 |
|
AWS GovCloud (美國東部) | 檢視 |
在設計工具中檢視 |
|
在 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.9
或java8
。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
(minutes
、hours
或days
) 的時間單位。通常預設值 (minutes
) 就足夠了。
Neptune 串流
-
NeptuneStreamEndpoint
– (必要) Neptune 來源串流的端點。這會採取以下兩種形式之一:https://
(或其別名your DB cluster
:port
/propertygraph/streamhttps://
)。your DB cluster
:port
/pg/streamhttps://
.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 Alarm
–true
如果您想要為新堆疊建立 CloudWatch 警示,請將此設定為 。SNS Topic ARN for Cloudwatch Alarm Notifications
– 應傳送 CloudWatch 警示通知SNSARN的主題 (只有在啟用警示時才需要)。Email for Alarm Notifications
– 應接收警示通知的電子郵件地址 (僅在警示啟用時才需要)。
對於警示通知的目的地,您只能新增SNS、僅限電子郵件,或同時新增 SNS和電子郵件。
執行 AWS CloudFormation 範本
現在,您可以完成佈建 Neptune 串流消費者應用程式執行個體的程序,如下所示:
在 AWS CloudFormation的指定堆疊詳細資訊頁面上,選擇下一個 。
在選項頁面上,選擇下一步。
-
在檢閱頁面上,選取第一個核取方塊以確認 AWS CloudFormation 將建立IAM資源。選取第二個核取方塊,確認新堆疊
CAPABILITY_AUTO_EXPAND
。注意
CAPABILITY_AUTO_EXPAND
明確確認在建立堆疊時,無需事先檢閱,即可擴充巨集。使用者通常會在處理過的範本中建立變更集,以便在實際建立堆疊之前,檢閱巨集所做的變更。如需詳細資訊,請參閱 AWS CloudFormation CreateStack 參考 API中的 。 AWS CloudFormation API然後選擇 Create (建立)。
使用最新的 Lambda 成品更新串流輪詢器
您可以使用最新的 Lambda 程式碼成品更新串流輪詢器,如下所示:
在 中 AWS Management Console,導覽 AWS CloudFormation 至並選擇主父 AWS CloudFormation 堆疊。
為堆疊選取更新選項。
選取取代目前範本。
-
針對範本來源,選擇 Amazon S3 URL 並輸入下列 S3URL:
https://aws-neptune-customer-samples.s3.amazonaws.com/neptune-stream/neptune_to_neptune.json
選取下一步,而不變更任何 AWS CloudFormation 參數。
請選擇 Update Stack (建立堆疊)。
堆疊現在將使用最新的成品來更新 Lambda 成品。