title: How to manage different environments using cloudformation
body: <p>I’m currently using cloudformation(JSON template) to manage different aws services.<br>
  The Aws services I use include S3, Lambda, API Gateway, Amplify, Dynamodb, IAM, Cognito.<br></p>
  <p>The development phase is almost finished, now I'm finding ways to build UAT environments by using the existing cloudformation template.<br></p>
  <p>Different ways come into my mind.<br></p>
  <p>1.Create cloudformation stacks after switching to different countries<br></p>
  <blockquote>
  <p>But some services like S3 are cross-country services.<br>
  If I create another S3 bucket with the same name, the bucket might not be successfully created.<br></p>
  </blockquote>
  <p>2.Create new IAM User for creating cloudformation stacks <br></p>
  <blockquote>
  <p>I am currently using the Root User account for the Service Management in the development stage(I know it's bad practise though).<br> I can create a new IAM user(e.g. UAT_Admin) to create the UAT environment.<br></p>
  </blockquote>
  <p>These are all methods I can think of. I need a method for the environment management for later creating UAT environments,<br> and even the Production environment in the future.<br>
  Any comments or suggestions?<br></p>