58
Webサービス向けスケーラブルな構成 アマゾンデータサービスジャパン株式会社 2015.10.08 継続的な成やメディア紹介時のアクセス集中に備える

Webサービス向けスケーラブルな構成例 - 継続的な成長やメディア紹介時のアクセス集中に備える -

Embed Size (px)

Citation preview

  • Web

    2015.10.08

    - -

  • Agenda

    AWS

  • Agenda

    AWS

  • 12EC2VPSWeb

    CEO

  • Agenda

    AWS

  • /SNS

    DB

  • CTO/

    IT/

  • CEO 1

  • Agenda

    AWS

  • VPS

    EC2

    EC2

    WebApp

    DB(MySQL)

    AZ

    EC2

    AppDB

    AZ

  • WebDB

    etc

  • AWS

  • (OS)

    Amazon EC2

    GUIAZ

    ELB(Elastic Load Balancing)

  • (DB)

    /

    Amazon RDS

    DCC

    Amazon S3

  • Linux/Windows

    Amazon EC2

    MySQLPostgreSQL

    Amazon RDS

    API

    Amazon S3

  • ()

    111. US EAST (Virginia)2. US WEST (N. California)3. US WEST 2 (Oregon)4. EU WEST (Ireland)5. JAPAN (Tokyo)6. South America (Sao Paulo)7. ASP 1 (Singapore)8. ASP 2 (Sydney)9. GovCloud10.BJS 1 (Beijing China) limited preview11.EU (Frankfurt)

    30(AZ)50

  • Tokyo2(AZ) 2AZ

    EU (Ireland)

    AvailabilityZone A

    AvailabilityZone C

    AvailabilityZone B

    Asia Pacific (Tokyo)

    AvailabilityZone A

    AvailabilityZone B

    US West (Oregon)

    AvailabilityZone A

    AvailabilityZone B

    US West(Northern California)

    AvailabilityZone A

    AvailabilityZone B

    Asia Pacific (Singapore)

    AvailabilityZone A

    AvailabilityZone B

    AWS GovCloud (US)

    AvailabilityZone A

    AvailabilityZone B

    South America (Sao Paulo)

    AvailabilityZone A

    AvailabilityZone B

    US East (Northern Virginia)

    AvailabilityZone D

    AvailabilityZone C

    AvailabilityZone B

    AvailabilityZone E

    AvailabilityZone A

    Asia Pacific (Sydney)

    AvailabilityZone A

    AvailabilityZone B

    EU (Frankfurt)

    AvailabilityZone A

    AvailabilityZone B

    AZ=Availability Zone

  • EC2 EC2

    RDS

    AZ AZ

    WebApp

    WebApp

    ELB

    RDSEC2

    AZ

    WebApp

  • Web/App

    Web/App

    (ELB)

    Web/AppAvailability Zone(AZ)

    EC2 EC2

    RDS

    ELB

    AZ AZ

    WebApp

    WebApp

    RDS

  • Web/App

    ()

    AZUP

    EC2 EC2

    DB

    ELB

    AZ AZ

    WebApp

    WebApp

    EC2

    WebApp

    EC2

    WebApp

    RDS RDS

  • AMIEC2 AMI(Amazon Machine Image)

    EC2

    Web

    AMI

    AMI AMIEC2Web

    Web

  • Auto Scaling/ Auto Scaling

    EC2/ ) CPU570%2

    Auto Scaling Group

    ELB

    CloudWatch

    EC2

    ELB

    Web Web Web Web

  • CodeDeploy CodeDeploy

    EC2Agent AutoScaling

    1. Amazon S3 / GitHub

    2. files: hooks:

    Deployment group

    Agent Agent Agent

    orAmazon S3

    Application

    1. Upload

    files

    hooks/dst

    2. DeployDownload

    Polling

  • DBRDS(Multi-AZ)

    DBAWSRDBRDS

    Multi-AZONEC2 EC2

    ELB

    AZ AZ

    WebApp

    WebApp

    RDS RDS

  • DBRDS(Multi-AZ) AWS

    ()

    UPHD

    &Point In Time Recovery5

    (MultiAZ)

    EC2 EC2

    ELB

    AZ AZ

    WebApp

    WebApp

  • Multi-AZ

    AZ AZ

    AZ AZ

    AZ AZ

  • DBRDS(Multi-AZ) AWS

    ()

    UPHD

    &Point In Time Recovery5

    (MultiAZ) and more

    EC2 EC2

    ELB

    AZ AZ

    WebApp

    WebApp

    DB

  • EC2 EC2

    RDS

    AZ AZ

    WebApp

    WebApp

    ELB

    RDS

  • /

    EC2 EC2

    AZ AZ

    WebApp

    WebApp

    ELB

    EC2 EC2

    ELB

    AZ AZ

    WebApp

    WebApp

    EC2

    WebApp

    EC2

    WebApp

  • /

    EC2 EC2

    AZ AZ

    WebApp

    WebApp

    ELB

    EC2 EC2

    ELB

    AZ AZ

    WebApp

    WebApp

    EC2

    WebApp

    EC2

    WebApp

    /

    CPU/

  • TV

    AZ AZ

    WebApp

    WebApp

    WebApp

    WebApp

    WebApp

    WebApp

    WebApp

    WebApp

    UP

    Web

  • TV

    TV()

    2EC220RDS21,000(EC2m3.mediumRDSm3.mediumm3.xlarge)

  • TV

    TV()

    2EC220RDS21,000(EC2m1.mediumRDSm1.mediumm1.xlarge)

    (12)

  • EC2 EC2

    AZ AZ

    WebApp

    WebApp

    ELB

    EC2 EC2

    ELB

    AZ AZ

    WebApp

    WebApp

    EC2

    WebApp

    EC2

    WebApp

    Web/AppRDSOK

    ()

  • EC2 EC2

    RDS

    AZ AZ

    WebApp

    WebApp

    ELB

    RDS

  • BASE

    EC2 EC2

    RDS(Active)

    DB

    ELB

    AZ AZ

    RDS(Standby)

    ElastiCache

    S3

    S3

    ElastiCache

  • EC2 EC2

    RDS(Active)

    DB

    ELB

    AZ AZ

    RDS(Standby)

    ElastiCache

    S3

    EC2RDS

    S3S3

  • Tokyo Game Show 2014

  • Tokyo Game Show 2014

  • Tokyo Game Show 2014

  • EC2 EC2

    RDS

    AZ AZ

    WebApp

    WebApp

    ELB

    RDS

  • EC2 EC2

    RDS

    AZ AZ

    WebApp

    WebApp

    ELB

    RDS

    ElasticBeanstalk

    deploy!

    http://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-tech-aws-elastic-beanstalk

    Java Python PHP .NET

    Ruby nodeJS Docker

    ()Go

  • Retty

  • Retty

    http://www.slideshare.net/shotaumeda1/ph-perawsdev-ops

  • EC2 EC2

    RDS

    AZ AZ

    WebApp

    WebApp

    ELB

    RDS

  • ElasticBeanstalk

    EC2 EC2

    RDS

    AZ AZ

    WebApp

    WebApp

    ELB

    RDS

    ElasticBeanstalk

    deploy!

    Java Python PHP .NET

    Ruby nodeJS Docker

    ()Go

  • EC2 EC2

    RDS

    AZ AZ

    WebApp

    WebApp

    ELB

    RDS

  • API Gateway + Lambda

    JavaScript/UI

    JavaScriptS3 CloudFront

    API API Gateway Lambda

    JavaScript/iOSAndroidAPI View

    LambdaAWS

    API GW/LambdaEC2

    Lambda

    API Gateway

    AWS

    (EC2)

    S3

    CloudFront

    [] http://www.slideshare.net/keisuke69/ss-52562743

  • Agenda

    AWS

  • SaaS()

    NewRelicMackerel

    CloudWatch logs AWS

    EC2 zabbix munin nagios EC2

    http://www.slideshare.net/AmazonWebServicesJapan/20150701-aws-blackbeltcloudwatch

  • /DB

    sg-1234

    22: 0.0.0.0/080: 0.0.0.0/025: sg-1234

    sg-1234 sg-abcd

    22: 0.0.0.0/03306: sg-1234

    WebApp

    sg-1234

    WebApp

    sg-1234

    sg-XYZ

    WebApp

    [] http://www.slideshare.net/AmazonWebServicesJapan/aws-webinar-47323216

  • IAM

    AWS

    IAM Role

    [] http://www.slideshare.net/AmazonWebServicesJapan/aws-webinar-47323216

  • Agenda

    AWS

  • EC2 EC2

    RDS

    AZ AZ

    WebApp

    WebApp

    ELB

    RDS

    ElasticBeanstalk

  • ()

  • AWS http://aws.amazon.com/jp/aws-jp-introduction/