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

config.yaml.template

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

manifest.yaml

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.

me@radkowski.pro