SlideShare a Scribd company logo
1 of 15
AWS Primer on
Best Practices and Resource Tagging Convention
Kenichi Shibata
Why do we need naming convention?
• Tagging for Deployment
• Tagging based on application usage
• Tagging based on ownership
• Tagging for cost structure (can check cost breakdown based on tags)
• Have to enable cost breakdown on the aws billing (usecase: for individual clients)
• Tagging for Automation
• All resources will be tagged and then can filtered or queried via tags
• Tagging as context helpers
• Not all resources are tagged appropriately by AWS and it could be confusing for
understanding what a specific resource does
Naming Best Practices
• Before we begin we have understand some key points in order to better
maintain the infrastructure in the cloud
1. Build infrastructure to scale
• This means that the infrastructure you handle right now will need to passed over very quickly
to a new engineer for a minimal training with only documentation and the context.
• Contexts should be provided with each resources to be able to identify how the resource fit
in;
2. Automate all/most infrastructure tasks
• Use Automation tools like cloudformation, boto3 or terraform for provisioning
• If tasks is repeated at least thrice we should automate it.
• Orchestration should be done automatically using config/template management like packer,
ansible.
• Use Infrastructure-As-A-Code whenever you run a new cluster
• Tags should be automated
Deployment Best Practices
3. Centralized jobs
• All cron jobs should be observable and should be visible to all devOps team. A local cron job for a specific
server is discouraged.
• Centralized jobs can help manage the workload among the Ops team and create a sense of teamwork
when rotating tasks, It helps gain visibility ensures quick and efficient action when something
unexpected occurs
4. Pipelined Tasks
• Tasks like continuous integration and deployment should be pipelined in order to find out at which stage
the task failed,
• Infrastructure As A Code should be the norm when deploying new infrastructure. These tasks
deployment should be pipelined within the centralized observable pipeline
5. Containerized/AMI Deployments
• Blue Green Deployment should be done to each servers in order to test the code in a production like
setting
• Deployments to each new Instance should be done by using a snapshot of a proven instance running an
application that starts on bootup
• Running Clusters of Containers is Recommended however please keep in mind the overhead of running
containers
Security Best Practices
6. Use MFA for all Users and set harder restrictions on password
• Every engineer who has access to the AWS Console should have MFA enabled
• The passwords policy can be configured from the IAM Console, The passwords should at
least have one uppercase and one number.
7. Not Everyone should have access to the console
• Developers who will only need a specific access can use the Command Line Interface
with AWS AccessKey and SecretKey instead,
• Use the principle of least privilege and only give access to specific resource, For example
instead of giving write access to all s3 buckets, Only give list access and write access to a
specific s3 bucket
8. Turn on CloudTrail
• Get all the audit logs for each calls to the aws api using your account credentials
Resource Types
• Currently this document covers the following resource types
• EC2
• VPC
• VPC Subnet
• Sec Group
• S3
EC2
• Name – naming convention – {env/owner(count)-cluster-app}
• e.g. mng01-infra-bastion, prd-web-abcd, acmecorp01-infra-yourapp1
• Environment – stg, dev, prd, mng
• Cluster/Platform – Infra Management, ecommerce, crm,projectcode1 , (optional)
• App – app1proxy, app1loadbalancer, app1api
• Tier – Database, Web, API, App, Datastore, (for multi tiered architectures)
• Subnet – {subnet-name} should be queried on terraform
• Owner – {customer1} if owned by third party (optional)
• Maintainer –email
• Architecture- /Diagrams/file.uml, http://wiki (optional)
• Count – 01, 02, 03 (for asg use e.g. prd01-web-app-asg) else use prd01-web-app
EC2
• Why is name prefixed on client instead of env when it is available?
• We assume that the clients will always have production environment afforded
to them if they will need to test or do acceptance test we can set it up on
staging or development environments to share costs, using data encryption
for the test data if need be.
• e.g. mng01-infra-bastion, prd-web-abcd, acmecorp01-infra-yourapp1
VPC
• Name – {platform}(count)-{tenancy}-vpc e.g. warehouse01-default-tokyo-vpc
• Tenancy – Default/Dedicated
• Count – 01, 02, 03 (You can also use names as instead of numbers)
• Region – Use the common region name not the aws official name for brevity
• Platform – Ecommerce, Warehouse management, CRM, projectcode1
• Most application platforms will be inside a single vpc so the name of the platform will suffice.
However if we will need to scale to multiple regions, We will need to tag the Region as well to
provide context where we would like to run this specific platform.
VPC Subnet
• Name – {environment}-{platform}-{availability}-{accessibility}-subnet
• Accessibility – Private, Public, Secured
• Maintainer – email
• Platform – Ecommerce, Warehouse management, CRM, projectcode1
• Cluster - DB, Web, API, App
• Environment – prd, stg, dev, mng
• Availability (Zone)– Primary(a), Secondary(c), Tertiary(b),
• Some regions only has ‘a’ and ‘c’ zones
What is public/private/secured?
• Public subnets are subnets which are directly connected to the internet
using an internet gateway or a egress only internet gateway
• There is a use case for a public -> nat -> public mapping of subnets if you want to
whitelist all requests from a specific subnet
• Public Subnets are best used for Internet facing Web Servers
• They need a public ip address or elastic ip in order to connect
• Usually the HTTPs termination is done on server running on public subnets
• Private subnets are subnets which are connected to the internet using a
NAT Gateway (network address translation)
• The subnets are usually mapped using private -> nat -> public. However the
limitation to these subnets are that they cannot serve traffic from Public DNS
without port forwarding.
• They are best suited for cache servers, database servers, middleware api, and
secured transaction interfaces,
What is public/private/secured?
• Secured Gateways
• Secured Gateways are for directly connecting a specific IP Address to another
IP Address. Without connecting to the rest of the internet, It is usually done
by Network ACL.
• A good alternative for Secured Gateways is AWS Direct Connect or AWS VPN
Connection
NAT Gateways
• The best practice in running NAT Gateway is using the AWS NAT Gateway it
scales depending on traffic and is easier to setup than a manual EC2 NAT
Gateway
• however please be aware that since AWS NAT Gateway is a full managed service it is
bound to limitations as well, Port forwarding for example is not supported as is
sniffing logs from the gateway
• To be able to get advanced functionality creating NAT Gateway from EC2 is
needed however setting a single EC2 instance as a NAT Gateway is an anti-
pattern since if the traffic grows enough then the NAT EC2 Instance will
become a bottleneck
• It is recommended to have a failover or a load balanced NAT Gateway if
you are going to use EC2
S3
• Name – {company-name}-{platform}-{environment}-{application} (S3 name is global and should be
unique globally, so we add the company name or abbrev)
• Deployment – manual, automated
• Platform – Ecommerce, Warehouse management, CRM, projectcode1
• Application – Logs, Webapp, Webpage
• Environment – prd, stg, dev, admin
• File Naming – Inside the bucket please use random string to generate hashes if there are lots of files.
AWS Stores files in different servers using file name hashes, it is faster to retrieve and store with more
servers
Security Group
• Name – {environment}-{tier}-{application}
• Group Name – same as name (required by aws)
• Protocol – ICMP, TCP, UDP
• VPC – {vpc-name}
• Tier – Web, App, Cache, DB, NAT
• Environment – Production, Staging, Development
• Application – (if applicable) nginx, mongodb, ssh,
• Description – Short description of why this security group is needed

