55
Best Practices for Getting Started with AWS [email protected] @IanMmmm Ian Massingham — Technical Evangelist

AWS AWSome Day - Getting Started Best Practices

Embed Size (px)

Citation preview

Page 1: AWS AWSome Day - Getting Started Best Practices

Best Practices for Getting Started with AWS

[email protected]@IanMmmm

Ian Massingham — Technical Evangelist

Page 2: AWS AWSome Day - Getting Started Best Practices

Getting Started with AWS: Agenda

Eight best practices you should focus on when getting started

Resources you can use to learn more

Getting Started with AWS

Page 3: AWS AWSome Day - Getting Started Best Practices

http://aws.amazon.com/getting-started/

Getting Started with AWS

Page 4: AWS AWSome Day - Getting Started Best Practices

Choose Your First Use Case Well

1

Page 5: AWS AWSome Day - Getting Started Best Practices

Chose Your First Use Case Well

Make your first project a S.M.A.R.T one

Page 6: AWS AWSome Day - Getting Started Best Practices

Chose Your First Use Case Well

Dev & Test

Spin environments up and down on demand

Decouple development and test environments

from operations constraints

Explore elasticity in a sandboxed environment

Make your first project a S.M.A.R.T one

Page 7: AWS AWSome Day - Getting Started Best Practices

Chose Your First Use Case Well

Dev & Test

Spin environments up and down on demand

Decouple development and test environments

from operations constraints

Explore elasticity in a sandboxed environment

Backup & DR Take part of your data or

business applications step- by-step into non-

production DR use

Understand cloud dynamics and test during

controlled failover

Make your first project a S.M.A.R.T one

Page 8: AWS AWSome Day - Getting Started Best Practices

Chose Your First Use Case Well

Dev & Test

Spin environments up and down on demand

Decouple development and test environments

from operations constraints

Explore elasticity in a sandboxed environment

Backup & DR Take part of your data or

business applications step- by-step into non-

production DR use

Understand cloud dynamics and test during

controlled failover

Greenfield Project

Embody best practice of cloud computing in

unconstrained greenfield projects

Self contained web projects, document

archiving etc

Make your first project a S.M.A.R.T one

Page 9: AWS AWSome Day - Getting Started Best Practices

Chose Your First Use Case Well

Dev & Test

Spin environments up and down on demand

Decouple development and test environments

from operations constraints

Explore elasticity in a sandboxed environment

Backup & DR Take part of your data or

business applications step- by-step into non-

production DR use

Understand cloud dynamics and test during

controlled failover

Greenfield Project

Embody best practice of cloud computing in

unconstrained greenfield projects

Self contained web projects, document

archiving etc

Pain point

Move specific service aspects causing undue cost or management

burden

Workflows, search indexing, media

streaming, document archiving, constrained

databases

Make your first project a S.M.A.R.T one

Page 10: AWS AWSome Day - Getting Started Best Practices

Plan Evolution and Set Goals

Understand services

Test performance

Architect for scale

Develop team capabilities

Implement monitoring

Change control and management

Security management

Scalability

Automate corrective actions

Auto-scaling

Zero downtime deployments

System backup and recovery

Proof of Concept Production Automation

Sam

ple

Act

iviti

es

Page 11: AWS AWSome Day - Getting Started Best Practices

Lay Out Your Foundations

2

Page 12: AWS AWSome Day - Getting Started Best Practices

Accounts

Create an account structure that makes sense

Use accounts like environments where you need separation and

control

e.g. Dev Sandboxes Test Environments

Business Units Products & Services

Lay Out Your Foundations

Page 13: AWS AWSome Day - Getting Started Best Practices

BillingAccounts

Create an account structure that makes sense

Use accounts like environments where you need separation and

control

e.g. Dev Sandboxes Test Environments

Business Units Products & Services

Control access to billing information

Use IAM users to keep billing information in the master account

Consolidate billing into a single account

Let one account pick up the bill for multiple ‘sub accounts’

Setup billing alerts and automated bill reporting

Get CloudWatch notifications when billing reaches a point and output

csv reports to S3 for analysis

Lay Out Your Foundations

Page 14: AWS AWSome Day - Getting Started Best Practices

Enable delivery of billing reports with resources & tags

Billing preferences

Billing Settings

Page 15: AWS AWSome Day - Getting Started Best Practices

BillingMaster Account

[email protected]

Page 16: AWS AWSome Day - Getting Started Best Practices

Billing

Consolidated Billing Relationship

Master [email protected]

Division [email protected]

User2Dev2Admin2

IAM

Page 17: AWS AWSome Day - Getting Started Best Practices

Billing

