SCTools - Extra Region Config
Description
The Service Catalog Tools are a collection of open source tools designed to accelerate use Service Catalog service.
Following lab describes how to activate additional region in existing deployment.
Lab Schema
Configs (Service Catalog Factory)
1.SCFactory - virtual environment
Using virtualenv command create virtual environment. Activate it by executing following command:
source ./factory/bin/activate
2.Install SCFactory
Use pip to install aws-service-catalog-factory package
pip install aws-service-catalog-factory
3.Check SCFactory config
Using aws cli, sso or any other methid to configure access to account, where SCF is deployed. Check SCF config using following command
aws ssm get-parameters --name /servicecataog-factory/config
Example shows that solution is currently deployed only in eu-west-1 Region
4.Update SCFactory config
Using following command, update SCF Regions. Please bean in mind that command should provide full list of all Regions (current ones as well as new).
servicecatalog-factory set-regions eu-west-1 eu-central-1
Example shows that eu-central-1 has been added to Region list
5.Bootstrap SCFactory
Us following command to bootstrap service catalog factory
servicecatalog-factory bootstrap
Above command executes Cloudformation stack change as well as triggers service catalog factory CodePipeline
6.SCFactory CodePipeline (#1)
Wait for servicecatalog-factory-pipeline to be finished
7.SCFactory CodePipeline (#2)
Confirm if CodePipeline has been finished without any errors
Configs (Service Catalog Puppet)
8.SCPuppet - virtual environment
Using virtualenv command create virtual environment. Activate it by executing following command:
source ./puppet/bin/activate
9.Install SCPuppet
Use pip to install aws-service-catalog-puppet package
pip install aws-service-catalog-puppet
10.Check SCPuppet config
Using aws cli, sso or any other methid to configure access to account, where SCPuppet is deployed. Check SCPuppet config using following command
aws ssm get-parameters --name /servicecataog-puppet/config
Example shows that solution is currently deployed only in eu-west-1 Region
11.Update SCPuppet config
Using following template to create SCPuppet config. Update region section by providing both existing and new regions
12.Upload SCPuppet config
Use following command to upload newly created SCPuppet config
servicecatalog-puppet upload-config config.yaml
13.Bootstrap SCPuppet
Use following command to bootstrap service catalog puppet
servicecatalog-puppet bootstrap
Above command executes Cloudformation stack change as well as triggers service catalog puppet CodePipeline
14.SCPuppet CodePipeline (#1)
Wait for servicecatalog-puppet-pipeline to be finished
15.SCPuppet CodePipeline (#2)
Confirm if CodePipeline has been finished without any errors
16.Products CodePipelines
Using CodePipeline console, re-run all product-related pipelines.
17.Products CodePipelines
Using CodeCommit (or any favourite git client) modify manifest.yaml (ServiceCatalogPuppet repository) by adding:
- regions_enabled section for all accounts/OUs definition
- regions: regions_enabled tags for all portfolios/launches which should be deployed in new region
Once ready, commit/push changes
18.SCPuppet CodePipeline (#3)
Pushing changes to service-catalog-puppet repo will execute servicecatalog-puppet-pipeline.
18.SCPuppet CodePipeline (#4)
Wait to confirm that CodePipeline finished without any errors.
Test Area
19.Check spoke account
Using AWS COnsole log to one of spoke accounts, change region to eu-sentral-1 and confirm if products has been deployed.