More Related Content

What's hot

PuppetConf 2017: Unlocking Azure with Puppet Enterprise- Keiran Sweet, Source...
PuppetConf 2017: Unlocking Azure with Puppet Enterprise- Keiran Sweet, Source...PuppetConf 2017: Unlocking Azure with Puppet Enterprise- Keiran Sweet, Source...
PuppetConf 2017: Unlocking Azure with Puppet Enterprise- Keiran Sweet, Source...Puppet
 
ENT302 Deep Dive on AWS Management Tools
ENT302 Deep Dive on AWS Management ToolsENT302 Deep Dive on AWS Management Tools
ENT302 Deep Dive on AWS Management ToolsAmazon Web Services
 
(CMP401) Elastic Load Balancing Deep Dive and Best Practices
(CMP401) Elastic Load Balancing Deep Dive and Best Practices(CMP401) Elastic Load Balancing Deep Dive and Best Practices
(CMP401) Elastic Load Balancing Deep Dive and Best PracticesAmazon Web Services
 
AWS Innovate: Running SAP Solutions on AWS Cloud- Shailesh Albuquerque
AWS Innovate: Running SAP Solutions on AWS Cloud- Shailesh AlbuquerqueAWS Innovate: Running SAP Solutions on AWS Cloud- Shailesh Albuquerque
AWS Innovate: Running SAP Solutions on AWS Cloud- Shailesh AlbuquerqueAmazon Web Services Korea
 