Consolidated Billing Relationship

Master [email protected]

Division [email protected]

User2Dev2Admin2

IAM

Tags: Own=DivProj=P

Tags: Own=DivProj=Q

Tags: Own=DivProj=R

Tags: (key-value) e.g Own=Div

Proj=R

Page 18: AWS AWSome Day - Getting Started Best Practices

Billing

Consolidated Billing Relationships

Master [email protected]

Business Unit [email protected]

User3Dev3Admin3

IAM

Tags: Own=BusCProj=X

Tags: Own=BusCProj=Y

Tags: Own=BusCProj=Z

Division [email protected]

User2Dev2Admin2

IAM

Tags: Own=DivProj=P

Tags: Own=DivProj=Q

Tags: Own=DivProj=R

Operating Co. [email protected]

User1Dev1Admin1

IAM

Tags: Own=OpCoProj=A

Tags: Own=OpCoProj=B

Tags: Own=OpCoProj=C

Page 19: AWS AWSome Day - Getting Started Best Practices

Billing

Consolidated Billing Relationships

Master [email protected]

Business Unit [email protected]

User3Dev3Admin3

IAM

Tags: Own=BusCProj=X

Tags: Own=BusCProj=Y

Tags: Own=BusCProj=Z

Division [email protected]

User2Dev2Admin2

IAM

Tags: Own=DivProj=P

Tags: Own=DivProj=Q

Tags: Own=DivProj=R

Operating Co. [email protected]

User1Dev1Admin1

IAM

Tags: Own=OpCoProj=A

Tags: Own=OpCoProj=B

Tags: Own=OpCoProj=C

Alert:

Reached $500 Alert:

Reached $3500 Alert:

Reached $1250

Page 20: AWS AWSome Day - Getting Started Best Practices

S3CSV

Billing

ANALYSIS

Programmatic Billing Access

Consolidated Billing Relationships

Master [email protected]

Business Unit [email protected]

User3Dev3Admin3

IAM

Tags: Own=BusCProj=X

Tags: Own=BusCProj=Y

Tags: Own=BusCProj=Z

Division [email protected]

User2Dev2Admin2

IAM

Tags: Own=DivProj=P

Tags: Own=DivProj=Q

Tags: Own=DivProj=R

Operating Co. [email protected]

User1Dev1Admin1

IAM

Tags: Own=OpCoProj=A

Tags: Own=OpCoProj=B

Tags: Own=OpCoProj=C

Page 21: AWS AWSome Day - Getting Started Best Practices

S3CSV

Billing

ANALYSIS

Programmatic Billing Access

Consolidated Billing Relationships

Master [email protected]

Business Unit [email protected]

User3Dev3Admin3

IAM

Tags: Own=BusCProj=X

Tags: Own=BusCProj=Y

Tags: Own=BusCProj=Z

Division [email protected]

User2Dev2Admin2

IAM

Tags: Own=DivProj=P

Tags: Own=DivProj=Q

Tags: Own=DivProj=R

Operating Co. [email protected]

User1Dev1Admin1

IAM

Tags: Own=OpCoProj=A

Tags: Own=OpCoProj=B

Tags: Own=OpCoProj=C

Page 22: AWS AWSome Day - Getting Started Best Practices

3rd Party Cost Management Tools

Page 23: AWS AWSome Day - Getting Started Best Practices

Access KeysBillingAccounts

Create an account structure that makes sense

Use accounts like environments where you need separation and

control

e.g. Dev Sandboxes Test Environments

Business Units Products & Services

Control access to billing information

Use IAM users to keep billing information in the master account

Consolidate billing into a single account

Let one account pick up the bill for multiple ‘sub accounts’

Setup billing alerts and automated bill reporting

Get CloudWatch notifications when billing reaches a point and output

csv reports to S3 for analysis

Decide upon a key management strategy

Control access to EC2 instances via SSH and embedded public key:

e.g. EC2 Key Pair per group of instances, EC2 Key Pair per

account

Consider SSH key rotation & automation

Limit exposure to private key compromise by rotating keys and replacing authorized_keys listings

on running instances Consider bootstrap automation to

grant developer access with developer unique keypairs

Lay Out Your Foundations

Page 24: AWS AWSome Day - Getting Started Best Practices

Groups & RolesAccess KeysBillingAccounts

Create an account structure that makes sense

Use accounts like environments where you need separation and

control

e.g. Dev Sandboxes Test Environments

Business Units Products & Services

Control access to billing information

Use IAM users to keep billing information in the master account

Consolidate billing into a single account

Let one account pick up the bill for multiple ‘sub accounts’

Setup billing alerts and automated bill reporting

