サービス基盤を⽀えるAWSのアーキテクチャ
Amazon Web Services Japan
エコシステムソリューション部
パートナーソリューションアーキテクト ⼩梁川

⾃⼰紹介⼩梁川•

APNさまへの技術⽀援
•

経歴–
–

アーキテクチャの検討⽀援やレビューなど

ソフトハウスにて、開発とSI業務を経験
電機メーカーにて、⾃社Webサービスの設計から運⽤まで経験••たかし）

パートナーソリューションアーキテクト–•

貴史(こやながわ

AWSのユーザとして4年半、1000台を超えるインスタンス環境での開発・運⽤

好きなサービス––

Cloudwatch eventsAWS IoT

アマゾンのビジネス

Eコマース（物販＆デジタル）
マーケットプレイス
ロジスティックス

アドバタイジング

クラウド

Since 1995…
「規模の経済」×「ITの活⽤」で「薄利多売」のビジネスモデルを実現
低コスト化への改善

カスタマーファースト
選択肢の増加スケールメリット
パートナーの増加
企業の成長
顧客満足度
テクノロジーカンパニーの向上
利用量の増加値下げ

Amazonのクラウドの考え⽅

初期投資不要完全従量課⾦柔軟なキャパシティ

市場投⼊スピードセキュア

グローバル展開

柔軟なインフラリソースを、いつでも、誰でも、安く、⼿に⼊れることができる

AWS グローバルネットワーク
13のリージョン

1. 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. GovCloud
10.BJS 1 (Beijing China) limited
11.EU (Frankfurt)
12.Seoul(korea)
13 Regions (地域) | 35 Availability Zones(データセンター群)
13.Mumbai(India)

54か所のエッジロケーション

世界中に広がるAWSの拠点
AZ間はAWSの専⽤線で接続
AZ間はほぼ1ms以下のレイテンシー
AZ
1データセンターあたり5万台以上のサーバ
データセンター間はAWSの専⽤線で接続

AZ

TransitAZ

AZ

AZTransit世界中に広がるAWSの拠点
AZ間はAWSの専⽤線で接続
AZ間はほぼ1ms以下のレイテンシー

収集されるデータのロケーションはお客様が選択
AZTransit

1データセンターあたり5万台以上のサーバ
データセンター間はAWSの専⽤線で接続

データは配置されたリージョンから許可なく他
AZ
AZ
AZ
リージョンへコピーされない
AZ

Transit

むしろ、DR⽬的であえて⾃動でコピーする設定を⾏うことも可能

AWSのセキュリティに対する取り組み

リリースとセキュリティの関係
ティ最優先の考え⽅

40%以上がセキュリティに関するアップデートorリリース

共有責任モデル 〜AWSのセキュリティに関する考え⽅

お客様

お客様のアプリケーションとコンテンツプラットフォーム、アプリケーション、アイデンティティ＆アクセス管理
オペレーティングシステム、ネットワーク、ファイアウォール構成
クライアント側でのデータ暗号化

サーバー側でのデータ暗号化

顧客はクラウド内のセキュリティに責任を持ちます。

ネットワークトラ
フィックの保護AWS の基盤サービス
コンピュー
ティング

ストレージ

AWS グローバ
ルインフラスト
ラクチャ

データベースアベイラビリティーゾーン
リージョン

ネットワー
キング

エッジロケーション

AWS はクラウドのセキュリティに責任を持ちます。

専⾨家の監査: 透明性と正確性
専⾨の監査⼈は、コンプライアンスに関して偏⾒のない⾒解を提供します
プロセスが終わることはなく、常に尽⼒し続けています
これまでにご覧になったことがないようなモニタリングを継続しています

PCI DSS：Payment Card
Industry Data Security
Standard
クレジットカード情報および取引情報を取り扱うためのセキュリティ基準

https://aws.amazon.com/jp/compliance/compliance-latest-news/

AWSのセキュリティ実証例
医情情報でもクラウドに医療情報を分散格納し、情報漏えいや災害時の情報消失防⽌に対処

Eコマースでもクラウド上で、顧客情報、クレジット決済を管理

金融サービスでもPCI DSSを取得して⾦融決済サービスを提供

⽇本で20,000以上のお客様エコシステムで課題解決！
AWSクラウド上で構築

アプライアンス、ネットワークベンダーのクラウド対応

クラウドサービス提供

システムインテグレーション

すべての IT を on AWSで500台規模のプライベート 基幹システムをAWSに移⾏
クラウドを丸ごとAWSへ
その他の業務システムも業務システムの全インフラを順次AWSに移⾏
数年かけてAWSに移⾏1000台以上のサーバーをほぼ全てをクラウドへ移⾏
5年間で40%のコスト削減

AWS⾃体にて継続的なイノベーションを加速

722
516

AWS CodeDeploy

280
159
82
Amazon SES

48
AWS Import/Export

24
AWS EMR
Amazon VPC
Amazon RDS

2009

Amazon SNS
AWS Identity& Access
Management
AmazonRoute 532010

AWS Elastic
Beanstalk
AWS
CloudFormation
AmazonElastiCacheAWS Direct
Connect
GovCloud2011

AWS Storage
Gateway
AmazonDynamo DB
AmazonCloudSearchAmazon SWF
AmazonGlacierAWS CodeCommit
AWS CodePipeline
Amazon EC2
Container Service

Amazon Elastic
Transcoder
AWS OpsWorks
AmazonCloudHSM
AmazonAppStream
AmazonCloudTrail

Amazon Lambda
Amazon Config
Amazon CloudWatch Logs
Amazon RDS forAurora
AWS KMSAWS IoTAWS Mobile Hub
Amazon EC2 ContainerRegistry
AWS Database Migration
ServiceAmazon Inspector
Amazon RDS for MariaDB
Amazon Kinesis Analytics
Amazon Kinesis Firehose
AWS Import/Export
SnowballAmazon QuickSight
AmazonElasticsearch Service

Amazon Cognito

AWS WAF

Amazon WorkDocs

Amazon API GatewayAWS Service Catalog

AWS Device FarmAWS Directory
ServiceAmazon EFS

Trusted Advisor
AmazonRedshiftAmazonWorkSpaces

AWS Data
Pipeline

AmazonKinesis

Amazon Mobile
Analytics

Amazon Machine
Learning

2012

2013

2014

2015

Amazon WorkMail数字で⾒るAWSクラウド• 世界に先駆け2006年より、クラウドサービスを提供• 世界に13か所のデータセンター群• 世界で190か国の100万を超えるお客様が利⽤• 年間で合計700を超える(15年度実績)、イノベーション機能拡張/改善• 世界に10,000を超えるパートナー・エコシステム• 累計で51回以上値下げをして利益をお客様へ還元

お客様のアプリケーション
ライブラリ & SDKs

Java, PHP,.NET,Python, Ruby

管理インターフェイス
ManagementConsole, CLI

認証とログ

IAM, Cloud Trail,
Cloud HSM,
ConfigディレクトリDirectory
Service

モニタリングCloud Watch,
Trusted Advisor

エンタープライズアプリケーション

コード管理

デプロイと⾃動化
Elastic Beanstalk,
Cloud Formation,
OpsWorks

CodeDeploy,
CodeCommit,
CodePipeline

モバイルサービス

WorkSpaces, WorkDocs, WorkMail

Mobile Analytics, Cognito, SNS

データベースアプリケーションサービス
分析
サーバー、ストレージ、DBから、アプリケーションまで
RDS, DynamoDB,
AppStream, Cloud Search,
Elastic MapReduce,Redshift, ElastiCache
SWF, SQS, SES,Kinesis, Data Pipeline
70を超えるクラウドサービスを提供
コンピュート処理

EC2, Auto Scaling, Lambda
Elastic Load Balancing,
EC2 Container Service

ストレージ

EBS, S3, Glacier, Storage
Gateway

ネットワークVPC, Route 53, Direct Connect
Regionグローバルインフラ

AZ

リージョン、アベイラビリティゾーン、エッジロケーション

コンテンツ配信
CloudFront

クラウドネイティブ化による本業集中への変遷イメージ
Application

Application

Middleware

Middleware

OSOS

Application

Server/Storage
Network
Appliance
Data Center

オンプレ

クラウドファースト

クラウドネイティブAWSサービスの本質はビルディングブロック。
サービスを組み合わせることで、素早くアプリケーション構築が可能

Amazon API Gateway
Web APIの作成・保護・運⽤と公開を簡単に
AWS

Mobile Apps

API Gateway
Cache

•

– OS、キャパシティ等インフラの管理不要– バックエンドとしてLambda、既存Webシス
テムを利⽤可能– スロットリング/キャッシュAWS Lambda
functions

APIGateway

Endpoints on
Amazon EC2 /Amazon Elastic
BeanstalkWebsitesServicesAmazon
CloudWatch
Monitoring

特徴 (http://aws.amazon.com/jp/lambda/)•Any other publicly
accessible endpoint

価格体系 (http://aws.amazon.com/jp/lambda/pricing/)– 呼び出し回数とキャッシュ容量– 100万回の呼び出しにつき$3.5– キャッシュ容量に応じて$0.02/時〜$3.8/時

Amazon API Gateway
提供するAPIのバージョン管理
API利⽤状況のモニタ、管理とマネタイズ
APIに対する認証とアクセス権の管理
トラフィック管理とAPIエンドポイントのアタックからの保護
インフラのセットアップおよび管理とメンテナンス

スロットリング• メソッド単位でのスロットリングを提供– ステージ単位で全体的に同⼀設定にすることも、個々のメソッドに対して個別に設定することも可能– スロットリングによりバックエンドのパフォーマンスと可⽤性を維持– 許容するリクエスト/秒を指定– バーストを許容する設定も可能– トークンバケットアルゴリズムによる実装• リミットを超えたリクエストがスロットリングされる– HTTPステータス429(Too many request)をレスポンス– ⽣成したSDKを使う場合、⾃動でリトライする

レスポンスのキャッシング
• レイテンシ減とバックエンドへのトラフィック軽減– キャッシュがあった場合、バックエンドを呼び出すことなくレスポンス• ステージ単位のキャッシュプロビジョニング– 0.5GBから最⼤237GBの間でプロビジョニング• 細やかな設定– メソッド単位で暗号化とTTLを設定– クエリパラメータ、ヘッダ、パスパラメータ単位でキャッシュ有無を設定• キャッシュアルゴリズムはLRU（Least Recently Used）

AWS Lambda
イベントをトリガーにコードを実⾏するコンピュートサービス

インフラ管理不要

⾼いパフォーマンス

ビジネスロジックにフォーカスできる
コードをアップロードするだけで、あとはAWS Lambdaが以下をハンドリング

イベントのレートに合うようにLambdaが⾃動でスケール

細やかな料⾦100ミリ秒単位でのコンピュート
時間に対する価格設定AWS Lambda
サービスの組み合わせ■リアルタイムデータ処理として■イメージのリサイズやサムネイルの作成

元画像

1

3

リアルタイムAmazon Kinesis

サムネイル画像2

Amazon S3 Bucket イベント

AWS Lambda

集計処理
Cloudwatch logsやSNSなどとの連携も可能■SWF Workerとして（バッチジョブフローのタスクとして）■値チェックや別テーブルへのコピー

Amazon DynamoDB
Table and Stream

AWS Lambda

別テーブルを更新

画像処理
AWS Lambda

プッシュ通知配信処理
AWS Lambda

AWSLambda

従来型アーキテクチャとAWS Lambdaの⽐較

S3へファイルアップロードされたら解析するようなユースケース
従来型アーキテクチャ

AWS Lambda

1)ポーリング
1)Object 設置
2)object 設置