Creating Your Virtual Data Center: VPC Fundamentals and Connectivity Options
Creating Your Virtual Data Center: VPC Fundamentals and Connectivity OptionsCreating Your Virtual Data Center: VPC Fundamentals and Connectivity Options
Creating Your Virtual Data Center: VPC Fundamentals and Connectivity OptionsAmazon Web Services
 
AWS re:Invent 2016: Bring Microsoft Applications to AWS to Save Money and Sta...
AWS re:Invent 2016: Bring Microsoft Applications to AWS to Save Money and Sta...AWS re:Invent 2016: Bring Microsoft Applications to AWS to Save Money and Sta...
AWS re:Invent 2016: Bring Microsoft Applications to AWS to Save Money and Sta...Amazon Web Services
 
AWS re:Invent 2016: 20k in 20 Days - Agile Genomic Analysis (ENT320)
AWS re:Invent 2016: 20k in 20 Days - Agile Genomic Analysis (ENT320)AWS re:Invent 2016: 20k in 20 Days - Agile Genomic Analysis (ENT320)
AWS re:Invent 2016: 20k in 20 Days - Agile Genomic Analysis (ENT320)Amazon Web Services
 
SRV206 Getting Started with Amazon CloudFront Content Delivery Network
SRV206 Getting Started with Amazon CloudFront Content Delivery NetworkSRV206 Getting Started with Amazon CloudFront Content Delivery Network
SRV206 Getting Started with Amazon CloudFront Content Delivery NetworkAmazon Web Services
 
SMC302 Building Serverless Web Applications
SMC302 Building Serverless Web ApplicationsSMC302 Building Serverless Web Applications
SMC302 Building Serverless Web ApplicationsAmazon Web Services
 
AWS re:Invent 2016: Preparing for a Large-Scale Migration to AWS (ENT212)
AWS re:Invent 2016: Preparing for a Large-Scale Migration to AWS (ENT212)AWS re:Invent 2016: Preparing for a Large-Scale Migration to AWS (ENT212)
AWS re:Invent 2016: Preparing for a Large-Scale Migration to AWS (ENT212)Amazon Web Services
 
AWS re:Invent 2016: How Harvard University Improves Scalable Cloud Network Se...
AWS re:Invent 2016: How Harvard University Improves Scalable Cloud Network Se...AWS re:Invent 2016: How Harvard University Improves Scalable Cloud Network Se...
AWS re:Invent 2016: How Harvard University Improves Scalable Cloud Network Se...Amazon Web Services
 
How Greenhouse Software Unlocked the Power of Machine Data Analytics with Sum...
How Greenhouse Software Unlocked the Power of Machine Data Analytics with Sum...How Greenhouse Software Unlocked the Power of Machine Data Analytics with Sum...
How Greenhouse Software Unlocked the Power of Machine Data Analytics with Sum...Amazon Web Services
 
SMC304 Serverless Orchestration with AWS Step Functions
SMC304 Serverless Orchestration with AWS Step FunctionsSMC304 Serverless Orchestration with AWS Step Functions
SMC304 Serverless Orchestration with AWS Step FunctionsAmazon Web Services
 
ENT202 Creating Your Virtual Data Center: VPC Fundamentals and Connectivity O...
ENT202 Creating Your Virtual Data Center: VPC Fundamentals and Connectivity O...ENT202 Creating Your Virtual Data Center: VPC Fundamentals and Connectivity O...
ENT202 Creating Your Virtual Data Center: VPC Fundamentals and Connectivity O...Amazon Web Services
 
AWS re:Invent 2016: Automating and Scaling Infrastructure Administration with...
AWS re:Invent 2016: Automating and Scaling Infrastructure Administration with...AWS re:Invent 2016: Automating and Scaling Infrastructure Administration with...
AWS re:Invent 2016: Automating and Scaling Infrastructure Administration with...Amazon Web Services
 
Migrating your Databases to Aurora - AWS April 2016 Webinar Series
Migrating your Databases to Aurora - AWS April 2016 Webinar Series Migrating your Databases to Aurora - AWS April 2016 Webinar Series
Migrating your Databases to Aurora - AWS April 2016 Webinar Series Amazon Web Services
 
How a National Transportation Software Provider Migrated a Mission-Critical T...
How a National Transportation Software Provider Migrated a Mission-Critical T...How a National Transportation Software Provider Migrated a Mission-Critical T...
How a National Transportation Software Provider Migrated a Mission-Critical T...Amazon Web Services
 