Get CloudWatch notifications when billing reaches a point and output

csv reports to S3 for analysis

Decide upon a key management strategy

Control access to EC2 instances via SSH and embedded public key:

e.g. EC2 Key Pair per group of instances, EC2 Key Pair per

account

Consider SSH key rotation & automation

Limit exposure to private key compromise by rotating keys and replacing authorized_keys listings

on running instances Consider bootstrap automation to

grant developer access with developer unique keypairs

Use IAM Groups to manage console users and API

access Provide developers with IAM user

login and unique API access credentials

Control & restrict what IAM users can do by placing them in groups

with associated policies

Assign EC2 Instances IAM roles

Let AWS manage API access credentials on running instances by assigning a system entitlement to

an instance e.g. instance can only read S3

bucket

Lay Out Your Foundations

Page 25: AWS AWSome Day - Getting Started Best Practices

Identity & Access Management - IAMAccount

ApplicationsAdministrators Developers

Jim

Gavin

Steve

Nigel

Stephen

Ingest

Console

Reporting

Page 26: AWS AWSome Day - Getting Started Best Practices

Identity & Access Management - IAMAccount

ApplicationsAdministrators Developers

Jim

Gavin

Steve

Nigel

Stephen

Ingest

Console

Reporting

Groups

Multi-factor Authentication

Page 27: AWS AWSome Day - Getting Started Best Practices

Identity & Access Management - IAMAccount

ApplicationsAdministrators Developers

Jim

Gavin

Steve

Nigel

Stephen

Ingest

Console

Reporting

Groups Roles

Multi-factor Authentication

AWS API Credentials

Page 28: AWS AWSome Day - Getting Started Best Practices

IAM Policies{"Statement":[{"Effect":"Allow","Action":["elasticbeanstalk:*","ec2:*","elasticloadbalancing:*","autoscaling:*","cloudwatch:*","s3:*","sns:*"],"Resource":"*"}]}

Create a policy to assign permissions to a user, group, role or resource.

Policies are created using JSON. A policy consists of one or more statements, each of which describes one set of permissions.

Policies control access to AWS APIs

Page 29: AWS AWSome Day - Getting Started Best Practices

Identity and Access Management - IAM

For more details on IAM, visit:

aws.amazon.com/iam

Page 30: AWS AWSome Day - Getting Started Best Practices

Think Security3

Page 31: AWS AWSome Day - Getting Started Best Practices

Foundation Services

Compute Storage Database Networking

AWS Global Infrastructure Regions

Availability ZonesEdge Locations

Client-side Data Encryption & Data Integrity Authentication

Server-side Encryption (File System and/or Data)

Network Traffic Protection(Encryption/Integrity/Identity)

Platform, Applications, Identity & Access Management

Operating System, Network & Firewall Configuration

Customer Data

Amaz

onYo

u

Shared Security Responsibility

Page 32: AWS AWSome Day - Getting Started Best Practices

Understand your customer & determine your security stance

Leverage AWS Security

External Audience

Regulatory Audience

Internal Audience

Architecture

Administration

IAM

Certifications

White Papers

QSA Process

Your Processes

Your Certifications Penetration Test Results

Page 33: AWS AWSome Day - Getting Started Best Practices

Understand your customer & determine your security stance

Engage with security assessors early in your adoption cycle

Leverage AWS Security

Don’t fear assessment – AWS meets high standards (PCI DSS, ISO27001)

Security assessments take time, so allow for this in your planning

Undertake architecture reviews early in your design/deployment process

Page 34: AWS AWSome Day - Getting Started Best Practices

Understand your customer & determine your security stance

Engage with security assessors early in your adoption cycle

Use comprehensive materials and certifications provided by AWS

Leverage AWS Security

For more details on AWS Security, visit: aws.amazon.com/security

Risk and compliance white paper AWS security processes white paper CSA consensus assessments initiative questionnaire

(requires NDA)

Page 35: AWS AWSome Day - Getting Started Best Practices

Services not Software4

Page 36: AWS AWSome Day - Getting Started Best Practices

AWS CloudInfrastructure & Services

YourBusiness

More Time to Focus onYour Business

Configuring Cloud Services

70%

30%70%

Self Managed Software & Infrastructure

30%

Managing All of the “Undifferentiated Heavy Lifting”

Services Not Software

Page 37: AWS AWSome Day - Getting Started Best Practices

Relational Database ServiceEasy to set up, operate, and scale Handles time-consuming database management tasks, such as backups, patch management, and replication Supports MySQL, MariaDB, Oracle, Microsoft SQL Server, PostgreSQL & Amazon Aurora

NoSQL Database ServiceFast, predictable performance

