Skip to main content
Congratulations — you made it to the end of the AWS CloudFormation course. I’m Arno Pretorius, and it was a pleasure guiding you through infrastructure as code with AWS CloudFormation. Throughout this course you progressed from writing basic CloudFormation templates to more advanced topics, including nested stacks, StackSets, and automating deployments with CI/CD using AWS CodePipeline. These skills help you create clean, reusable templates and manage infrastructure reliably in production environments. Keep practicing: building, refactoring, and automating templates will solidify your knowledge. Revisit the hands-on labs and consult the official docs as you continue experimenting.
Tip: When defining an S3 bucket in CloudFormation, you can either provide a BucketName parameter (which must be globally unique) or omit it so CloudFormation generates a unique name for you. Use parameters to make templates reusable across environments.
Below is a simple CloudFormation snippet you can use as a starting point to create an S3 bucket. The BucketName is provided via a parameter so you can control naming in your lab or project.
Parameters:
  InputBucketName:
    Type: String
    Description: Enter the name of your S3 bucket

Resources:
  MyFirstS3Bucket:
    Type: AWS::S3::Bucket
    Metadata:
      Purpose: Demo S3 bucket for training
    Properties:
      BucketName: !Ref InputBucketName
      Tags:
        - Key: Environment
          Value: Lab
        - Key: Owner
          Value: KodeKloud
S3 bucket names must be globally unique and follow S3 naming rules: 3–63 characters; lowercase letters, numbers, hyphens, and periods (no underscores); must start and end with a letter or number; and cannot be formatted as an IP address (for example, 192.168.5.4). Avoid consecutive periods. Ensure the parameter value you provide meets these constraints.
What you learned
TopicWhy it matters
CloudFormation templatesDefine infrastructure as code for reproducible environments
Parameters & metadataMake templates flexible and self-describing
Nested stacks & StackSetsReuse templates and scale across accounts/regions
CI/CD with AWS CodePipelineAutomate deployments for consistent, auditable releases
Links and references The KodeKloud community is here to support you — ask questions, share your progress, and keep building. Thank you for joining me on this journey. Best of luck applying what you’ve learned.

Watch Video