AWS Webinar 201: Designing scalable, available & resilient cloud applications
AWS Webinar 201: Designing scalable, available & resilient cloud applicationsAWS Webinar 201: Designing scalable, available & resilient cloud applications
AWS Webinar 201: Designing scalable, available & resilient cloud applicationsAmazon Web Services
 
Deep Dive on Accelerating Content, APIs, and Applications with Amazon CloudFr...
Deep Dive on Accelerating Content, APIs, and Applications with Amazon CloudFr...Deep Dive on Accelerating Content, APIs, and Applications with Amazon CloudFr...
Deep Dive on Accelerating Content, APIs, and Applications with Amazon CloudFr...Amazon Web Services
 

What's hot (20)

PuppetConf 2017: Unlocking Azure with Puppet Enterprise- Keiran Sweet, Source...
PuppetConf 2017: Unlocking Azure with Puppet Enterprise- Keiran Sweet, Source...PuppetConf 2017: Unlocking Azure with Puppet Enterprise- Keiran Sweet, Source...
PuppetConf 2017: Unlocking Azure with Puppet Enterprise- Keiran Sweet, Source...
 
ENT302 Deep Dive on AWS Management Tools
ENT302 Deep Dive on AWS Management ToolsENT302 Deep Dive on AWS Management Tools
ENT302 Deep Dive on AWS Management Tools
 
(CMP401) Elastic Load Balancing Deep Dive and Best Practices
(CMP401) Elastic Load Balancing Deep Dive and Best Practices(CMP401) Elastic Load Balancing Deep Dive and Best Practices
(CMP401) Elastic Load Balancing Deep Dive and Best Practices
 
AWS Innovate: Running SAP Solutions on AWS Cloud- Shailesh Albuquerque
AWS Innovate: Running SAP Solutions on AWS Cloud- Shailesh AlbuquerqueAWS Innovate: Running SAP Solutions on AWS Cloud- Shailesh Albuquerque
AWS Innovate: Running SAP Solutions on AWS Cloud- Shailesh Albuquerque
 
Creating Your Virtual Data Center: VPC Fundamentals and Connectivity Options
Creating Your Virtual Data Center: VPC Fundamentals and Connectivity OptionsCreating Your Virtual Data Center: VPC Fundamentals and Connectivity Options
Creating Your Virtual Data Center: VPC Fundamentals and Connectivity Options
 
AWS re:Invent 2016: Bring Microsoft Applications to AWS to Save Money and Sta...
AWS re:Invent 2016: Bring Microsoft Applications to AWS to Save Money and Sta...AWS re:Invent 2016: Bring Microsoft Applications to AWS to Save Money and Sta...
AWS re:Invent 2016: Bring Microsoft Applications to AWS to Save Money and Sta...
 
AWS re:Invent 2016: 20k in 20 Days - Agile Genomic Analysis (ENT320)
AWS re:Invent 2016: 20k in 20 Days - Agile Genomic Analysis (ENT320)AWS re:Invent 2016: 20k in 20 Days - Agile Genomic Analysis (ENT320)
AWS re:Invent 2016: 20k in 20 Days - Agile Genomic Analysis (ENT320)
 
SRV206 Getting Started with Amazon CloudFront Content Delivery Network
SRV206 Getting Started with Amazon CloudFront Content Delivery NetworkSRV206 Getting Started with Amazon CloudFront Content Delivery Network
SRV206 Getting Started with Amazon CloudFront Content Delivery Network
 
SMC302 Building Serverless Web Applications
SMC302 Building Serverless Web ApplicationsSMC302 Building Serverless Web Applications
SMC302 Building Serverless Web Applications
 
What's New with AWS Lambda
What's New with AWS LambdaWhat's New with AWS Lambda
What's New with AWS Lambda
 
AWS re:Invent 2016: Preparing for a Large-Scale Migration to AWS (ENT212)
AWS re:Invent 2016: Preparing for a Large-Scale Migration to AWS (ENT212)AWS re:Invent 2016: Preparing for a Large-Scale Migration to AWS (ENT212)
AWS re:Invent 2016: Preparing for a Large-Scale Migration to AWS (ENT212)
 
AWS re:Invent 2016: How Harvard University Improves Scalable Cloud Network Se...
AWS re:Invent 2016: How Harvard University Improves Scalable Cloud Network Se...AWS re:Invent 2016: How Harvard University Improves Scalable Cloud Network Se...
AWS re:Invent 2016: How Harvard University Improves Scalable Cloud Network Se...
 