2)AWS Lambda起動3)object 情報取得
4)処理queue作成

5)処理queue ポーリング

6)実際にやりたい処理
処理量に併せてinstanceの増減管理

EC2インスタンス不要
・EC2 コスト・監視・リアルタイム性の向上
従来型アーキテクチャの6)のコードのみ・コード圧縮可能

Amazon Relational Database Service (RDS)
フルマネージドRDBMSサービス•特徴 (http://aws.amazon.com/jp/rds/)––––•

MySQL / PostgreSQL / Oracle DB / SQL Serverに対応
数クリックで構築可能で、バックアップやパッチの適⽤、フェイルオーバーは⾃動で⾏われる
Oracle DB / SQL Serverのライセンスを従量課⾦モデルで利⽤可能 (Oracle DB: Standard Edition One / SQL
Server: Express、Web、Standard Edition) , Enterprise
Editionなど他のエディションをBYOL可能
Multi-AZ配置(SQL ServerはVirginia, Oregon, Ireland
リージョン)により2つのAZにMasterを配置可能(HotStandby構成) / リージョン間でスナップショット⾃動転送も可能

価格体系 (http://aws.amazon.com/jp/rds/pricing/)–––

インスタンスタイプに応じて
Oracle / SQL Serverはライセンスの時間課⾦ストレージ / バックアップストレージは利⽤量に応じて。
Multi-AZ配置を利⽤の場合料⾦表記載の料⾦

Amazon Cognito
アイデンティティの管理とクロスプラットフォームなデータ同期■Cognito Identity : AWSサービスへのゲートウェイ •Amazon Cognito(AWS IAM / STS)•
■Cognito Sync :クロスデバイスなデータ同期

特徴 (http://aws.amazon.com/jp/cognito/)– 複数のIDプロバイダや独⾃認証基盤との連携したユニークなアイデンティティの作成・管理– クロスプラットフォーム、クロスデバイスでのデータ同期– セキュリティのベストプラクティス実装を実現

価格体系 (http://aws.amazon.com/jp/cognito/pricing/)– 無料利⽤枠•••

⽉あたり100万回の同期オペレーション
⽉あたり10GBのデータストア
最初の12ヶ⽉のみ– それ以降••10000回の同期オペレーションあたり$0.15
同期⽤データストアの容量：$0.15/GBAmazon Simple Notification Service (SNS)マルチプロトコルに対応したフルマネージド通知サービス
2. マルチプロトコルで通知

•–

HTTP
HTTPS

1.Topicにメッセージを送信

––

EMAIL

•

PublishPublisher

特徴 (http://aws.amazon.com/jp/sns/)

価格体系 (http://aws.amazon.com/jp/sns/pricing/)
–

Topic

Amazon SNS

個々のメッセージ送信や、多数の受信者にメッセージをファンアウトすることが可能
AWSの様々なサービスと連携して通知可能
フルマネージドなので⾼速かつスケーラブルで管理不要で⾮常に安価
無料枠:
•SQS

•
•

–
MobilePush

Subscriber

Email/Email-JSON: 1,000件

HTTP/HTTPS: 100,000件
Simple Queue Service（SQS）: 無料

リクエスト単価(64KBのチャンク毎に1リクエストとして課⾦)•••Email/Email-JSON: 100,000件あたり2 USD
HTTP/HTTPS: 100万件あたり0.6 USD
Simple Queue Service（SQS）: 無料

Amazon Mobile Analytics
モバイルのためのスケーラブルなデータ収集と可視化•– モバイルアプリの利⽤状況データを⼤規模に収集、可視化して把握することが可能– ⾼速、スケーラブルでクロスプラットフォーム– S3、Redshiftへ⽣データを⾃動エクスポート

Amazon S3
自動エクスポート収集•

Amazon Mobile Analytics
参照
Amazon Redshift

特徴 (http://aws.amazon.com/jp/mobileanalytics/)

価格体系 (http://aws.amazon.com/jp/mobileanalytics/pricing/)– 収集するイベント数による課⾦– 無料枠•

⽉あたり1億イベントまで– それ以降•⽉あたり100万イベントにつき$1従来型のサーバデザインとサーバレスアーキテクチャデザイン

典型的なWebシステム
Amazon Route 53(ドメイン名割り当て)
東京リージョン

CloudFront(コンテンツ配信)

ELB(ロードバランサ)
AZ-1c

AZ-1a

EC2

EC2

S3
静的コンテンツ

RDSマスタ⾃動同期

RDSスレーブクラウドファーストWeb Front

Application

Availability ZoneELBDB
Web Front

Application

Availability Zone

認証・認可機能、スロットリング、コンテンツ配信、スケーリング、キャッシュ機構など

求められるスピード
モバイル
対応

新しい要求

セキュリ
ティパッチ
リソース管理インフラ運用クラウドネイティブ

静的コンテンツ

認証機構

AIP定義
スロットリング設定
WebFront

ファンクション

DB
NoSQL DB

① S3のStaticWebsiteにアクセス

１• S3の静的ウェブサイトホス
ティング機能でホストされた
HTML, JS, CSSにアクセス。
以降は全てAjaxで処理する。

② Cognitoから認証情報取得

１

2• AWSのリソースにアクセスするための⼀時的な認証情報をCognitoから取得。

③ AjaxでAPI Gatewayを叩く

１

2
3• Cognitoから取得した認証情報を⽤いる。
• 新規コメント投稿や投稿内容の取得を⾏う。

④ APIがLambdaをキック

１

2
3• LambdaでDynamoDBにアクセスし、情報の登録/取得を⾏う。
• No servers.

4

⑤ LambdaでDynamoDBを操作

１• 情報の取得と更新を⾏う。

2
3
4

5

サーバレス構成のまとめ

１

2① S3 静的ウェブサイトホスティング② Cognito Indentity & Cognito Sync
③ API Gateway (IAM認証, CORS)④ Lambda Function⑤ DynamoDB

3
45

まとめ• サーバレスアーキテクチャ– サーバがなくなるわけではなく、お客様⾃⾝がサーバ/インスタンスを管理する必要がなくなる• アプリケーション作成• API設計に集中頂くことが可能– 導⼊のポイント• REST API• ステートレス• 新しい技術に対する検討– 管理– テストなど