1
0
Fork 0
mirror of https://github.com/imjasonh/gcloud-help synced 2026-07-08 10:35:03 +00:00
gcloud-help/gcloud/database-migration/migration-jobs/create
2025-02-05 10:43:28 +00:00

361 lines
15 KiB
Text

NAME
gcloud database-migration migration-jobs create - create a Database
Migration Service migration job
SYNOPSIS
gcloud database-migration migration-jobs create
(MIGRATION_JOB : --region=REGION) --destination=DESTINATION
--source=SOURCE --type=TYPE [--no-async] [--commit-id=COMMIT_ID]
[--conversion-workspace=CONVERSION_WORKSPACE]
[--display-name=DISPLAY_NAME]
[--dump-parallel-level=DUMP_PARALLEL_LEVEL] [--dump-path=DUMP_PATH]
[--dump-type=DUMP_TYPE] [--filter=FILTER] [--labels=[KEY=VALUE,...]]
[--all-databases | --databases-filter=databaseName,[...]]
[--cmek-key=CMEK_KEY
: --cmek-keyring=CMEK_KEYRING --cmek-project=CMEK_PROJECT]
[--peer-vpc=PEER_VPC | --static-ip
| [--vm-ip=VM_IP --vm-port=VM_PORT --vpc=VPC : --vm=VM]]
[--sqlserver-databases=databaseName,[...] : --sqlserver-diff-backup
--sqlserver-encrypted-databases=SQLSERVER_ENCRYPTED_DATABASES
--sqlserver-promote-when-ready] [GCLOUD_WIDE_FLAG ...]
DESCRIPTION
Create a Database Migration Service migration job. Recommended steps before
creating the migration job:
▪ Create a source connection profile. See prerequisites here
(https://cloud.google.com/database-migration/docs/mysql/configure-source-database).
▪ Create a destination connection profile. For migrating to Cloud SQL
for MySQL or Cloud SQL for PostgreSQL, use the cloudsql connection
profile for DMS to create the CloudSQL replica for you.
▪ Configure the connectivity method. See prerequisites here
(https://cloud.google.com/database-migration/docs/mysql/configure-connectivity).
▪ [Heterogeneous migrations only] Create a conversion workspace.
EXAMPLES
To create a continuous migration job with IP allowlist connectivity:
$ gcloud database-migration migration-jobs create my-migration-job \
--region=us-central1 --type=CONTINUOUS --source=cp1 \
--destination=cp2
To create a continuous migration job with VPC peering connectivity:
$ gcloud database-migration migration-jobs create my-migration-job \
--region=us-central1 --type=CONTINUOUS --source=cp1 \
--destination=cp2 \
--peer-vpc=projects/my-project/global/networks/my-network
To create a one-time migration job with reverse-SSH tunnel connectivity:
$ gcloud database-migration migration-jobs create my-migration-job \
--region=us-central1 --type=ONE_TIME --source=cp1 \
--destination=cp2 --vm=vm1 --vm-ip=1.1.1.1 --vm-port=1111 \
--vpc=projects/my-project/global/networks/my-network
To create a heterogeneous continuous migration job:
$ gcloud database-migration migration-jobs create my-migration-job \
--region=us-central1 --type=CONTINUOUS --source=cp1 \
--destination=cp2 --conversion-workspace=cw
To create a continuous SQL Server to SQL Server homogeneous migration job
with differential backup enabled: $ gcloud database-migration migration-jobs create my-migration-job \
--region=us-central1 --type=CONTINUOUS --source=cp1 \
--destination=cp2 --sqlserver-diff-backup \
--sqlserver-databases=db1,db2,db3
To create a continuous SQL Server to SQL Server homogeneous migration job
with encrypted databases: $ gcloud database-migration migration-jobs create my-migration-job \
--region=us-central1 --type=CONTINUOUS --source=cp1 \
--destination=cp2 --sqlserver-databases=db1,db2,db3 \
--sqlserver-encrypted-databases=PATH/TO/ENCRYPTION/SETTINGS
POSITIONAL ARGUMENTS
Migration job resource - The migration job to create. The arguments in
this group can be used to specify the attributes of this resource. (NOTE)
Some attributes are not given arguments in this group but can be set in
other ways.
To set the project attribute:
◆ provide the argument migration_job on the command line with a fully
specified name;
◆ provide the argument --project on the command line;
◆ set the property core/project.
This must be specified.
MIGRATION_JOB
ID of the migration_job or fully qualified identifier for the
migration_job.
To set the migration_job attribute:
▸ provide the argument migration_job on the command line.
This positional argument must be specified if any of the other
arguments in this group are specified.
--region=REGION
The Cloud region for the migration_job.
To set the region attribute:
▸ provide the argument migration_job on the command line with a
fully specified name;
▸ provide the argument --region on the command line.
REQUIRED FLAGS
Connection profile resource - ID of the destination connection profile,
representing the destination database. This represents a Cloud resource.
(NOTE) Some attributes are not given arguments in this group but can be
set in other ways.
To set the project attribute:
◆ provide the argument --destination on the command line with a fully
specified name;
◆ provide the argument --project on the command line;
◆ set the property core/project.
To set the region attribute:
◆ provide the argument --destination on the command line with a fully
specified name;
◆ provide the argument --region on the command line.
This must be specified.
--destination=DESTINATION
ID of the connection_profile or fully qualified identifier for the
connection_profile.
To set the connection_profile attribute:
▸ provide the argument --destination on the command line.
Connection profile resource - ID of the source connection profile,
representing the source database. This represents a Cloud resource. (NOTE)
Some attributes are not given arguments in this group but can be set in
other ways.
To set the project attribute:
◆ provide the argument --source on the command line with a fully
specified name;
◆ provide the argument --project on the command line;
◆ set the property core/project.
To set the region attribute:
◆ provide the argument --source on the command line with a fully
specified name;
◆ provide the argument --region on the command line.
This must be specified.
--source=SOURCE
ID of the connection_profile or fully qualified identifier for the
connection_profile.
To set the connection_profile attribute:
▸ provide the argument --source on the command line.
--type=TYPE
Type of the migration job. TYPE must be one of: ONE_TIME, CONTINUOUS.
OPTIONAL FLAGS
--no-async
Waits for the operation in progress to complete before returning.
--commit-id=COMMIT_ID
Commit id for the conversion workspace to use for creating the
migration job. If not specified, the latest commit id will be used by
default.
Conversion workspace resource - Name of the conversion workspaces to be
used for the migration job This represents a Cloud resource. (NOTE) Some
attributes are not given arguments in this group but can be set in other
ways.
To set the project attribute:
◆ provide the argument --conversion-workspace on the command line with
a fully specified name;
◆ provide the argument --project on the command line;
◆ set the property core/project.
To set the region attribute:
◆ provide the argument --conversion-workspace on the command line with
a fully specified name;
◆ provide the argument --region on the command line.
--conversion-workspace=CONVERSION_WORKSPACE
ID of the conversion_workspace or fully qualified identifier for the
conversion_workspace.
To set the conversion_workspace attribute:
▸ provide the argument --conversion-workspace on the command line.
--display-name=DISPLAY_NAME
A user-friendly name for the migration job. The display name can
include letters, numbers, spaces, and hyphens, and must start with a
letter.
--dump-parallel-level=DUMP_PARALLEL_LEVEL
Parallelization level during initial dump of the migration job. If not
specified, will be defaulted to OPTIMAL. DUMP_PARALLEL_LEVEL must be
one of: MIN, OPTIMAL, MAX.
--dump-path=DUMP_PATH
Path to the dump file in Google Cloud Storage, in the format:
gs://[BUCKET_NAME]/[OBJECT_NAME].
--dump-type=DUMP_TYPE
The type of the data dump. Currently applicable for MySQL to MySQL
migrations only. DUMP_TYPE must be one of: LOGICAL, PHYSICAL.
--filter=FILTER
Filter the entities based on AIP-160 (https://google.aip.dev/160)
standard. Example: to filter all tables whose name start with
"Employee" and are present under schema "Company", use filter as
"Company.Employee* AND type=TABLE"
--labels=[KEY=VALUE,...]
List of label KEY=VALUE pairs to add.
Keys must start with a lowercase character and contain only hyphens
(-), underscores (_), lowercase characters, and numbers. Values must
contain only hyphens (-), underscores (_), lowercase characters, and
numbers.
The migration job objects config.
The migration job objects config for databases.
At most one of these can be specified:
--all-databases
Migrate all databases for the migration job. This flag is used only
for Postgres to AlloyDB migrations.
--databases-filter=databaseName,[...]
A list of databases to be migrated to the destination instance.
Provide databases as a comma separated list. This flag is used only
for Postgres to AlloyDB migrations.
Cmek key resource - Name of the CMEK (customer-managed encryption key)
used for the migration job The arguments in this group can be used to
specify the attributes of this resource. (NOTE) Some attributes are not
given arguments in this group but can be set in other ways.
To set the region attribute:
◆ provide the argument --cmek-key on the command line with a fully
specified name;
◆ provide the argument --region on the command line.
--cmek-key=CMEK_KEY
ID of the cmek-key or fully qualified identifier for the cmek-key.
To set the cmek-key attribute:
▸ provide the argument --cmek-key on the command line.
This flag argument must be specified if any of the other arguments in
this group are specified.
--cmek-keyring=CMEK_KEYRING
The CMEK keyring id of the cmek-key.
To set the cmek-keyring attribute:
▸ provide the argument --cmek-key on the command line with a fully
specified name;
▸ provide the argument --cmek-keyring on the command line.
--cmek-project=CMEK_PROJECT
The Cloud project id for the cmek-key.
To set the cmek-project attribute:
▸ provide the argument --cmek-key on the command line with a fully
specified name;
▸ provide the argument --cmek-project on the command line.
The connectivity method used by the migration job. If a connectivity
method isn't specified, then it isn't added to the migration job.
At most one of these can be specified:
--peer-vpc=PEER_VPC
Name of the VPC network to peer with the Cloud SQL private network.
--static-ip
Use the default IP allowlist method. This method creates a public IP
that will be used with the destination Cloud SQL database. The method
works by configuring the source database server to accept connections
from the outgoing IP of the Cloud SQL instance.
Parameters for the reverse-SSH tunnel connectivity method.
--vm-ip=VM_IP
Bastion Virtual Machine IP.
This flag argument must be specified if any of the other arguments
in this group are specified.
--vm-port=VM_PORT
Forwarding port for the SSH tunnel.
This flag argument must be specified if any of the other arguments
in this group are specified.
--vpc=VPC
Name of the VPC network where the VM is hosted.
This flag argument must be specified if any of the other arguments
in this group are specified.
--vm=VM
Name of VM that will host the SSH tunnel bastion.
The SQL Server homogeneous migration config. This is used only for SQL
Server to CloudSQL SQL Server migrations.
--sqlserver-databases=databaseName,[...]
A list of databases to be migrated to the destination Cloud SQL
instance. Provide databases as a comma separated list. This list
should contain all encrypted and non-encrypted database names. This
flag is used only for SQL Server to Cloud SQL migrations.
This flag argument must be specified if any of the other arguments in
this group are specified.
--sqlserver-diff-backup
Enable differential backups. If not specified, differential backups
are disabled by default. Use --sqlserver-diff-backup to enable and
--no-sqlserver-diff-backup to disable. This flag is used only for
homogeneous SQL Server to Cloud SQL for SQL Server migrations.
--sqlserver-encrypted-databases=SQLSERVER_ENCRYPTED_DATABASES
A JSON/YAML file describing the encryption settings per database for
all encrytped databases. Note: Path to the Certificate (.cer) and
Private Key (.pvk) in Cloud Storage, should be in the form of
gs://bucketName/fileName. The instance must have write permissions to
the bucket and read access to the file. An example of a JSON request:
[{ "database": "db1", "encryptionOptions": { "certPath": "Path to
certificate 1", "pvkPath": "Path to certificate private key 1",
"pvkPassword": "Private key password 1" } }, { "database": "db2",
"encryptionOptions": { "certPath": "Path to certificate 2",
"pvkPath": "Path to certificate private key 2", "pvkPassword":
"Private key password 2" } }]
This flag accepts "-" for stdin. This flag is used only for SQL Server to Cloud SQL migrations.
--sqlserver-promote-when-ready
Promote the database when it is ready. Use
--sqlserver-promote-when-ready to enable and
--no-sqlserver-promote-when-ready to disable. This flag is used only
for homogeneous SQL Server to Cloud SQL for SQL Server migrations.
GCLOUD WIDE FLAGS
These flags are available to all commands: --access-token-file, --account,
--billing-project, --configuration, --flags-file, --flatten, --format,
--help, --impersonate-service-account, --log-http, --project, --quiet,
--trace-token, --user-output-enabled, --verbosity.
Run $ gcloud help for details.
NOTES
This variant is also available:
$ gcloud alpha database-migration migration-jobs create