本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
用 AWS CloudFormation 於使用串流使用者應用程式設定 Neptune 到海王星的複製
您可以使用 AWS CloudFormation 範本來設定 Neptune 串流取用者應用程式,以支援 Neptune 到 Neptune 的複寫。
主題
選擇您所在地區的 AWS CloudFormation 範本
若要在 AWS CloudFormation 主控台上啟動適當的 AWS CloudFormation 堆疊,請根據您要使用的 AWS 區域選擇下表中的其中一個 Launch Stack 按鈕。
區域 | 檢視 | 在設計工具中檢視 | 啟動 |
---|---|---|---|
美國東部 (維吉尼亞北部) | 檢視 |
在設計工具中檢視 |
|
美國東部 (俄亥俄) | 檢視 |
在設計工具中檢視 |
|
美國西部 (加利佛尼亞北部) | 檢視 |
在設計工具中檢視 |
|
美國西部 (奧勒岡) | 檢視 |
在設計工具中檢視 |
|
加拿大 (中部) | 檢視 |
在設計工具中檢視 |
|
南美洲 (聖保羅) | 檢視 |
在設計工具中檢視 |
|
歐洲 (斯德哥爾摩) | 檢視 |
在設計工具中檢視 |
|
歐洲 (愛爾蘭) | 檢視 |
在設計工具中檢視 |
|
歐洲 (倫敦) | 檢視 |
在設計工具中檢視 |
|
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 DB 叢集寫入存取權IDs的安全群組。RouteTableIds
— 如果您還沒有在 Neptune 中建立 Amazon DynamoDB 端點VPC,這是必要的。您必須提供與子網路IDs相關聯的路由表格的逗號分隔清單。CreateDDBVPCEndPoint
— 預設為的布林值true
,指示是否需要建立 Dynamo DB VPC 端點。false
如果您已在. 中建立 DynamoDB 端點,則只需將其變更為。VPCCreateMonitoringEndPoint
— 預設為的 Boolean 值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 E CloudWatch vents 調用步驟函數以從故障中恢復。預設值值 (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
— 選擇小鬼,openCypher, 或. SPARQLIAMAuthEnabledOnSourceStream
— 如果您的 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 Alarm
—true
如果要為新堆疊建立 CloudWatch 警示,請將此設定為。SNS Topic ARN for Cloudwatch Alarm Notifications
— 應傳送 CloudWatch 警ARN示通知的SNS主題 (僅在啟用警報時才需要)。Email for Alarm Notifications
– 應接收警示通知的電子郵件地址 (僅在警示啟用時才需要)。
針對警示通知的目的地,您只能新增、SNS僅限電子郵件或兩者皆可新增SNS和電子郵件。
執行 AWS CloudFormation 範本
現在,您可以完成佈建 Neptune 串流消費者應用程式執行個體的程序,如下所示:
在中 AWS CloudFormation的 [指定堆疊詳細資訊] 頁面上,選擇 [下一步]。
在選項頁面上,選擇下一步。
-
在「複查」頁面上,選取第一個核取方塊,以確認 AWS CloudFormation 將會建立IAM資源。選取第二個核取方塊,確認新堆疊
CAPABILITY_AUTO_EXPAND
。注意
CAPABILITY_AUTO_EXPAND
明確確認在建立堆疊時,無需事先檢閱,即可擴充巨集。使用者通常會在處理過的範本中建立變更集,以便在實際建立堆疊之前,檢閱巨集所做的變更。若要取得更多資訊,請參閱〈AWS CloudFormation API參考〉 AWS CloudFormation CreateStackAPI中的〈〉。然後選擇 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 成品。