SlideShare a Scribd company logo
AWS CloudFormation
Intrinsic Functions and Mappings
Managing Windows instances in the Cloud
Sponsors
Presented by Adam Book
from
Find me on LinkedIn
CloudFormation Deep Dive
CloudFormation Review
AWS CloudFormation Allows you to build Infrastructure as
code using templates which are constructed from json.
CloudFormation Template
There are 8 sections of a Cloud formation template, most
of which are optional
Format Version
(optional)
Description (optional)
Metadata (optional)
Mappings (optional)
Parameters(optional)
Conditions(optional)
Resources (required)
Outputs(optional)
CloudFormation
Best Practice
For more info
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/best-practices.html
As you use Cloud Formation make sure you follow the best
practices for success
• Do Not Embed Credentials in You Templates
• Use AWS-Specific Parameter Types
• Use Parameter Constraints
• Validate Templates Before Using them
• Manage All Stack Resources Through AWS Cloud Formation
CloudFormation
Intrinsic Functions
Function Overview
Fn::Base64 returns the Base64 representation of the input string (user data)
Fn::FindInMap returns the value corresponding to keys in a two-level map that is
declared in the Mappings section
Fn::GetAtt returns the value of an attribute from a resource in the template.
Fn::GetAZs returns an array that lists Availability Zones for a specified region.
Fn::Join appends a set of values into a single value, separated by the
specified delimiter.
Fn::Select returns a single object from a list of objects by index.
Ref returns the value of the specified parameter or resource.
CloudFormation
Mappings
The Mappings section is optional but is matches a
key to a corresponding set of named values.
If you want to set values based on region, you can
create a mapping that uses the key as the name and
then contains the values you want to specify for each
region.
You cannot include parameters, pseudo parameters, or intrinsic
functions in the Mappings section.
CloudFormation
Mappings - cont.
"Mappings" : {
"RegionMap" : {
"us-east-1" : { "32" : "ami-6411e20d"},
"us-west-1" : { "32" : "ami-c9c7978c"},
"eu-west-1" : { "32" : "ami-37c2f643"},
"ap-southeast-1" : { "32" : "ami-66f28c34"},
"ap-northeast-1" : { "32" : "ami-9c03a89d"}
}
}
CloudFormation
Mappings - cont.
"asgApp": {
"MinSize" : { "value": "2" },
"MaxSize" : { "value": "2" },
"DesiredCapacity" : { "value": "2" },
"HealthCheckType" : { "value": "EC2" },
"TerminationPolicies" : { "value":
"OldestInstance" }
}
CloudFormation
Mappings - cont.
"asgAppA": {
"Type": "AWS::AutoScaling::AutoScalingGroup",
"Properties": {
"AvailabilityZones" : { "Ref": "AZs" },
"VPCZoneIdentifier" : { "Ref": "PrivateAPPSubnets" },
"LaunchConfigurationName" : { "Ref": "LaunchConfig" },
"MinSize" : { "Fn::FindInMap": [ "asgApp",
"MinSize", "value" ] },
"MaxSize" : { "Fn::FindInMap": [ "asgApp",
"MaxSize", "value" ] },
"DesiredCapacity" : { "Fn::FindInMap": [ "asgApp",
"DesiredCapacity", "value" ] },
"HealthCheckType" : { "Fn::FindInMap": [ "asgApp",
"HealthCheckType", "value" ] },
"TerminationPolicies" : [{ "Fn::FindInMap": [ "asgApp",
"TerminationPolicies", "value" ] }],
Fn::FindInMap
"Resources" : {
"myEC2Instance" : {
"Type" : "AWS::EC2::Instance",
"Properties" : {
"ImageId" : { "Fn::FindInMap" : [ "RegionMap", { "Ref" :
"AWS::Region" }, "32"]},
"InstanceType" : "m1.small" }
}
}
}
This function performs lookups, it accepts a ‘mappings’ object on of
one or two keys and then returns a value
For more info
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-
reference-findinmap.html
Fn::Base64
{ "Fn::Base64" : ”apt-get update –y " }
This function accepts plain text and converts it to Base 64
For more info
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-
reference-base64.html
Fn::Join
"Outputs" : {
"URL" : {
"Description" : "The URL of your demo website",
"Value" : { "Fn::Join" : [ "", [ "http://", { "Fn::GetAtt" : [
"ElasticLoadBalancer", "DNSName" ]}]]}
}
}
This can be used to concatenate various components to produce
things such as a URL.
For more info
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-
reference-join.html
Fn::GetAtt
Some examples of attributes that can be called are:
• EC2 -> PrivateIp
• EC2-> PublicIp
• ElasticLoadBalancing -> DNSName
• IAM::Group -> ARN
• S3 Bucket -> DomainName
• Simple AD -> Alias
As you dynamically create items in your Cloud Formation templates ,
you may need to use some of the Attributes after they are created.
For more info
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-
reference-getatt.html
Fn::GetAtt
"MyEIP" : {
"Type" : "AWS::EC2::EIP",
"Properties" : {
"InstanceId" : { "Ref" : "MyEC2Instance" }
}
}
“Fn:GetAtt” :[ “MyEIP”, “AllocationId” ]
As you dynamically create items in your Cloud Formation templates
For more info
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-
reference-getatt.html
Fn::GetAZs
{ "Fn::GetAZs" : "us-east-1" }
{ "Fn::GetAZs" : { "Ref" : "AWS::Region" } }
The intrinsic function Ref returns to value of the specified
parameter or resource.
For more info
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-
reference-select.html
NOTE: You can use the Ref function in the Fn::GetAZz function.
Fn::Select
{ “Fn::Select” : [ “0”, {”Fn::GetAZs” : “”} ] }
Selects a single object from a list of object and can be paired with
other functions such as Fn::GetAZs
For more info
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-
reference-select.html
The output is the first Availablity zone in the region where the
template is applied.
Replacing the 0 with a 1 would select the second Availability Zone
Fn::Ref
"MyEIP" : {
"Type" : "AWS::EC2::EIP",
"Properties" : {
"InstanceId" : { "Ref" : "MyEC2Instance" }
}
}
The intrinsic function Ref returns to value of the specified
parameter or resource.
For more info
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-
reference-ref.html
Cloud Formation Templates
Real World Examples
Photo curtesy
of Stephen Radford via
http://snap.io
Questions?
Image by http://www.gratisography.com/
Ad

More Related Content

What's hot (20)

Apache spark - Architecture , Overview & libraries
Apache spark - Architecture , Overview & librariesApache spark - Architecture , Overview & libraries
Apache spark - Architecture , Overview & libraries
Walaa Hamdy Assy
 
Hadoop Map Reduce
Hadoop Map ReduceHadoop Map Reduce
Hadoop Map Reduce
VNIT-ACM Student Chapter
 
Hive Hadoop
Hive HadoopHive Hadoop
Hive Hadoop
Farafekr Technology Ltd.
 
Apache Spark - Basics of RDD | Big Data Hadoop Spark Tutorial | CloudxLab
Apache Spark - Basics of RDD | Big Data Hadoop Spark Tutorial | CloudxLabApache Spark - Basics of RDD | Big Data Hadoop Spark Tutorial | CloudxLab
Apache Spark - Basics of RDD | Big Data Hadoop Spark Tutorial | CloudxLab
CloudxLab
 
DNS Security Presentation ISSA
DNS Security Presentation ISSADNS Security Presentation ISSA
DNS Security Presentation ISSA
Srikrupa Srivatsan
 
Big Data Technology Stack : Nutshell
Big Data Technology Stack : NutshellBig Data Technology Stack : Nutshell
Big Data Technology Stack : Nutshell
Khalid Imran
 
Introduction to Apache Hadoop Eco-System
Introduction to Apache Hadoop Eco-SystemIntroduction to Apache Hadoop Eco-System
Introduction to Apache Hadoop Eco-System
Md. Hasan Basri (Angel)
 
Hive
HiveHive
Hive
Manas Nayak
 
Introduction to Map Reduce
Introduction to Map ReduceIntroduction to Map Reduce
Introduction to Map Reduce
Apache Apex
 
Apache Spark in Depth: Core Concepts, Architecture & Internals
Apache Spark in Depth: Core Concepts, Architecture & InternalsApache Spark in Depth: Core Concepts, Architecture & Internals
Apache Spark in Depth: Core Concepts, Architecture & Internals
Anton Kirillov
 
Apache Hive - Introduction
Apache Hive - IntroductionApache Hive - Introduction
Apache Hive - Introduction
Muralidharan Deenathayalan
 
Hadoop Overview & Architecture
Hadoop Overview & Architecture  Hadoop Overview & Architecture
Hadoop Overview & Architecture
EMC
 
Introduction to YARN and MapReduce 2
Introduction to YARN and MapReduce 2Introduction to YARN and MapReduce 2
Introduction to YARN and MapReduce 2
Cloudera, Inc.
 
Dive into PySpark
Dive into PySparkDive into PySpark
Dive into PySpark
Mateusz Buśkiewicz
 
Hadoop Tutorial For Beginners
Hadoop Tutorial For BeginnersHadoop Tutorial For Beginners
Hadoop Tutorial For Beginners
Dataflair Web Services Pvt Ltd
 
Introduction to Apache Airflow - Data Day Seattle 2016
Introduction to Apache Airflow - Data Day Seattle 2016Introduction to Apache Airflow - Data Day Seattle 2016
Introduction to Apache Airflow - Data Day Seattle 2016
Sid Anand
 
Map Reduce
Map ReduceMap Reduce
Map Reduce
Vigen Sahakyan
 
Airflow presentation
Airflow presentationAirflow presentation
Airflow presentation
Ilias Okacha
 
Consumer offset management in Kafka
Consumer offset management in KafkaConsumer offset management in Kafka
Consumer offset management in Kafka
Joel Koshy
 
Hadoop Tutorial For Beginners | Apache Hadoop Tutorial For Beginners | Hadoop...
Hadoop Tutorial For Beginners | Apache Hadoop Tutorial For Beginners | Hadoop...Hadoop Tutorial For Beginners | Apache Hadoop Tutorial For Beginners | Hadoop...
Hadoop Tutorial For Beginners | Apache Hadoop Tutorial For Beginners | Hadoop...
Simplilearn
 
Apache spark - Architecture , Overview & libraries
Apache spark - Architecture , Overview & librariesApache spark - Architecture , Overview & libraries
Apache spark - Architecture , Overview & libraries
Walaa Hamdy Assy
 
Apache Spark - Basics of RDD | Big Data Hadoop Spark Tutorial | CloudxLab
Apache Spark - Basics of RDD | Big Data Hadoop Spark Tutorial | CloudxLabApache Spark - Basics of RDD | Big Data Hadoop Spark Tutorial | CloudxLab
Apache Spark - Basics of RDD | Big Data Hadoop Spark Tutorial | CloudxLab
CloudxLab
 
DNS Security Presentation ISSA
DNS Security Presentation ISSADNS Security Presentation ISSA
DNS Security Presentation ISSA
Srikrupa Srivatsan
 
Big Data Technology Stack : Nutshell
Big Data Technology Stack : NutshellBig Data Technology Stack : Nutshell
Big Data Technology Stack : Nutshell
Khalid Imran
 
Introduction to Apache Hadoop Eco-System
Introduction to Apache Hadoop Eco-SystemIntroduction to Apache Hadoop Eco-System
Introduction to Apache Hadoop Eco-System
Md. Hasan Basri (Angel)
 
Introduction to Map Reduce
Introduction to Map ReduceIntroduction to Map Reduce
Introduction to Map Reduce
Apache Apex
 
Apache Spark in Depth: Core Concepts, Architecture & Internals
Apache Spark in Depth: Core Concepts, Architecture & InternalsApache Spark in Depth: Core Concepts, Architecture & Internals
Apache Spark in Depth: Core Concepts, Architecture & Internals
Anton Kirillov
 
Hadoop Overview & Architecture
Hadoop Overview & Architecture  Hadoop Overview & Architecture
Hadoop Overview & Architecture
EMC
 
Introduction to YARN and MapReduce 2
Introduction to YARN and MapReduce 2Introduction to YARN and MapReduce 2
Introduction to YARN and MapReduce 2
Cloudera, Inc.
 
Introduction to Apache Airflow - Data Day Seattle 2016
Introduction to Apache Airflow - Data Day Seattle 2016Introduction to Apache Airflow - Data Day Seattle 2016
Introduction to Apache Airflow - Data Day Seattle 2016
Sid Anand
 
Airflow presentation
Airflow presentationAirflow presentation
Airflow presentation
Ilias Okacha
 
Consumer offset management in Kafka
Consumer offset management in KafkaConsumer offset management in Kafka
Consumer offset management in Kafka
Joel Koshy
 
Hadoop Tutorial For Beginners | Apache Hadoop Tutorial For Beginners | Hadoop...
Hadoop Tutorial For Beginners | Apache Hadoop Tutorial For Beginners | Hadoop...Hadoop Tutorial For Beginners | Apache Hadoop Tutorial For Beginners | Hadoop...
Hadoop Tutorial For Beginners | Apache Hadoop Tutorial For Beginners | Hadoop...
Simplilearn
 

Viewers also liked (13)

Aws meetup managed_nat
Aws meetup managed_natAws meetup managed_nat
Aws meetup managed_nat
Adam Book
 
Aws atlanta march_2015
Aws atlanta march_2015Aws atlanta march_2015
Aws atlanta march_2015
Adam Book
 
Docker on AWS
Docker on AWSDocker on AWS
Docker on AWS
Sascha Möllering
 
Aws meetup building_lambda
Aws meetup building_lambdaAws meetup building_lambda
Aws meetup building_lambda
Adam Book
 
Integrate Jenkins with S3
Integrate Jenkins with S3Integrate Jenkins with S3
Integrate Jenkins with S3
devopsjourney
 
AWS Atlanta meetup 2/ 2017 Redshift WLM
AWS Atlanta meetup  2/ 2017 Redshift WLM AWS Atlanta meetup  2/ 2017 Redshift WLM
AWS Atlanta meetup 2/ 2017 Redshift WLM
Adam Book
 
Test-Driven Infrastructure with CloudFormation and Cucumber.
Test-Driven Infrastructure with CloudFormation and Cucumber. Test-Driven Infrastructure with CloudFormation and Cucumber.
Test-Driven Infrastructure with CloudFormation and Cucumber.
Stelligent
 
AWS Cloud Formation
AWS Cloud Formation AWS Cloud Formation
AWS Cloud Formation
Adam Book
 
AWS Certification Paths And Tips for Getting Certified
AWS Certification Paths And Tips for Getting CertifiedAWS Certification Paths And Tips for Getting Certified
AWS Certification Paths And Tips for Getting Certified
Adam Book
 
Aws Atlanta meetup Amazon Athena
Aws Atlanta meetup Amazon AthenaAws Atlanta meetup Amazon Athena
Aws Atlanta meetup Amazon Athena
Adam Book
 
Aws meetup aws_waf
Aws meetup aws_wafAws meetup aws_waf
Aws meetup aws_waf
Adam Book
 
From development environments to production deployments with Docker, Compose,...
From development environments to production deployments with Docker, Compose,...From development environments to production deployments with Docker, Compose,...
From development environments to production deployments with Docker, Compose,...
Jérôme Petazzoni
 
SlideShare 101
SlideShare 101SlideShare 101
SlideShare 101
Amit Ranjan
 
Aws meetup managed_nat
Aws meetup managed_natAws meetup managed_nat
Aws meetup managed_nat
Adam Book
 
Aws atlanta march_2015
Aws atlanta march_2015Aws atlanta march_2015
Aws atlanta march_2015
Adam Book
 
Aws meetup building_lambda
Aws meetup building_lambdaAws meetup building_lambda
Aws meetup building_lambda
Adam Book
 
Integrate Jenkins with S3
Integrate Jenkins with S3Integrate Jenkins with S3
Integrate Jenkins with S3
devopsjourney
 
AWS Atlanta meetup 2/ 2017 Redshift WLM
AWS Atlanta meetup  2/ 2017 Redshift WLM AWS Atlanta meetup  2/ 2017 Redshift WLM
AWS Atlanta meetup 2/ 2017 Redshift WLM
Adam Book
 
Test-Driven Infrastructure with CloudFormation and Cucumber.
Test-Driven Infrastructure with CloudFormation and Cucumber. Test-Driven Infrastructure with CloudFormation and Cucumber.
Test-Driven Infrastructure with CloudFormation and Cucumber.
Stelligent
 
AWS Cloud Formation
AWS Cloud Formation AWS Cloud Formation
AWS Cloud Formation
Adam Book
 
AWS Certification Paths And Tips for Getting Certified
AWS Certification Paths And Tips for Getting CertifiedAWS Certification Paths And Tips for Getting Certified
AWS Certification Paths And Tips for Getting Certified
Adam Book
 
Aws Atlanta meetup Amazon Athena
Aws Atlanta meetup Amazon AthenaAws Atlanta meetup Amazon Athena
Aws Atlanta meetup Amazon Athena
Adam Book
 
Aws meetup aws_waf
Aws meetup aws_wafAws meetup aws_waf
Aws meetup aws_waf
Adam Book
 
From development environments to production deployments with Docker, Compose,...
From development environments to production deployments with Docker, Compose,...From development environments to production deployments with Docker, Compose,...
From development environments to production deployments with Docker, Compose,...
Jérôme Petazzoni
 
Ad

Similar to AWS CloudFormation Intrinsic Functions and Mappings (13)

Scalable and Fault-Tolerant Apps with AWS
Scalable and Fault-Tolerant Apps with AWSScalable and Fault-Tolerant Apps with AWS
Scalable and Fault-Tolerant Apps with AWS
Fernando Rodriguez
 
AWS Presents: Infrastructure as Code on AWS - ChefConf 2015
AWS Presents: Infrastructure as Code on AWS - ChefConf 2015AWS Presents: Infrastructure as Code on AWS - ChefConf 2015
AWS Presents: Infrastructure as Code on AWS - ChefConf 2015
Chef
 
Hands-On AWS: Java SDK + CLI for Cloud Developers
Hands-On AWS: Java SDK + CLI for Cloud DevelopersHands-On AWS: Java SDK + CLI for Cloud Developers
Hands-On AWS: Java SDK + CLI for Cloud Developers
Meetu Maltiar
 
Programando sua infraestrutura com o AWS CloudFormation
Programando sua infraestrutura com o AWS CloudFormationProgramando sua infraestrutura com o AWS CloudFormation
Programando sua infraestrutura com o AWS CloudFormation
Amazon Web Services LATAM
 
5 things you don't know about Amazon Web Services
5 things you don't know about Amazon Web Services5 things you don't know about Amazon Web Services
5 things you don't know about Amazon Web Services
Simone Brunozzi
 
대용량 데이타 쉽고 빠르게 분석하기 :: 김일호 솔루션즈 아키텍트 :: Gaming on AWS 2016
대용량 데이타 쉽고 빠르게 분석하기 :: 김일호 솔루션즈 아키텍트 :: Gaming on AWS 2016대용량 데이타 쉽고 빠르게 분석하기 :: 김일호 솔루션즈 아키텍트 :: Gaming on AWS 2016
대용량 데이타 쉽고 빠르게 분석하기 :: 김일호 솔루션즈 아키텍트 :: Gaming on AWS 2016
Amazon Web Services Korea
 
CloudFormation experience
CloudFormation experienceCloudFormation experience
CloudFormation experience
Vitebsk Miniq
 
Manage cloud infrastructures using Zend Framework 2 (and ZF1)
Manage cloud infrastructures using Zend Framework 2 (and ZF1)Manage cloud infrastructures using Zend Framework 2 (and ZF1)
Manage cloud infrastructures using Zend Framework 2 (and ZF1)
Enrico Zimuel
 
AWS SSA Webinar 28 - Getting Started with AWS - Infrastructure as Code
AWS SSA Webinar 28 - Getting Started with AWS - Infrastructure as CodeAWS SSA Webinar 28 - Getting Started with AWS - Infrastructure as Code
AWS SSA Webinar 28 - Getting Started with AWS - Infrastructure as Code
Cobus Bernard
 
AWS Serverless Workshop
AWS Serverless WorkshopAWS Serverless Workshop
AWS Serverless Workshop
Mikael Puittinen
 
IaC: Tools of the trade
IaC: Tools of the tradeIaC: Tools of the trade
IaC: Tools of the trade
Michael Pearce
 
Azure arm templates
Azure arm templatesAzure arm templates
Azure arm templates
sachinkalia15
 
DevOps Fest 2019. Alex Casalboni. Configuration management and service discov...
DevOps Fest 2019. Alex Casalboni. Configuration management and service discov...DevOps Fest 2019. Alex Casalboni. Configuration management and service discov...
DevOps Fest 2019. Alex Casalboni. Configuration management and service discov...
DevOps_Fest
 
Scalable and Fault-Tolerant Apps with AWS
Scalable and Fault-Tolerant Apps with AWSScalable and Fault-Tolerant Apps with AWS
Scalable and Fault-Tolerant Apps with AWS
Fernando Rodriguez
 
AWS Presents: Infrastructure as Code on AWS - ChefConf 2015
AWS Presents: Infrastructure as Code on AWS - ChefConf 2015AWS Presents: Infrastructure as Code on AWS - ChefConf 2015
AWS Presents: Infrastructure as Code on AWS - ChefConf 2015
Chef
 
Hands-On AWS: Java SDK + CLI for Cloud Developers
Hands-On AWS: Java SDK + CLI for Cloud DevelopersHands-On AWS: Java SDK + CLI for Cloud Developers
Hands-On AWS: Java SDK + CLI for Cloud Developers
Meetu Maltiar
 
Programando sua infraestrutura com o AWS CloudFormation
Programando sua infraestrutura com o AWS CloudFormationProgramando sua infraestrutura com o AWS CloudFormation
Programando sua infraestrutura com o AWS CloudFormation
Amazon Web Services LATAM
 
5 things you don't know about Amazon Web Services
5 things you don't know about Amazon Web Services5 things you don't know about Amazon Web Services
5 things you don't know about Amazon Web Services
Simone Brunozzi
 
대용량 데이타 쉽고 빠르게 분석하기 :: 김일호 솔루션즈 아키텍트 :: Gaming on AWS 2016
대용량 데이타 쉽고 빠르게 분석하기 :: 김일호 솔루션즈 아키텍트 :: Gaming on AWS 2016대용량 데이타 쉽고 빠르게 분석하기 :: 김일호 솔루션즈 아키텍트 :: Gaming on AWS 2016
대용량 데이타 쉽고 빠르게 분석하기 :: 김일호 솔루션즈 아키텍트 :: Gaming on AWS 2016
Amazon Web Services Korea
 
CloudFormation experience
CloudFormation experienceCloudFormation experience
CloudFormation experience
Vitebsk Miniq
 
Manage cloud infrastructures using Zend Framework 2 (and ZF1)
Manage cloud infrastructures using Zend Framework 2 (and ZF1)Manage cloud infrastructures using Zend Framework 2 (and ZF1)
Manage cloud infrastructures using Zend Framework 2 (and ZF1)
Enrico Zimuel
 
AWS SSA Webinar 28 - Getting Started with AWS - Infrastructure as Code
AWS SSA Webinar 28 - Getting Started with AWS - Infrastructure as CodeAWS SSA Webinar 28 - Getting Started with AWS - Infrastructure as Code
AWS SSA Webinar 28 - Getting Started with AWS - Infrastructure as Code
Cobus Bernard
 
IaC: Tools of the trade
IaC: Tools of the tradeIaC: Tools of the trade
IaC: Tools of the trade
Michael Pearce
 
DevOps Fest 2019. Alex Casalboni. Configuration management and service discov...
DevOps Fest 2019. Alex Casalboni. Configuration management and service discov...DevOps Fest 2019. Alex Casalboni. Configuration management and service discov...
DevOps Fest 2019. Alex Casalboni. Configuration management and service discov...
DevOps_Fest
 
Ad

More from Adam Book (13)

Aws meetup control_tower
Aws meetup control_towerAws meetup control_tower
Aws meetup control_tower
Adam Book
 
Aws meetup s3_plus
Aws meetup s3_plusAws meetup s3_plus
Aws meetup s3_plus
Adam Book
 
AWS Atlanta Meetup -AWS Spot Blocks and Spot Fleet
AWS Atlanta Meetup -AWS Spot Blocks and Spot FleetAWS Atlanta Meetup -AWS Spot Blocks and Spot Fleet
AWS Atlanta Meetup -AWS Spot Blocks and Spot Fleet
Adam Book
 
AWS Atlanta meetup Build Tools - Code Commit, Code Build, Code Deploy
AWS Atlanta meetup Build Tools - Code Commit, Code Build, Code DeployAWS Atlanta meetup Build Tools - Code Commit, Code Build, Code Deploy
AWS Atlanta meetup Build Tools - Code Commit, Code Build, Code Deploy
Adam Book
 
AWS Atlanta Meetup - June 19 - AWS organizations - Account Structure
AWS Atlanta Meetup - June 19 - AWS organizations - Account StructureAWS Atlanta Meetup - June 19 - AWS organizations - Account Structure
AWS Atlanta Meetup - June 19 - AWS organizations - Account Structure
Adam Book
 
Aws meetup systems_manager
Aws meetup systems_managerAws meetup systems_manager
Aws meetup systems_manager
Adam Book
 
AWS Atlanta meetup Secrets Manager
AWS Atlanta meetup Secrets ManagerAWS Atlanta meetup Secrets Manager
AWS Atlanta meetup Secrets Manager
Adam Book
 
AWS Atlanta meetup load-balancing
AWS Atlanta meetup load-balancingAWS Atlanta meetup load-balancing
AWS Atlanta meetup load-balancing
Adam Book
 
AWS Atlanta meetup cognit Back to Basics
AWS Atlanta meetup cognit Back to BasicsAWS Atlanta meetup cognit Back to Basics
AWS Atlanta meetup cognit Back to Basics
Adam Book
 
AWS Atlanta meetup CloudFormation conditionals
AWS Atlanta meetup CloudFormation conditionals AWS Atlanta meetup CloudFormation conditionals
AWS Atlanta meetup CloudFormation conditionals
Adam Book
 
Aws Atlanta meetup - Understanding AWS Config
Aws Atlanta meetup - Understanding AWS ConfigAws Atlanta meetup - Understanding AWS Config
Aws Atlanta meetup - Understanding AWS Config
Adam Book
 
Aws meetup ssm
Aws meetup ssmAws meetup ssm
Aws meetup ssm
Adam Book
 
Aws multi-region High Availability
Aws multi-region High Availability Aws multi-region High Availability
Aws multi-region High Availability
Adam Book
 
Aws meetup control_tower
Aws meetup control_towerAws meetup control_tower
Aws meetup control_tower
Adam Book
 
Aws meetup s3_plus
Aws meetup s3_plusAws meetup s3_plus
Aws meetup s3_plus
Adam Book
 
AWS Atlanta Meetup -AWS Spot Blocks and Spot Fleet
AWS Atlanta Meetup -AWS Spot Blocks and Spot FleetAWS Atlanta Meetup -AWS Spot Blocks and Spot Fleet
AWS Atlanta Meetup -AWS Spot Blocks and Spot Fleet
Adam Book
 
AWS Atlanta meetup Build Tools - Code Commit, Code Build, Code Deploy
AWS Atlanta meetup Build Tools - Code Commit, Code Build, Code DeployAWS Atlanta meetup Build Tools - Code Commit, Code Build, Code Deploy
AWS Atlanta meetup Build Tools - Code Commit, Code Build, Code Deploy
Adam Book
 
AWS Atlanta Meetup - June 19 - AWS organizations - Account Structure
AWS Atlanta Meetup - June 19 - AWS organizations - Account StructureAWS Atlanta Meetup - June 19 - AWS organizations - Account Structure
AWS Atlanta Meetup - June 19 - AWS organizations - Account Structure
Adam Book
 
Aws meetup systems_manager
Aws meetup systems_managerAws meetup systems_manager
Aws meetup systems_manager
Adam Book
 
AWS Atlanta meetup Secrets Manager
AWS Atlanta meetup Secrets ManagerAWS Atlanta meetup Secrets Manager
AWS Atlanta meetup Secrets Manager
Adam Book
 
AWS Atlanta meetup load-balancing
AWS Atlanta meetup load-balancingAWS Atlanta meetup load-balancing
AWS Atlanta meetup load-balancing
Adam Book
 
AWS Atlanta meetup cognit Back to Basics
AWS Atlanta meetup cognit Back to BasicsAWS Atlanta meetup cognit Back to Basics
AWS Atlanta meetup cognit Back to Basics
Adam Book
 
AWS Atlanta meetup CloudFormation conditionals
AWS Atlanta meetup CloudFormation conditionals AWS Atlanta meetup CloudFormation conditionals
AWS Atlanta meetup CloudFormation conditionals
Adam Book
 
Aws Atlanta meetup - Understanding AWS Config
Aws Atlanta meetup - Understanding AWS ConfigAws Atlanta meetup - Understanding AWS Config
Aws Atlanta meetup - Understanding AWS Config
Adam Book
 
Aws meetup ssm
Aws meetup ssmAws meetup ssm
Aws meetup ssm
Adam Book
 
Aws multi-region High Availability
Aws multi-region High Availability Aws multi-region High Availability
Aws multi-region High Availability
Adam Book
 

Recently uploaded (20)

Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
Network Security. Different aspects of Network Security.
Network Security. Different aspects of Network Security.Network Security. Different aspects of Network Security.
Network Security. Different aspects of Network Security.
gregtap1
 
Salesforce AI Associate 2 of 2 Certification.docx
Salesforce AI Associate 2 of 2 Certification.docxSalesforce AI Associate 2 of 2 Certification.docx
Salesforce AI Associate 2 of 2 Certification.docx
José Enrique López Rivera
 
Buckeye Dreamin' 2023: De-fogging Debug Logs
Buckeye Dreamin' 2023: De-fogging Debug LogsBuckeye Dreamin' 2023: De-fogging Debug Logs
Buckeye Dreamin' 2023: De-fogging Debug Logs
Lynda Kane
 
Rock, Paper, Scissors: An Apex Map Learning Journey
Rock, Paper, Scissors: An Apex Map Learning JourneyRock, Paper, Scissors: An Apex Map Learning Journey
Rock, Paper, Scissors: An Apex Map Learning Journey
Lynda Kane
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
"Client Partnership — the Path to Exponential Growth for Companies Sized 50-5...
"Client Partnership — the Path to Exponential Growth for Companies Sized 50-5..."Client Partnership — the Path to Exponential Growth for Companies Sized 50-5...
"Client Partnership — the Path to Exponential Growth for Companies Sized 50-5...
Fwdays
 
Automation Dreamin': Capture User Feedback From Anywhere
Automation Dreamin': Capture User Feedback From AnywhereAutomation Dreamin': Capture User Feedback From Anywhere
Automation Dreamin': Capture User Feedback From Anywhere
Lynda Kane
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Asthma presentación en inglés abril 2025 pdf
Asthma presentación en inglés abril 2025 pdfAsthma presentación en inglés abril 2025 pdf
Asthma presentación en inglés abril 2025 pdf
VanessaRaudez
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
Network Security. Different aspects of Network Security.
Network Security. Different aspects of Network Security.Network Security. Different aspects of Network Security.
Network Security. Different aspects of Network Security.
gregtap1
 
Salesforce AI Associate 2 of 2 Certification.docx
Salesforce AI Associate 2 of 2 Certification.docxSalesforce AI Associate 2 of 2 Certification.docx
Salesforce AI Associate 2 of 2 Certification.docx
José Enrique López Rivera
 
Buckeye Dreamin' 2023: De-fogging Debug Logs
Buckeye Dreamin' 2023: De-fogging Debug LogsBuckeye Dreamin' 2023: De-fogging Debug Logs
Buckeye Dreamin' 2023: De-fogging Debug Logs
Lynda Kane
 
Rock, Paper, Scissors: An Apex Map Learning Journey
Rock, Paper, Scissors: An Apex Map Learning JourneyRock, Paper, Scissors: An Apex Map Learning Journey
Rock, Paper, Scissors: An Apex Map Learning Journey
Lynda Kane
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
"Client Partnership — the Path to Exponential Growth for Companies Sized 50-5...
"Client Partnership — the Path to Exponential Growth for Companies Sized 50-5..."Client Partnership — the Path to Exponential Growth for Companies Sized 50-5...
"Client Partnership — the Path to Exponential Growth for Companies Sized 50-5...
Fwdays
 
Automation Dreamin': Capture User Feedback From Anywhere
Automation Dreamin': Capture User Feedback From AnywhereAutomation Dreamin': Capture User Feedback From Anywhere
Automation Dreamin': Capture User Feedback From Anywhere
Lynda Kane
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Asthma presentación en inglés abril 2025 pdf
Asthma presentación en inglés abril 2025 pdfAsthma presentación en inglés abril 2025 pdf
Asthma presentación en inglés abril 2025 pdf
VanessaRaudez
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 

AWS CloudFormation Intrinsic Functions and Mappings

  • 1. AWS CloudFormation Intrinsic Functions and Mappings Managing Windows instances in the Cloud
  • 3. Presented by Adam Book from Find me on LinkedIn CloudFormation Deep Dive
  • 4. CloudFormation Review AWS CloudFormation Allows you to build Infrastructure as code using templates which are constructed from json.
  • 5. CloudFormation Template There are 8 sections of a Cloud formation template, most of which are optional Format Version (optional) Description (optional) Metadata (optional) Mappings (optional) Parameters(optional) Conditions(optional) Resources (required) Outputs(optional)
  • 6. CloudFormation Best Practice For more info http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/best-practices.html As you use Cloud Formation make sure you follow the best practices for success • Do Not Embed Credentials in You Templates • Use AWS-Specific Parameter Types • Use Parameter Constraints • Validate Templates Before Using them • Manage All Stack Resources Through AWS Cloud Formation
  • 7. CloudFormation Intrinsic Functions Function Overview Fn::Base64 returns the Base64 representation of the input string (user data) Fn::FindInMap returns the value corresponding to keys in a two-level map that is declared in the Mappings section Fn::GetAtt returns the value of an attribute from a resource in the template. Fn::GetAZs returns an array that lists Availability Zones for a specified region. Fn::Join appends a set of values into a single value, separated by the specified delimiter. Fn::Select returns a single object from a list of objects by index. Ref returns the value of the specified parameter or resource.
  • 8. CloudFormation Mappings The Mappings section is optional but is matches a key to a corresponding set of named values. If you want to set values based on region, you can create a mapping that uses the key as the name and then contains the values you want to specify for each region. You cannot include parameters, pseudo parameters, or intrinsic functions in the Mappings section.
  • 9. CloudFormation Mappings - cont. "Mappings" : { "RegionMap" : { "us-east-1" : { "32" : "ami-6411e20d"}, "us-west-1" : { "32" : "ami-c9c7978c"}, "eu-west-1" : { "32" : "ami-37c2f643"}, "ap-southeast-1" : { "32" : "ami-66f28c34"}, "ap-northeast-1" : { "32" : "ami-9c03a89d"} } }
  • 10. CloudFormation Mappings - cont. "asgApp": { "MinSize" : { "value": "2" }, "MaxSize" : { "value": "2" }, "DesiredCapacity" : { "value": "2" }, "HealthCheckType" : { "value": "EC2" }, "TerminationPolicies" : { "value": "OldestInstance" } }
  • 11. CloudFormation Mappings - cont. "asgAppA": { "Type": "AWS::AutoScaling::AutoScalingGroup", "Properties": { "AvailabilityZones" : { "Ref": "AZs" }, "VPCZoneIdentifier" : { "Ref": "PrivateAPPSubnets" }, "LaunchConfigurationName" : { "Ref": "LaunchConfig" }, "MinSize" : { "Fn::FindInMap": [ "asgApp", "MinSize", "value" ] }, "MaxSize" : { "Fn::FindInMap": [ "asgApp", "MaxSize", "value" ] }, "DesiredCapacity" : { "Fn::FindInMap": [ "asgApp", "DesiredCapacity", "value" ] }, "HealthCheckType" : { "Fn::FindInMap": [ "asgApp", "HealthCheckType", "value" ] }, "TerminationPolicies" : [{ "Fn::FindInMap": [ "asgApp", "TerminationPolicies", "value" ] }],
  • 12. Fn::FindInMap "Resources" : { "myEC2Instance" : { "Type" : "AWS::EC2::Instance", "Properties" : { "ImageId" : { "Fn::FindInMap" : [ "RegionMap", { "Ref" : "AWS::Region" }, "32"]}, "InstanceType" : "m1.small" } } } } This function performs lookups, it accepts a ‘mappings’ object on of one or two keys and then returns a value For more info http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function- reference-findinmap.html
  • 13. Fn::Base64 { "Fn::Base64" : ”apt-get update –y " } This function accepts plain text and converts it to Base 64 For more info http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function- reference-base64.html
  • 14. Fn::Join "Outputs" : { "URL" : { "Description" : "The URL of your demo website", "Value" : { "Fn::Join" : [ "", [ "http://", { "Fn::GetAtt" : [ "ElasticLoadBalancer", "DNSName" ]}]]} } } This can be used to concatenate various components to produce things such as a URL. For more info http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function- reference-join.html
  • 15. Fn::GetAtt Some examples of attributes that can be called are: • EC2 -> PrivateIp • EC2-> PublicIp • ElasticLoadBalancing -> DNSName • IAM::Group -> ARN • S3 Bucket -> DomainName • Simple AD -> Alias As you dynamically create items in your Cloud Formation templates , you may need to use some of the Attributes after they are created. For more info http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function- reference-getatt.html
  • 16. Fn::GetAtt "MyEIP" : { "Type" : "AWS::EC2::EIP", "Properties" : { "InstanceId" : { "Ref" : "MyEC2Instance" } } } “Fn:GetAtt” :[ “MyEIP”, “AllocationId” ] As you dynamically create items in your Cloud Formation templates For more info http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function- reference-getatt.html
  • 17. Fn::GetAZs { "Fn::GetAZs" : "us-east-1" } { "Fn::GetAZs" : { "Ref" : "AWS::Region" } } The intrinsic function Ref returns to value of the specified parameter or resource. For more info http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function- reference-select.html NOTE: You can use the Ref function in the Fn::GetAZz function.
  • 18. Fn::Select { “Fn::Select” : [ “0”, {”Fn::GetAZs” : “”} ] } Selects a single object from a list of object and can be paired with other functions such as Fn::GetAZs For more info http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function- reference-select.html The output is the first Availablity zone in the region where the template is applied. Replacing the 0 with a 1 would select the second Availability Zone
  • 19. Fn::Ref "MyEIP" : { "Type" : "AWS::EC2::EIP", "Properties" : { "InstanceId" : { "Ref" : "MyEC2Instance" } } } The intrinsic function Ref returns to value of the specified parameter or resource. For more info http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function- reference-ref.html
  • 20. Cloud Formation Templates Real World Examples Photo curtesy of Stephen Radford via http://snap.io

Editor's Notes

  • #5: AWS already has managed policies for SSM to attached either to your users or Roles. These can be easily found by going to to policy section of IAM and then searching for SSM
  • #6: Some sections in a template can be in any order. If you use a tool such as troposphere then the output can be placed out as Alphabetical vs logical if you are used to the templates provided by AWS
  • #7: With constraints, you can describe allowed input values so that AWS CloudFormation catches any invalid values before creating a stack. You can set constraints such as a minimum length, maximum length, and allowed patterns. For example, you can set constraints on a database user name value so that it must be a minimum length of eight character and contain only alpha-numeric characters.
  • #8: Intrinsic functions are inbuilt functions provided by AWS to help you manage, reference, and conditionally act upon resources, situations and inputs to a stack You can compare intrinsic functions to logical operations in programming such as: If – Else, Case, Switch etc
  • #9: Although the most used case with mappings is with AMI’s and bits. There are other cases where you can use mappings for quick lookups
  • #10: This example shows a Mappings section with a map RegionMap, which contains five keys that map to name-value pairs containing single string values. The keys are region names. Each name-value pair is the AMI ID for the 32-bit AMI in the region represented by the key.
  • #11: This example shows a Mappings section with a map RegionMap, which contains five keys that map to name-value pairs containing single string values. The keys are region names. Each name-value pair is the AMI ID for the 32-bit AMI in the region represented by the key.
  • #12: This example shows a Mappings section being used in an autoscale group.
  • #14: Its useful when other elements in a stack need Base 64 input such as EC2 user data
  • #15: One of the best uses of the Join is in the output section and to produce the output endpoint for your users.
  • #16: Remember to include the DependsOn piece in your resources if you downstream resources needs the attribute of a previously created resource
  • #20: This is probably the most useful and easiest of the Intrinsic functions I’ve found to date.