This technical guide will demonstrate how to setup a fully functional configuration data revisioning system using AWS Parameter Store, Ansible, GitHub, and a custom proxy caching service.
Step 1 – Setting up the Ansible repo
Clone the sample repo.
Step 2 – Pushing params to AWS
Run the commands below to push the parameters to AWS Parameter Store.
After you run the command, you should see a message like this.
Step 3 – Viewing the params in AWS
Navigate to https://console.aws.amazon.com/systems-manager/parameters and you should see parameters in the param store.
Step 5 – Automate builds with CodeShip (OPTIONAL)
To ensure parameters wouldn’t get changed without approval, we used CodeShip for automating the build and push process. A user would have to create a pull request, and would need approval from a team member. Upon merge, CodeShip would run tests and push the parameters to AWS.
Step 6 – Setup the Param Proxy Caching Service
- Build a docker image from here: https://github.com/Sjeanpierre/param_api
- Push it to AWS ECR
- Place it in the same cluster or VPC where you want other micro-services to have access to it
- Setup a new DNS entry for it
- From other micro-services, make a http reqest to the param api, such as the below: