docs/content/v2.25/deploy/public-clouds/aws/cloudformation.md
AWSCloudFormationFullAccess, AmazonEC2FullAccess and ssm:GetParameters privilege.s3:CreateBucket, s3:PutObject and s3:GetObject policies.$ wget https://raw.githubusercontent.com/yugabyte/aws-cloudformation/master/yugabyte_cloudformation.yaml
{{< note title="Note" >}}
When using an instance with local disks (as opposed to EBS), the .yaml file needs to be changed for YugabyteDB to recognize the local disks, as per this example that demonstrates the use of different instance types.
{{< /note >}}
Create CloudFormation template:
$ aws cloudformation create-stack \
--stack-name <stack-name> \
--template-body file://yugabyte_cloudformation.yaml \
--parameters ParameterKey=DBVersion,ParameterValue=2.1.6.0-b17 ParameterKey=KeyName,ParameterValue=<ssh-key-name> \
--region <aws-region>
Once resource creation completes, check that stack was created:
$ aws cloudformation describe-stacks \
--stack-name <stack-name> \
--region <aws-region>
From this output, you can get the VPC ID and YugabyteDB Admin URL.
Because the stack creates a security group that restricts access to the database, you might need to update the security group inbound rules if you have trouble connecting to the DB.
Navigate to your AWS console and open the CloudFormation dashboard. Click Create Stack.
Prepare a template using the downloaded template.
Specify the template file downloaded in Prerequisites: yugabyte_cloudformation.yaml
Provide the required parameters. Each of these fields is prefilled with information from the configuration YAML file that was uploaded. LatestAmiId refers to the ID of the machine image to use, see Find a Linux AMI.
Configure stack options. For more information, see Setting AWS CloudFormation stack options.
Finalize changes before creation.
Check stack output in the dashboard.