This topic describes migrating from an Amazon S3 instance of the VMware Tanzu Service Broker for AWS tile to the Tanzu Cloud Service Broker for AWS tile.
Because the VMware Tanzu Service Broker for AWS (hereafter referred to as the legacy broker) tile is going out of support, it is important to move from S3 instances that were created by the legacy broker over to the Cloud Service Broker for AWS.
The Cloud Service Broker for AWS plans are configurable. When migrating, examine the configuration of the plans in use with the legacy broker and create matching plans in the Cloud Service Broker for AWS.
You can use any compatible migration tool for migrating between Amazon S3 buckets.
Both the legacy broker and the Cloud Service Broker for AWS allow you to customize service plans. Create plans in the Cloud Service Broker for AWS that match the plans used in the legacy broker. It might be useful to create a test service instance and compare the properties in the AWS console. For how to configure plans, see Configure Services with Cloud Service Broker for AWS.
You might want to migrate data from instances created with the legacy broker to instances created with the Cloud Service Broker for AWS.
Important:Migration of data might incur app downtime. The amount of downtime depends on the method chosen.
There are several options for performing S3 migration, including the AWS CLI sync command, the AWS DataSync tool, manual data migration, and options available from other vendors. For more information about the data migration process, see the documentation for the option that you choose.
In general, to migrate data:
The following steps have the Cloud Foundry commands necessary to use the AWS sync command. To migrate data from an existing legacy S3 instance to the Cloud Service Broker for AWS:
Create a backup of the legacy S3 instance.
Create a new S3 service instance using Cloud Service Broker for AWS.
Configure and run data migration, for example, by using the AWS CLI
sync command. For how to configure data migration, see the documentation for the process you have chosen.
Disconnect the app from the legacy service binding by running:
cf unbind-service APP-NAME LEGACY-SERVICE-INSTANCE-NAME
APP-NAMEis the app using the S3 instance.
LEGACY-SERVICE-INSTANCE-NAMEis the name of the VMware Tanzu Service Broker for the AWS-brokered S3 instance.
$ cf unbind-service my-app my-old-instance
Bind the app to the new service instance by running:
cf bind-service APP-NAME NEW-SERVICE-INSTANCE-NAME
NEW-SERVICE-INSTANCE-NAME is the name of the Cloud Service Broker for AWS service instance that you created earlier.
$ cf bind-service my-app my-csb-aws-instance
Because Cloud Service Broker for AWS creates new credentials at bind time, this creates new binding credentials for the app.
Update the app to consume the new binding credential format. The legacy binding exposes the bucket name in the credentials block as
bucket, whereas the binding credentials received from Cloud Service Broker for AWS exposes the bucket name as
bucket_name. You must update the consuming app to handle the
bucket_name credential property.
Note: VMware recommends reviewing all references where the legacy S3 bucket was used to make sure that the new bucket is now being referenced.
Push and start the app by running:
cf push APP-NAME
(Optional) After the migration has finished, remove the legacy service instance.