How Greenhouse Software Unlocked the Power of Machine Data Analytics with Sum...
How Greenhouse Software Unlocked the Power of Machine Data Analytics with Sum...How Greenhouse Software Unlocked the Power of Machine Data Analytics with Sum...
How Greenhouse Software Unlocked the Power of Machine Data Analytics with Sum...
 
SMC304 Serverless Orchestration with AWS Step Functions
SMC304 Serverless Orchestration with AWS Step FunctionsSMC304 Serverless Orchestration with AWS Step Functions
SMC304 Serverless Orchestration with AWS Step Functions
 
ENT202 Creating Your Virtual Data Center: VPC Fundamentals and Connectivity O...
ENT202 Creating Your Virtual Data Center: VPC Fundamentals and Connectivity O...ENT202 Creating Your Virtual Data Center: VPC Fundamentals and Connectivity O...
ENT202 Creating Your Virtual Data Center: VPC Fundamentals and Connectivity O...
 
AWS re:Invent 2016: Automating and Scaling Infrastructure Administration with...
AWS re:Invent 2016: Automating and Scaling Infrastructure Administration with...AWS re:Invent 2016: Automating and Scaling Infrastructure Administration with...
AWS re:Invent 2016: Automating and Scaling Infrastructure Administration with...
 
Migrating your Databases to Aurora - AWS April 2016 Webinar Series
Migrating your Databases to Aurora - AWS April 2016 Webinar Series Migrating your Databases to Aurora - AWS April 2016 Webinar Series
Migrating your Databases to Aurora - AWS April 2016 Webinar Series
 
How a National Transportation Software Provider Migrated a Mission-Critical T...
How a National Transportation Software Provider Migrated a Mission-Critical T...How a National Transportation Software Provider Migrated a Mission-Critical T...
How a National Transportation Software Provider Migrated a Mission-Critical T...
 
AWS Webinar 201: Designing scalable, available & resilient cloud applications
AWS Webinar 201: Designing scalable, available & resilient cloud applicationsAWS Webinar 201: Designing scalable, available & resilient cloud applications
AWS Webinar 201: Designing scalable, available & resilient cloud applications
 
Deep Dive on Accelerating Content, APIs, and Applications with Amazon CloudFr...
Deep Dive on Accelerating Content, APIs, and Applications with Amazon CloudFr...Deep Dive on Accelerating Content, APIs, and Applications with Amazon CloudFr...
Deep Dive on Accelerating Content, APIs, and Applications with Amazon CloudFr...
 

Similar to AWS Best Practices

AWS Best Practices Version 2
AWS Best Practices Version 2AWS Best Practices Version 2
AWS Best Practices Version 2Kenichi Shibata
 
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)Amazon Web Services
 
Building a Just-in-Time Application Stack for Analysts
Building a Just-in-Time Application Stack for AnalystsBuilding a Just-in-Time Application Stack for Analysts
Building a Just-in-Time Application Stack for AnalystsAvere Systems
 
Using AWS To Build A Scalable Machine Data Analytics Service
Using AWS To Build A Scalable Machine Data Analytics ServiceUsing AWS To Build A Scalable Machine Data Analytics Service
Using AWS To Build A Scalable Machine Data Analytics ServiceChristian Beedgen
 
Migrating enterprise workloads to AWS
Migrating enterprise workloads to AWSMigrating enterprise workloads to AWS
Migrating enterprise workloads to AWSTom Laszewski
 
Application Lifecycle Management on AWS
Application Lifecycle Management on AWSApplication Lifecycle Management on AWS
Application Lifecycle Management on AWSDavid Mat
 
Breaking the Monolith Road to Containers
Breaking the Monolith Road to ContainersBreaking the Monolith Road to Containers
Breaking the Monolith Road to ContainersAmazon Web Services
 
NetflixOSS for Triangle Devops Oct 2013
NetflixOSS for Triangle Devops Oct 2013NetflixOSS for Triangle Devops Oct 2013
NetflixOSS for Triangle Devops Oct 2013aspyker
 
PowerPoint Presentation
PowerPoint PresentationPowerPoint Presentation
PowerPoint Presentationlalitjangra9
 
Migrating enterprise workloads to AWS
Migrating enterprise workloads to AWS Migrating enterprise workloads to AWS
Migrating enterprise workloads to AWS Tom Laszewski
 
