AWS dms medium security documentation change
Summary
Added requirement for ExtractDocID parameter in CDC with multi-document transactions, updated MongoDB command formatting, and refined parameter table descriptions.
Security assessment
The change explicitly requires enabling ExtractDocID for CDC with multi-document transactions to prevent task failures. This addresses potential data integrity/availability issues during replication of MongoDB transactions, which could lead to incomplete or inconsistent data replication if misconfigured.
Diff
diff --git a/dms/latest/userguide/CHAP_Source.MongoDB.md b/dms/latest/userguide/CHAP_Source.MongoDB.md index 441b81f79..cb2ccdd30 100644 --- a//dms/latest/userguide/CHAP_Source.MongoDB.md +++ b//dms/latest/userguide/CHAP_Source.MongoDB.md @@ -53 +53 @@ For example, consider the following documents in a MongoDB collection called myC - > db.myCollection.find() + db.myCollection.find() @@ -65,0 +66,2 @@ You can optionally set the extra connection attribute `extractDocID` to _true_ t +When using CDC with sources that produce [multi-document transactions](https://www.mongodb.com/docs/manual/reference/method/Session.startTransaction/#mongodb-method-Session.startTransaction), the `ExtractDocId` parameter **must be** set to _true_. If this parameter is not enabled, the AWS DMS task will fail when it encounters a multi-document transaction. + @@ -178 +180 @@ And once the role is created, create a user in the database to be migrated. - > use test + use test @@ -515,3 +517,4 @@ Setting (attribute) | Valid values | Default value and description -`socketTimeoutMS` | NUMBER Extra Connection Attribute (ECA) only. | This setting is in units of milliseconds and configures the connection timeout for MongoDB clients. If the value is less than or equal to zero, then the MongoDB client default is used. -`UseUpdateLookUp` | boolean `true` `false` | When true, during CDC update events, AWS DMS copies over the entire updated document to the target. When set to false, AWS DMS uses the MongoDB update command to only update modified fields in the document on the target. -`ReplicateShardCollections` | boolean `true` `false` | When true, AWS DMS replicates data to shard collections. AWS DMS only uses this setting if the target endpoint is a DocumentDB elastic cluster. When this setting is true, note the following: +`ExtractDocID` | `true` `false` | `false` – Use this attribute when `NestingLevel` is set to `"none"`. When using CDC with sources that produce [multi-document transactions](https://www.mongodb.com/docs/manual/reference/method/Session.startTransaction/#mongodb-method-Session.startTransaction), the `ExtractDocId` parameter **must be** set to `true`. If this parameter is not enabled, the AWS DMS task will fail when it encounters a multi-document transaction. +`socketTimeoutMS` | An integer greater than or equal to 0. Extra Connection Attribute (ECA) only. | This setting is in units of milliseconds and configures the connection timeout for MongoDB clients. If the value is less than or equal to zero, then the MongoDB client default is used. +`UseUpdateLookUp` | `true` `false` | When true, during CDC update events, AWS DMS copies over the entire updated document to the target. When set to false, AWS DMS uses the MongoDB update command to only update modified fields in the document on the target. +`ReplicateShardCollections` | `true` `false` | When true, AWS DMS replicates data to shard collections. AWS DMS only uses this setting if the target endpoint is a DocumentDB elastic cluster. When this setting is true, note the following: