About the Author
Preface
- What this book covers
- Who this book is for
- What you need for this book
- Conventions
- This is an information box
- This is a warning box
- Tips and tricks
- Example Code Files
Chapter 1: Getting Started with AWS
- What is Amazon Web Services (AWS)?
- AWS Global Infrastructure
- Setting Up Your AWS Account
- AWS Management Console
- Create Your First EC2 Instance
- Connect to Your Instance
- Terminate Your Instance
Chapter 2: Getting Started with CloudFormation
- What is AWS CloudFormation
- AWS CloudFormation Concepts
- How Does AWS CloudFormation Work?
- Template Anatomy
- Format Version
- Description
- Metadata
- Parameters
- Parameter’s Properties
- Type Property
- AWS-specific Parameter Types
- Mappings
- Conditions
- Resources
- Outputs
- Your First Template
- Updating Stack
- Canceling a Stack Update
- Deleting Stack
Chapter 3: The IAM Stack
- Introduction to IAM
- Getting Started with IAM
- IAM Best Practices
- Creating Your First IAM Admin User and Group
- IAM Stack
- AWS::IAM::Role
- AWS::IAM::Policy
- AWS::IAM::InstanceProfile
Chapter 4: The Network Stack
- Introduction to VPC
- The Default VPC
- VPC and Subnet Basics
- Getting Started with VPCs and Subnets
- NAT Gateways
- Security Groups for Your VPC
- Network Stack
- Route53 Hosted Zones
- AWS::EC2::VPC
- AWS::EC2::Subnet
- AWS::EC2::RouteTable
- AWS::EC2::Route
- AWS::EC2::SubnetRouteTableAssociation
- AWS::EC2::InternetGateway
- AWS::EC2::VPCGatewayAttachment
- AWS::EC2::NatGateway
Chapter 5: The Application Stack
- Introduction to Auto Scaling
- How Auto Scaling Works
- The Architecture
- Getting Started with Auto Scaling
- Scaling the Size of Your Auto Scaling Group
- Load Balance Your Auto Scaling Group
- Getting Started with ELB
- Attaching Load Balancer to ASG
- Scheduled Scaling
- Dynamic Scaling
- Scaling Based on Metrics
- Application Stack
- AWS::AutoScaling::LaunchConfiguration
- AWS::AutoScaling::AutoScalingGroup
- AWS::AutoScaling::ScalingPolicy
- AWS::CloudWatch::Alarm
- AWS::ElasticLoadBalancing::LoadBalancer
- AWS::RDS::DBSubnetGroup
- AWS::RDS::DBInstance
- AWS::EC2::Instance
Chapter 6: Stack Policy
- Example Stack Policy
- Defining a Stack Policy
- Setting a Stack Policy
- Updating Protected Resources
- More Example Stack Policies
Appendix A: Converting JSON to YAML
- JSON to YAML
- YAML to JSON
Appendix B: CLI Commands
- Creating a Stack
- Describing and Listing Your Stacks
- Viewing Stack Event History
- Listing Resources
- Retrieving a Template
- Validating a Template
- Uploading Local Artifacts to an S3 Bucket
- Quickly Deploying Templates with Transforms
- Deleting a Stack
Appendix C: Intrinsic Function
- Fn::Base64
- Condition Functions
- Fn::FindInMap
- Fn::GetAtt
- Fn::GetAZs
- Fn::ImportValue
- Fn::Join
- Fn::Select
- Fn::Sub
- Ref
Appendix D: Resource Attribute
- CreationPolicy Attribute
- DeletionPolicy Attribute
- DependsOn Attribute
- Metadata Attribute
- UpdatePolicy Attribute
Appendix E: Pseudo Parameters
- AWS::AccountId
- AWS::NotificationARNs
- AWS::NoValue
- AWS::Region
- AWS::StackId
- AWS::StackName
Appendix F: Helper Scripts
- cfn-init
- cfn-signal
- cfn-get-metadata
- cfn-hup