How Netflix’s Tools Can Help Accelerate Your Start-up (SVC202) | AWS re:Inven...
How Netflix’s Tools Can Help Accelerate Your Start-up (SVC202) | AWS re:Inven...How Netflix’s Tools Can Help Accelerate Your Start-up (SVC202) | AWS re:Inven...
How Netflix’s Tools Can Help Accelerate Your Start-up (SVC202) | AWS re:Inven...Amazon Web Services
 
AWS re:Invent 2016: Advanced Tips for Amazon EC2 Networking and High Availabi...
AWS re:Invent 2016: Advanced Tips for Amazon EC2 Networking and High Availabi...AWS re:Invent 2016: Advanced Tips for Amazon EC2 Networking and High Availabi...
AWS re:Invent 2016: Advanced Tips for Amazon EC2 Networking and High Availabi...Amazon Web Services
 
Achieve big data analytic platform with lambda architecture on cloud
Achieve big data analytic platform with lambda architecture on cloudAchieve big data analytic platform with lambda architecture on cloud
Achieve big data analytic platform with lambda architecture on cloudScott Miao
 
從劍宗到氣宗 - 談AWS ECS與Serverless最佳實踐
從劍宗到氣宗  - 談AWS ECS與Serverless最佳實踐從劍宗到氣宗  - 談AWS ECS與Serverless最佳實踐
從劍宗到氣宗 - 談AWS ECS與Serverless最佳實踐Pahud Hsieh
 
Introduction to amazon web services for developers
Introduction to amazon web services for developersIntroduction to amazon web services for developers
Introduction to amazon web services for developersCiklum Ukraine
 
Cloud & Native Cloud for Managers
Cloud & Native Cloud for ManagersCloud & Native Cloud for Managers
Cloud & Native Cloud for ManagersEitan Sela
 
Architectures, Frameworks and Infrastructure
Architectures, Frameworks and InfrastructureArchitectures, Frameworks and Infrastructure
Architectures, Frameworks and Infrastructureharendra_pathak
 

Similar to AWS Best Practices (20)

AWS Best Practices Version 2
AWS Best Practices Version 2AWS Best Practices Version 2
AWS Best Practices Version 2
 
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
 
Building a Just-in-Time Application Stack for Analysts
Building a Just-in-Time Application Stack for AnalystsBuilding a Just-in-Time Application Stack for Analysts
Building a Just-in-Time Application Stack for Analysts
 
Using AWS To Build A Scalable Machine Data Analytics Service
Using AWS To Build A Scalable Machine Data Analytics ServiceUsing AWS To Build A Scalable Machine Data Analytics Service
Using AWS To Build A Scalable Machine Data Analytics Service
 
Managing Your Cloud Assets
Managing Your Cloud AssetsManaging Your Cloud Assets
Managing Your Cloud Assets
 
Migrating enterprise workloads to AWS
Migrating enterprise workloads to AWSMigrating enterprise workloads to AWS
Migrating enterprise workloads to AWS
 
Application Lifecycle Management on AWS
Application Lifecycle Management on AWSApplication Lifecycle Management on AWS
Application Lifecycle Management on AWS
 
Breaking the Monolith Road to Containers
Breaking the Monolith Road to ContainersBreaking the Monolith Road to Containers
Breaking the Monolith Road to Containers
 
NetflixOSS for Triangle Devops Oct 2013
NetflixOSS for Triangle Devops Oct 2013NetflixOSS for Triangle Devops Oct 2013
NetflixOSS for Triangle Devops Oct 2013
 
PowerPoint Presentation
PowerPoint PresentationPowerPoint Presentation
PowerPoint Presentation
 
Migrating enterprise workloads to AWS
Migrating enterprise workloads to AWS Migrating enterprise workloads to AWS
Migrating enterprise workloads to AWS
 
Svc 202-netflix-open-source
Svc 202-netflix-open-sourceSvc 202-netflix-open-source
Svc 202-netflix-open-source
 
Tech4Africa 2014
Tech4Africa 2014Tech4Africa 2014
Tech4Africa 2014
 
How Netflix’s Tools Can Help Accelerate Your Start-up (SVC202) | AWS re:Inven...
How Netflix’s Tools Can Help Accelerate Your Start-up (SVC202) | AWS re:Inven...How Netflix’s Tools Can Help Accelerate Your Start-up (SVC202) | AWS re:Inven...
How Netflix’s Tools Can Help Accelerate Your Start-up (SVC202) | AWS re:Inven...
 
