mirror of
https://github.com/imjasonh/gcloud-help
synced 2026-07-08 18:45:13 +00:00
336 lines
14 KiB
Text
336 lines
14 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,...]]
|
|
[--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]
|
|
[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.
|
|
|
|
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. 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.
|
|
|
|
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
|
|
|