Supports document & key-value data models Fully distributed, fault tolerant architecture

Amazon RDS

Amazon DynamoDB

Services Not Software

Page 38: AWS AWSome Day - Getting Started Best Practices

Amazon SQS

Processing task/processing trigger

Processing results

Simple Queue ServiceFast, reliable, scalable, fully managed message queuing service Transmit any volume of data, at any level of throughput

Amazon SQS

Amazon EMR

Elastic MapReduceUses Hadoop, an open source framework, to distribute your data and processing across EC2 instances Integrates with other AWS services, such S3 & DynamoDB Supports the broad Hadoop tools ecosystem

Services Not Software

Page 39: AWS AWSome Day - Getting Started Best Practices

Optimise Your Costs5

Page 40: AWS AWSome Day - Getting Started Best Practices

Use the Right Instance Types

Use Auto Scaling

Turn Off Unused Instances

Use Reserved Instances

1234

Use Spot Instances 5

Use Storage Classes6Offload Your Architecture7Use Services, Not Software8Use Consolidated Billing9Use Cost Management Tools10

Page 41: AWS AWSome Day - Getting Started Best Practices

Use Tools & Frameworks

6

Page 42: AWS AWSome Day - Getting Started Best Practices

Access everything via CLI, API or Console

Use one of 9 (soon to be 10) fully supported SDKs to create or make use of existing AWS resources within your own code

Leverage a broad ecosystem of open source, free and commercially licensed tools to work with AWS Services

Achieve the highest levels of automation to support continuous deployment, define your infrastructure-as-code or automate your development, operations or DevOps processes

Find out more at: aws.amazon.com/developers/getting-started/

Everything is Programmable

Page 43: AWS AWSome Day - Getting Started Best Practices

AWS Deployment & Management Tools

AWS Elastic Beanstalk

AWS OpsWorks

AWS CloudFormation

AWS CodeDeploy

Page 44: AWS AWSome Day - Getting Started Best Practices

Get Supported7

Page 45: AWS AWSome Day - Getting Started Best Practices

Get Supported: AWS Support Options

Four Support Tiers are Available.

Chose from:

Basic Developer Business Enterprise

For more details on AWS Support, visit: aws.amazon.com/premiumsupport

Greaterof$29-or-3%ofmonthlyAWSusage

Greaterof$100-or-aminimum10%ofmonthlyAWSusage

Greaterof#15,000-or-10%ofmonthlyAWSusage

Page 46: AWS AWSome Day - Getting Started Best Practices

Get Supported: Trusted Advisor

Page 47: AWS AWSome Day - Getting Started Best Practices

Get Supported: Trusted Advisor

Page 48: AWS AWSome Day - Getting Started Best Practices

Get Supported: Trusted Advisor

Page 49: AWS AWSome Day - Getting Started Best Practices

Operating systems on EC2 instances:

Ubuntu Server Red Hat Enterprise Linux and Fedora SUSE Linux (SLES and openSUSE) CentOS Linux Microsoft Windows Server 2003 R2 Microsoft Windows Server 2008 Microsoft Windows Server 2008 R2 Microsoft Windows Server 2012

Infrastructure components:

Sendmail and Postfix MTAs OpenVPN and RRAS SSH, SFTP, and FTP LVM and Software RAID

Web servers:

Apache IIS Nginx

Databases:

MySQL Microsoft SQL Server

Get Supported: 3rd Party Software

For more details on AWS Support, visit: aws.amazon.com/premiumsupport

Page 50: AWS AWSome Day - Getting Started Best Practices

Be Well Architected8

Page 51: AWS AWSome Day - Getting Started Best Practices

What is the Well-Architected Framework?

Pillars Design Principles Questions

Page 52: AWS AWSome Day - Getting Started Best Practices

Pillars of Well-Architected

Security Reliability Performance Efficiency

Cost Optimisation

Operational Excellence

Page 53: AWS AWSome Day - Getting Started Best Practices

For More Information…

AWS Well-Architected Framework Whitepaper

Free Online TrainingPillar Specific Whitepapers

Page 54: AWS AWSome Day - Getting Started Best Practices

Resources You Can Use to Learn More

aws.amazon.com/getting-started/

aws.amazon.com/premiumsupport

aws.amazon.com/architecture

aws.amazon.com/security

aws.amazon.com/campaigns/emea-getting-started

aws.amazon.com/well-architected

Page 55: AWS AWSome Day - Getting Started Best Practices

Follow us fo

r more

events

& webina

rs

@AWScloud for Global AWS News & Announcements

@AWS_UKI for local AWS events & news

@IanMmmmIan Massingham — Technical Evangelist