AWS re:Invent 2016: Advanced Tips for Amazon EC2 Networking and High Availabi...
AWS re:Invent 2016: Advanced Tips for Amazon EC2 Networking and High Availabi...AWS re:Invent 2016: Advanced Tips for Amazon EC2 Networking and High Availabi...
AWS re:Invent 2016: Advanced Tips for Amazon EC2 Networking and High Availabi...
 
Achieve big data analytic platform with lambda architecture on cloud
Achieve big data analytic platform with lambda architecture on cloudAchieve big data analytic platform with lambda architecture on cloud
Achieve big data analytic platform with lambda architecture on cloud
 
從劍宗到氣宗 - 談AWS ECS與Serverless最佳實踐
從劍宗到氣宗  - 談AWS ECS與Serverless最佳實踐從劍宗到氣宗  - 談AWS ECS與Serverless最佳實踐
從劍宗到氣宗 - 談AWS ECS與Serverless最佳實踐
 
Introduction to amazon web services for developers
Introduction to amazon web services for developersIntroduction to amazon web services for developers
Introduction to amazon web services for developers
 
Cloud & Native Cloud for Managers
Cloud & Native Cloud for ManagersCloud & Native Cloud for Managers
Cloud & Native Cloud for Managers
 
Architectures, Frameworks and Infrastructure
Architectures, Frameworks and InfrastructureArchitectures, Frameworks and Infrastructure
Architectures, Frameworks and Infrastructure
 

Recently uploaded

Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....ShaimaaMohamedGalal
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 

Recently uploaded (20)

Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 

AWS Best Practices

  • 1. AWS Primer on Best Practices and Resource Tagging Convention Kenichi Shibata
  • 2. Why do we need naming convention? • Tagging for Deployment • Tagging based on application usage • Tagging based on ownership • Tagging for cost structure (can check cost breakdown based on tags) • Have to enable cost breakdown on the aws billing (usecase: for individual clients) • Tagging for Automation • All resources will be tagged and then can filtered or queried via tags • Tagging as context helpers • Not all resources are tagged appropriately by AWS and it could be confusing for understanding what a specific resource does
  • 3. Naming Best Practices • Before we begin we have understand some key points in order to better maintain the infrastructure in the cloud 1. Build infrastructure to scale • This means that the infrastructure you handle right now will need to passed over very quickly to a new engineer for a minimal training with only documentation and the context. • Contexts should be provided with each resources to be able to identify how the resource fit in; 2. Automate all/most infrastructure tasks • Use Automation tools like cloudformation, boto3 or terraform for provisioning • If tasks is repeated at least thrice we should automate it. • Orchestration should be done automatically using config/template management like packer, ansible. • Use Infrastructure-As-A-Code whenever you run a new cluster • Tags should be automated
  • 4. Deployment Best Practices 3. Centralized jobs • All cron jobs should be observable and should be visible to all devOps team. A local cron job for a specific server is discouraged. • Centralized jobs can help manage the workload among the Ops team and create a sense of teamwork when rotating tasks, It helps gain visibility ensures quick and efficient action when something unexpected occurs 4. Pipelined Tasks • Tasks like continuous integration and deployment should be pipelined in order to find out at which stage the task failed, • Infrastructure As A Code should be the norm when deploying new infrastructure. These tasks deployment should be pipelined within the centralized observable pipeline 5. Containerized/AMI Deployments • Blue Green Deployment should be done to each servers in order to test the code in a production like setting • Deployments to each new Instance should be done by using a snapshot of a proven instance running an application that starts on bootup • Running Clusters of Containers is Recommended however please keep in mind the overhead of running containers
  • 5. Security Best Practices 6. Use MFA for all Users and set harder restrictions on password • Every engineer who has access to the AWS Console should have MFA enabled • The passwords policy can be configured from the IAM Console, The passwords should at least have one uppercase and one number. 7. Not Everyone should have access to the console • Developers who will only need a specific access can use the Command Line Interface with AWS AccessKey and SecretKey instead, • Use the principle of least privilege and only give access to specific resource, For example instead of giving write access to all s3 buckets, Only give list access and write access to a specific s3 bucket 8. Turn on CloudTrail • Get all the audit logs for each calls to the aws api using your account credentials
  • 6. Resource Types • Currently this document covers the following resource types • EC2 • VPC • VPC Subnet • Sec Group • S3
  • 7. EC2 • Name – naming convention – {env/owner(count)-cluster-app} • e.g. mng01-infra-bastion, prd-web-abcd, acmecorp01-infra-yourapp1 • Environment – stg, dev, prd, mng • Cluster/Platform – Infra Management, ecommerce, crm,projectcode1 , (optional) • App – app1proxy, app1loadbalancer, app1api • Tier – Database, Web, API, App, Datastore, (for multi tiered architectures) • Subnet – {subnet-name} should be queried on terraform • Owner – {customer1} if owned by third party (optional) • Maintainer –email • Architecture- /Diagrams/file.uml, http://wiki (optional) • Count – 01, 02, 03 (for asg use e.g. prd01-web-app-asg) else use prd01-web-app
  • 8. EC2 • Why is name prefixed on client instead of env when it is available? • We assume that the clients will always have production environment afforded to them if they will need to test or do acceptance test we can set it up on staging or development environments to share costs, using data encryption for the test data if need be. • e.g. mng01-infra-bastion, prd-web-abcd, acmecorp01-infra-yourapp1
  • 9. VPC • Name – {platform}(count)-{tenancy}-vpc e.g. warehouse01-default-tokyo-vpc • Tenancy – Default/Dedicated • Count – 01, 02, 03 (You can also use names as instead of numbers) • Region – Use the common region name not the aws official name for brevity • Platform – Ecommerce, Warehouse management, CRM, projectcode1 • Most application platforms will be inside a single vpc so the name of the platform will suffice. However if we will need to scale to multiple regions, We will need to tag the Region as well to provide context where we would like to run this specific platform.
  • 10. VPC Subnet • Name – {environment}-{platform}-{availability}-{accessibility}-subnet • Accessibility – Private, Public, Secured • Maintainer – email • Platform – Ecommerce, Warehouse management, CRM, projectcode1 • Cluster - DB, Web, API, App • Environment – prd, stg, dev, mng • Availability (Zone)– Primary(a), Secondary(c), Tertiary(b), • Some regions only has ‘a’ and ‘c’ zones
  • 11. What is public/private/secured? • Public subnets are subnets which are directly connected to the internet using an internet gateway or a egress only internet gateway • There is a use case for a public -> nat -> public mapping of subnets if you want to whitelist all requests from a specific subnet • Public Subnets are best used for Internet facing Web Servers • They need a public ip address or elastic ip in order to connect • Usually the HTTPs termination is done on server running on public subnets • Private subnets are subnets which are connected to the internet using a NAT Gateway (network address translation) • The subnets are usually mapped using private -> nat -> public. However the limitation to these subnets are that they cannot serve traffic from Public DNS without port forwarding. • They are best suited for cache servers, database servers, middleware api, and secured transaction interfaces,
  • 12. What is public/private/secured? • Secured Gateways • Secured Gateways are for directly connecting a specific IP Address to another IP Address. Without connecting to the rest of the internet, It is usually done by Network ACL. • A good alternative for Secured Gateways is AWS Direct Connect or AWS VPN Connection
  • 13. NAT Gateways • The best practice in running NAT Gateway is using the AWS NAT Gateway it scales depending on traffic and is easier to setup than a manual EC2 NAT Gateway • however please be aware that since AWS NAT Gateway is a full managed service it is bound to limitations as well, Port forwarding for example is not supported as is sniffing logs from the gateway • To be able to get advanced functionality creating NAT Gateway from EC2 is needed however setting a single EC2 instance as a NAT Gateway is an anti- pattern since if the traffic grows enough then the NAT EC2 Instance will become a bottleneck • It is recommended to have a failover or a load balanced NAT Gateway if you are going to use EC2
  • 14. S3 • Name – {company-name}-{platform}-{environment}-{application} (S3 name is global and should be unique globally, so we add the company name or abbrev) • Deployment – manual, automated • Platform – Ecommerce, Warehouse management, CRM, projectcode1 • Application – Logs, Webapp, Webpage • Environment – prd, stg, dev, admin • File Naming – Inside the bucket please use random string to generate hashes if there are lots of files. AWS Stores files in different servers using file name hashes, it is faster to retrieve and store with more servers
  • 15. Security Group • Name – {environment}-{tier}-{application} • Group Name – same as name (required by aws) • Protocol – ICMP, TCP, UDP • VPC – {vpc-name} • Tier – Web, App, Cache, DB, NAT • Environment – Production, Staging, Development • Application – (if applicable) nginx, mongodb, ssh, • Description – Short description of why this security group is needed