88
AWS Black Belt Online Seminarクラウドのためのアーキテクチャ設計 -ベストプラクティス- アマゾンウェブサービスジャパン株式会社 ソリューションアーキテクト 江川地 2016.09.29 Architecting for the Cloud

AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計 -ベストプラクティス-

アマゾンウェブサービスジャパン株式会社ソリューションアーキテクト 江川大地20160929

Architecting for the Cloud

Who am I bull  名前江川 大地

bull  所属bull  アマゾン ウェブ サービス ジャパン株式会社bull  ソリューションアーキテクト

bull  経歴bull  データベースエンジニアbull  AWS テクニカルトレーナー

bull  好きなサービスbull  AWS サポート

bull  好きなデータベースbull  PostgreSQL

2

  本資料料では2016年年9月29日時点のサービス内容および価格についてご説明しています最新の情報はAWS公式ウェブサイト(httpawsamazoncom)にてご確認ください

  資料料作成には十分注意しておりますが資料料内の価格とAWS公式ウェブサイト記載の価格に相違があった場合AWS公式ウェブサイトの価格を優先とさせていただきます

内容についての注意点

AWS does not offer binding price quotes AWS pricing is publicly available and is subject to change in accordance with the AWS Customer Agreement available at httpawsamazoncomagreement Any pricing information included in this document is provided only as an estimate of usage charges for AWS services based on certain information that you have provided Monthly charges will be based on your actual use of AWS services and may vary from the estimates provided

  価格は税抜表記となっています日本居住者のお客様が東京リージョンを使用する場合別途消費税をご請求させていただきます

3

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

AWS 上でシステム設計にあたっての疑問

bull  例例えばhellip

スケールアウト構成を構築する場合に何を意識識すればよいの

オンプレミスと違う発想で臨臨んだほうが

いいのAWSの特性を活かせるような設計とは

EC2 上でデータベースを構築するのとRDS を使うことの違いは

6

本日お話しすること

bull  クラウドらしいアーキテクチャを構築するための原則bull  AWS でシステムを構築するためのベストプラクティス

bull  より深く確認したい方は下記のホワイトペーパーを参照Oslash Architecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

7

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

8

AWS クラウドコンピューティングとは

俊敏性アジリティの向上

伸縮自在性

セルフサービスなインフラ

ワールドワイド

低額な利利用価格

Deploy

初期投資不不要従量量課金金

豊富なサービス

9

クラウドコンピューティングならではの特性

bull  IT 資産がプログラマブルにbull  グローバル展開可用性無制限のキャパシティbull  高レベルなマネージドサービスbull  Built-‐‑‒in Security

10

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

10 の設計プリンシプルbull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティ12

スケーラビリティ

Scalability

スケーラビリティ

bull  運用中のシステムを拡張縮小させる能力力

bull  スケーラビリティを生かすことで可能になることOslash 柔軟性の向上(事業の必要性に応じたリソース確保)Oslash コスト削減(必要な時に必要な分だけのリソース確保)

bull  スケールの種類Oslash 水平スケーリング(スケールアウトスケールイン)Oslash 垂直スケーリング(スケールアップスケールダウン)

Scalability14

水平垂直のスケーリングの比較bull  垂直スケーリング

(スケールアップスケールダウン) Oslash  個々のリソースのスペックを増減Oslash  リソースの限界が存在Oslash  インスタンスの停止が伴う

bull  水平スケーリング (スケールアウトスケールイン) Oslash  リソースの台数を増減Oslash  論論理理的には限界が存在しないOslash  インスタンスの停止が伴わない

small large

Scalability

small

small small small

small small small

small small small

15

水平スケーリングを行行うために心がけることbull  ステートレスアプリケーションコンポーネント

Oslash ステートフルになる要素を水平スケールするリソースの外部に配置-  セッション情報はDynamoDBElastiCache へ-  バイナリファイル ログなどは Amazon S3 へ

bull  ステートフルになるコンポーネントをどう扱うかOslash 水平スケールするマネージドサービスの利利用Oslash 水平スケールができない場合に注意すべき制約を洗い出す

bull  分散処理理(今までのやり方を見見直す)Oslash 長時間かかっていた単一のタスクを分割できないか検討

-  1台のサーバで4時間かかるタスクを4台のサーバで1時間でこなすbull  商用ライセンスの扱い

Oslash ライセンスの提供元に確認 Scalability16

ステートレスにするためのセッション情報の扱い

Oslash  スケールアウト時-  スケールアウトしたリソースが使われにくい

Oslash  スケールイン時-  セッションも一緒に落落とすことになるので困難

WebApp

Auto Scaling

ELBClient13

WebApp

Scalability

bull  セッション情報を水平スケールさせたいコンポーネントで持つと

WebApp

セッション 既存ユーザのセッションは既存のコンポーネントにあるためリクエストは同じリソースへ

Sticky Session

スケールアウトしたリソースを活かしにくい

WebApp

Auto Scaling

ELBClient13

WebApp

セッション インスタンスを削除すると既存ユーザのセッション情報も失われてしまう(ログアウトされた挙動となる)

Sticky Session

17

ステートレスにするためのセッション情報の扱いbull  スケールさせやすくするためにセッション情報は外だし

WebApp

Auto Scaling

ELBClient13 WebApp

DynamoDBセッション情報

ElastiCache

or

書き換えられても問題ない情報肥大化の恐れがない情報はClient-‐‑‒Side で保持することも可能

Client-‐‑‒Side で書き換えられると困る情報はServer-‐‑‒Side で保持

Scalability

各リソースに固有の情報がないのでいつでも増減しやすい

18

固定資産から可処分資産へ

Disposable Resources Instead of Fixed Servers

今まで(オンプレミス)bull  固定のリソースで運用

Oslash  リソース購入は前払いOslash  リソース追加には長いリードタイムrarr 事前のサイジングが必須

リソースに対する考え方

AWSbull  固定資産ではない

Oslash  使い捨て可能なソフトウェア (いつでも増減変更更可能)rarr 事前のサイジングは不不要

Disposable Resources Instead of Fixed Servers

タスクが増えたらインスタンスを増やして対応

タスクが完了了したらシャットダウン

サイジングにより決まった台数スペック

追加には長時間かかる

20

マインドセットを変える

AWSbull  リソースが常に存在する変更更しない前提の設計運用を止めるOslash  自動化Oslash  DNS によるアクセスOslash  バッチスケジュールの見見直しOslash  利利用時間帯の確認

Disposable Resources Instead of Fixed Servers

今まで(オンプレミス)bull  固定リソース運用により助長されがちなプラクティスOslash  手作業による設定変更更Oslash  IP アドレスのハードコードOslash  シーケンシャルな処理理Oslash  常に電源 ON

21

自動化

bull  水平スケールも自動的にbull  水平スケールしたインスタンスに対する設定も自動的に

Oslash  EC2 ユーザーデータメタデータ-  httpdocsawsamazoncomja_jpAWSEC2latestUserGuideec2-‐‑‒instance-‐‑‒metadatahtml

Oslash 構成管理理ツール(Chef Puppet などの3rd party ツール)

bull  次のプリンシプルも参照

Disposable Resources Instead of Fixed Servers 22

DNS によるアクセス

bull  固定 IP アドレスアクセスによる弊害の例例

Disposable Resources Instead of Fixed Servers 23

スケールイン時

100051 100052 100051 100052

100052直打ちでのアクセス

使用率率率が低くなったのでスケールイン

バッチスケジュールの見見直し

bull  並列列化で早く終わらせるOslash  1台で n 時間もn台で 1時間も料料金金は同じ

Disposable Resources Instead of Fixed Servers 24

時間1h 2h 3h

タスク1

タスク2

タスク3

タスク1

タスク2

タスク3

時間1h 2h 3h

利利用時間帯の確認

bull  固定資産ではないので常に稼働させる必要はないbull  実際のワークロード利利用時間帯に合わせて稼働させる必要がない時間は落落としてコスト節約につなげる

Disposable Resources Instead of Fixed Servers 25

可処分所得にするためのポイント

bull  AMI スナップショット戦略略(いつでもリソースを作成できるように準備)Oslash 全部入り AMIOslash BootstrappingOslash Hybrid(AMI と Bootstrapping の組み合わせ)

bull  Infrastructure as CodeOslash 個々のリソースだけでなくシステム全体をいつでも作成できるよう準備(例例)バッチシステムを CloudFormation で作成し完了了したら削除

Disposable Resources Instead of Fixed Servers 26

AMI 戦略略

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

EC2

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

アプリコード

Amazon S3

Log4JSpring

Struts

Linux

J2EE

Hibernate

Tomcat

Apache

Linux

J2EE

アプリコード

Amazon S3

Hibernate

TomcatLog4J

Spring

StrutsApache

EC2

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

EC2

Linux

JEE

Linux

JEE

Chef

Chef

スクリプト

Java AMIJavaスタック Java AMI AMI

起動時取得

起動時取得 起動時取得

[1]全部入りAMI [2]部分設定済 AMI [3]最小構成AMI

27 Disposable Resources Instead of Fixed Servers

AMI 戦略略 ProsCons

方式 利利点 欠点[1]全部入りAMI 同一性の確保

起動時間が早いデプロイ毎にAMIを作り直す必要がある(作成プロセスを自動化すれば欠点とはならない)

[2]部分設定済AMI あとはアプリコードのみ最新を取得すれば良良く扱いやすい

[3]最小構成AMI 柔軟に中身を変更更できる 起動処理理に時間がかかる場合によっては外部ライブラリが取得できないことも

28 Disposable Resources Instead of Fixed Servers

AWS CloudFormation

bull  特徴 (httpawsamazoncomjpcloudformation)Oslash テンプレートを元にEC2やELBといったAWSリソースの環境構築を自動化

Oslash  JSON YAMLフォーマットのテキストでテンプレートを自由に記述可能

Oslash  Microsoft Windows Server や SAP HANA などのリファレンス実装を用意(httpawsamazoncomquickstart)

bull  価格体系 (httpawsamazoncomjpcloudformationpricing)Oslash  追加料料金金はありません

AWS リソース(Amazon EC2 インスタンスや Elastic Load Balancing ロードバランサーなど)に対してお支払いいただきます

設定管理理 amp クラウドのオーケストレーション サービス

スタック

EC2Auto Scaling

テンプレート(設定ファイル)

テンプレートに基づき各リソースが自動起動

EC2

Cloud Formation

29 Disposable Resources Instead of Fixed Servers

自動化

Automation

自動化

bull  自動化を意識識することで得られるメリットOslash オペミス防止などの安定した運用Oslash 運用負荷の軽減Oslash 可用性の向上

bull  AWS と自動化Oslash API で動作するので自動化しやすいOslash 自動化をサポートするサービスが豊富

Automation31

自動化をサポートする代表的なサービス機能

Automation

bull  AWS Elastic Beanstalkbull  AWS OpsWorksbull  Auto Scalingbull  Amazon EC2 Auto Recoverybull  Amazon CloudWatch Alarmsbull  Amazon CloudWatch Eventsbull  AWS Lambda Scheduled events

32

AWS ElasticBeanstalk

bull  特徴 (httpawsamazoncomjpelasticbeanstalk)Oslash  速く簡単にアプリケーションをデプロイ可能Oslash  インフラストラクチャの準備運営からアプリケーションスタックの管理理まで自動化

Oslash  Auto Scaling によりコストを抑えながらスケーラビリティを確保

Oslash  Java PHP Ruby Python Nodejs NET Docker などに対応

bull  価格体系 (httpawsamazoncomjpelasticbeanstalkpricing)Oslash  追加料料金金なしOslash  アプリケーションの保存実行行に必要なAWSリソース (EC2 S3 RDS DynamoDB など) に対してのみ課金金

インフラ構成の構築アプリデプロイの自動化サービス

Automation33

AWS OpsWorks

bull  特徴 (httpawsamazoncomjpopsworks)Oslash  Chefのレシピを使ってデプロイや運用タスクを自動化可能

Oslash  ライフサイクルイベントにより動的な構成変更更への対応が可能

Oslash  継続的な構成管理理bull  価格体系 (httpawsamazoncomjpelasticloadbalancingpricing)

Oslash  AWS OpsWorks自体の利利用は無料料Oslash  (OpsWorksエージェントをオンプレミスサーバで利利用する場合はその起動時間)

アプリケーションのデプロイ管理理サービス

AWS OpsWorks13

スタック

LBレイヤー

Webレイヤー

DBレイヤー

EC2インスタンス上のOpsWorksエージェント

Automation34

Auto Scaling

bull  特徴 (httpawsamazoncomjpautoscaling)Oslash  Amazon EC2インスタンス群を自動的にスケール

Oslash  耐障害性の向上(インスタンスの異異常を検知して新しいインスタンスを起動)

Oslash  EC2インスタンスの起動料料金金の最適化bull  価格体系 (httpawsamazoncomjpautoscalingpricing)

Oslash  Auto Scaling自体の利利用は無料料Oslash  Auto Scalingによって起動されるEC2インスタンスの起動料料金金

EC2インスタンスを負荷またはスケジュールに応じて自動増減

Auto Scaling group13

Desired Capacity

必要に応じて追加されるCapacity

起動設定bull  インスタンスタイプbull  AMI など

Automation35

Amazon CloudWatch

bull  特徴 (httpawsamazoncomjpcloudwatch)Oslash  AWSリソースの死活性能ログ監視Oslash  取得メトリックスのグラフ化Oslash  各メトリックスに対してアラーム作成

bull  価格体系 (httpawsamazoncomjpcloudwatchpricing)Oslash  基本モニタリング(5分間隔)は無料料Oslash  (利利用する場合) 詳細モニタリングOslash  (利利用する場合)カスタムメトリックスAPIリクエストアラームログ等

AWSの各種リソースを監視するサービス

Automation36

AWS Lambda

bull  特徴 (httpawsamazoncomjplambda)Oslash  OSキャパシティ等インフラの管理理不不要Oslash  S3KinesisSNS等でのイベント発生を元にユーザが用意したコード(Nodejs)を実行行

Oslash  ユーザアプリからの同期非同期呼び出し

bull  価格体系 (httpawsamazoncomjplambdapricing)Oslash  コード実行行時間(100ms単位)Oslash  Lambdaファンクションへのリクエスト回数Oslash  1月あたり100万リクエスト400000GB秒が無料料で利利用可能

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

AWS Lambda Amazon S3 Bucket イベント

元画像 サムネイル画像 1

2

3

AWS Lambda Amazon DynamoDB Table and Stream

プッシュ通知

別テーブルを更更新

イメージのリサイズやサムネイルの作成

値チェックや別テーブルへのコピー

Automation37

水平スケーリングの自動化

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

bull  システムの状況を監視し自動的にスケールアウトイン

38 Automation

水平スケーリングの自動化bull  システムの状況を監視し自動的にスケールアウトインbull  スケールアウトしたインスタンスはユーザーデータのカスタムスクリプトなどで自動設定

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

39 Automation

インスタンスの復復旧も自動化

Automation

bull  Auto Scaling による自動復復旧(Auto Healing)

bull  EC2 Auto Recovery による自動復復旧

サーバークラッシュ

代替リソースが自動的に起動

Auto Scaling group min = 1

40

運用も自動化

Automation

bull  Amazon CloudWatch Events を利利用した運用自動化Oslash Amazon EBS の自動スナップショットOslash  EC2 インスタンスの停止削除

bull  AWS Lambda のスケジュール実行行Oslash プログラムを書いてカスタムな運用項目を自動化

41

疎結合

Loose Coupling

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 2: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

Who am I bull  名前江川 大地

bull  所属bull  アマゾン ウェブ サービス ジャパン株式会社bull  ソリューションアーキテクト

bull  経歴bull  データベースエンジニアbull  AWS テクニカルトレーナー

bull  好きなサービスbull  AWS サポート

bull  好きなデータベースbull  PostgreSQL

2

  本資料料では2016年年9月29日時点のサービス内容および価格についてご説明しています最新の情報はAWS公式ウェブサイト(httpawsamazoncom)にてご確認ください

  資料料作成には十分注意しておりますが資料料内の価格とAWS公式ウェブサイト記載の価格に相違があった場合AWS公式ウェブサイトの価格を優先とさせていただきます

内容についての注意点

AWS does not offer binding price quotes AWS pricing is publicly available and is subject to change in accordance with the AWS Customer Agreement available at httpawsamazoncomagreement Any pricing information included in this document is provided only as an estimate of usage charges for AWS services based on certain information that you have provided Monthly charges will be based on your actual use of AWS services and may vary from the estimates provided

  価格は税抜表記となっています日本居住者のお客様が東京リージョンを使用する場合別途消費税をご請求させていただきます

3

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

AWS 上でシステム設計にあたっての疑問

bull  例例えばhellip

スケールアウト構成を構築する場合に何を意識識すればよいの

オンプレミスと違う発想で臨臨んだほうが

いいのAWSの特性を活かせるような設計とは

EC2 上でデータベースを構築するのとRDS を使うことの違いは

6

本日お話しすること

bull  クラウドらしいアーキテクチャを構築するための原則bull  AWS でシステムを構築するためのベストプラクティス

bull  より深く確認したい方は下記のホワイトペーパーを参照Oslash Architecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

7

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

8

AWS クラウドコンピューティングとは

俊敏性アジリティの向上

伸縮自在性

セルフサービスなインフラ

ワールドワイド

低額な利利用価格

Deploy

初期投資不不要従量量課金金

豊富なサービス

9

クラウドコンピューティングならではの特性

bull  IT 資産がプログラマブルにbull  グローバル展開可用性無制限のキャパシティbull  高レベルなマネージドサービスbull  Built-‐‑‒in Security

10

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

10 の設計プリンシプルbull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティ12

スケーラビリティ

Scalability

スケーラビリティ

bull  運用中のシステムを拡張縮小させる能力力

bull  スケーラビリティを生かすことで可能になることOslash 柔軟性の向上(事業の必要性に応じたリソース確保)Oslash コスト削減(必要な時に必要な分だけのリソース確保)

bull  スケールの種類Oslash 水平スケーリング(スケールアウトスケールイン)Oslash 垂直スケーリング(スケールアップスケールダウン)

Scalability14

水平垂直のスケーリングの比較bull  垂直スケーリング

(スケールアップスケールダウン) Oslash  個々のリソースのスペックを増減Oslash  リソースの限界が存在Oslash  インスタンスの停止が伴う

bull  水平スケーリング (スケールアウトスケールイン) Oslash  リソースの台数を増減Oslash  論論理理的には限界が存在しないOslash  インスタンスの停止が伴わない

small large

Scalability

small

small small small

small small small

small small small

15

水平スケーリングを行行うために心がけることbull  ステートレスアプリケーションコンポーネント

Oslash ステートフルになる要素を水平スケールするリソースの外部に配置-  セッション情報はDynamoDBElastiCache へ-  バイナリファイル ログなどは Amazon S3 へ

bull  ステートフルになるコンポーネントをどう扱うかOslash 水平スケールするマネージドサービスの利利用Oslash 水平スケールができない場合に注意すべき制約を洗い出す

bull  分散処理理(今までのやり方を見見直す)Oslash 長時間かかっていた単一のタスクを分割できないか検討

-  1台のサーバで4時間かかるタスクを4台のサーバで1時間でこなすbull  商用ライセンスの扱い

Oslash ライセンスの提供元に確認 Scalability16

ステートレスにするためのセッション情報の扱い

Oslash  スケールアウト時-  スケールアウトしたリソースが使われにくい

Oslash  スケールイン時-  セッションも一緒に落落とすことになるので困難

WebApp

Auto Scaling

ELBClient13

WebApp

Scalability

bull  セッション情報を水平スケールさせたいコンポーネントで持つと

WebApp

セッション 既存ユーザのセッションは既存のコンポーネントにあるためリクエストは同じリソースへ

Sticky Session

スケールアウトしたリソースを活かしにくい

WebApp

Auto Scaling

ELBClient13

WebApp

セッション インスタンスを削除すると既存ユーザのセッション情報も失われてしまう(ログアウトされた挙動となる)

Sticky Session

17

ステートレスにするためのセッション情報の扱いbull  スケールさせやすくするためにセッション情報は外だし

WebApp

Auto Scaling

ELBClient13 WebApp

DynamoDBセッション情報

ElastiCache

or

書き換えられても問題ない情報肥大化の恐れがない情報はClient-‐‑‒Side で保持することも可能

Client-‐‑‒Side で書き換えられると困る情報はServer-‐‑‒Side で保持

Scalability

各リソースに固有の情報がないのでいつでも増減しやすい

18

固定資産から可処分資産へ

Disposable Resources Instead of Fixed Servers

今まで(オンプレミス)bull  固定のリソースで運用

Oslash  リソース購入は前払いOslash  リソース追加には長いリードタイムrarr 事前のサイジングが必須

リソースに対する考え方

AWSbull  固定資産ではない

Oslash  使い捨て可能なソフトウェア (いつでも増減変更更可能)rarr 事前のサイジングは不不要

Disposable Resources Instead of Fixed Servers

タスクが増えたらインスタンスを増やして対応

タスクが完了了したらシャットダウン

サイジングにより決まった台数スペック

追加には長時間かかる

20

マインドセットを変える

AWSbull  リソースが常に存在する変更更しない前提の設計運用を止めるOslash  自動化Oslash  DNS によるアクセスOslash  バッチスケジュールの見見直しOslash  利利用時間帯の確認

Disposable Resources Instead of Fixed Servers

今まで(オンプレミス)bull  固定リソース運用により助長されがちなプラクティスOslash  手作業による設定変更更Oslash  IP アドレスのハードコードOslash  シーケンシャルな処理理Oslash  常に電源 ON

21

自動化

bull  水平スケールも自動的にbull  水平スケールしたインスタンスに対する設定も自動的に

Oslash  EC2 ユーザーデータメタデータ-  httpdocsawsamazoncomja_jpAWSEC2latestUserGuideec2-‐‑‒instance-‐‑‒metadatahtml

Oslash 構成管理理ツール(Chef Puppet などの3rd party ツール)

bull  次のプリンシプルも参照

Disposable Resources Instead of Fixed Servers 22

DNS によるアクセス

bull  固定 IP アドレスアクセスによる弊害の例例

Disposable Resources Instead of Fixed Servers 23

スケールイン時

100051 100052 100051 100052

100052直打ちでのアクセス

使用率率率が低くなったのでスケールイン

バッチスケジュールの見見直し

bull  並列列化で早く終わらせるOslash  1台で n 時間もn台で 1時間も料料金金は同じ

Disposable Resources Instead of Fixed Servers 24

時間1h 2h 3h

タスク1

タスク2

タスク3

タスク1

タスク2

タスク3

時間1h 2h 3h

利利用時間帯の確認

bull  固定資産ではないので常に稼働させる必要はないbull  実際のワークロード利利用時間帯に合わせて稼働させる必要がない時間は落落としてコスト節約につなげる

Disposable Resources Instead of Fixed Servers 25

可処分所得にするためのポイント

bull  AMI スナップショット戦略略(いつでもリソースを作成できるように準備)Oslash 全部入り AMIOslash BootstrappingOslash Hybrid(AMI と Bootstrapping の組み合わせ)

bull  Infrastructure as CodeOslash 個々のリソースだけでなくシステム全体をいつでも作成できるよう準備(例例)バッチシステムを CloudFormation で作成し完了了したら削除

Disposable Resources Instead of Fixed Servers 26

AMI 戦略略

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

EC2

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

アプリコード

Amazon S3

Log4JSpring

Struts

Linux

J2EE

Hibernate

Tomcat

Apache

Linux

J2EE

アプリコード

Amazon S3

Hibernate

TomcatLog4J

Spring

StrutsApache

EC2

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

EC2

Linux

JEE

Linux

JEE

Chef

Chef

スクリプト

Java AMIJavaスタック Java AMI AMI

起動時取得

起動時取得 起動時取得

[1]全部入りAMI [2]部分設定済 AMI [3]最小構成AMI

27 Disposable Resources Instead of Fixed Servers

AMI 戦略略 ProsCons

方式 利利点 欠点[1]全部入りAMI 同一性の確保

起動時間が早いデプロイ毎にAMIを作り直す必要がある(作成プロセスを自動化すれば欠点とはならない)

[2]部分設定済AMI あとはアプリコードのみ最新を取得すれば良良く扱いやすい

[3]最小構成AMI 柔軟に中身を変更更できる 起動処理理に時間がかかる場合によっては外部ライブラリが取得できないことも

28 Disposable Resources Instead of Fixed Servers

AWS CloudFormation

bull  特徴 (httpawsamazoncomjpcloudformation)Oslash テンプレートを元にEC2やELBといったAWSリソースの環境構築を自動化

Oslash  JSON YAMLフォーマットのテキストでテンプレートを自由に記述可能

Oslash  Microsoft Windows Server や SAP HANA などのリファレンス実装を用意(httpawsamazoncomquickstart)

bull  価格体系 (httpawsamazoncomjpcloudformationpricing)Oslash  追加料料金金はありません

AWS リソース(Amazon EC2 インスタンスや Elastic Load Balancing ロードバランサーなど)に対してお支払いいただきます

設定管理理 amp クラウドのオーケストレーション サービス

スタック

EC2Auto Scaling

テンプレート(設定ファイル)

テンプレートに基づき各リソースが自動起動

EC2

Cloud Formation

29 Disposable Resources Instead of Fixed Servers

自動化

Automation

自動化

bull  自動化を意識識することで得られるメリットOslash オペミス防止などの安定した運用Oslash 運用負荷の軽減Oslash 可用性の向上

bull  AWS と自動化Oslash API で動作するので自動化しやすいOslash 自動化をサポートするサービスが豊富

Automation31

自動化をサポートする代表的なサービス機能

Automation

bull  AWS Elastic Beanstalkbull  AWS OpsWorksbull  Auto Scalingbull  Amazon EC2 Auto Recoverybull  Amazon CloudWatch Alarmsbull  Amazon CloudWatch Eventsbull  AWS Lambda Scheduled events

32

AWS ElasticBeanstalk

bull  特徴 (httpawsamazoncomjpelasticbeanstalk)Oslash  速く簡単にアプリケーションをデプロイ可能Oslash  インフラストラクチャの準備運営からアプリケーションスタックの管理理まで自動化

Oslash  Auto Scaling によりコストを抑えながらスケーラビリティを確保

Oslash  Java PHP Ruby Python Nodejs NET Docker などに対応

bull  価格体系 (httpawsamazoncomjpelasticbeanstalkpricing)Oslash  追加料料金金なしOslash  アプリケーションの保存実行行に必要なAWSリソース (EC2 S3 RDS DynamoDB など) に対してのみ課金金

インフラ構成の構築アプリデプロイの自動化サービス

Automation33

AWS OpsWorks

bull  特徴 (httpawsamazoncomjpopsworks)Oslash  Chefのレシピを使ってデプロイや運用タスクを自動化可能

Oslash  ライフサイクルイベントにより動的な構成変更更への対応が可能

Oslash  継続的な構成管理理bull  価格体系 (httpawsamazoncomjpelasticloadbalancingpricing)

Oslash  AWS OpsWorks自体の利利用は無料料Oslash  (OpsWorksエージェントをオンプレミスサーバで利利用する場合はその起動時間)

アプリケーションのデプロイ管理理サービス

AWS OpsWorks13

スタック

LBレイヤー

Webレイヤー

DBレイヤー

EC2インスタンス上のOpsWorksエージェント

Automation34

Auto Scaling

bull  特徴 (httpawsamazoncomjpautoscaling)Oslash  Amazon EC2インスタンス群を自動的にスケール

Oslash  耐障害性の向上(インスタンスの異異常を検知して新しいインスタンスを起動)

Oslash  EC2インスタンスの起動料料金金の最適化bull  価格体系 (httpawsamazoncomjpautoscalingpricing)

Oslash  Auto Scaling自体の利利用は無料料Oslash  Auto Scalingによって起動されるEC2インスタンスの起動料料金金

EC2インスタンスを負荷またはスケジュールに応じて自動増減

Auto Scaling group13

Desired Capacity

必要に応じて追加されるCapacity

起動設定bull  インスタンスタイプbull  AMI など

Automation35

Amazon CloudWatch

bull  特徴 (httpawsamazoncomjpcloudwatch)Oslash  AWSリソースの死活性能ログ監視Oslash  取得メトリックスのグラフ化Oslash  各メトリックスに対してアラーム作成

bull  価格体系 (httpawsamazoncomjpcloudwatchpricing)Oslash  基本モニタリング(5分間隔)は無料料Oslash  (利利用する場合) 詳細モニタリングOslash  (利利用する場合)カスタムメトリックスAPIリクエストアラームログ等

AWSの各種リソースを監視するサービス

Automation36

AWS Lambda

bull  特徴 (httpawsamazoncomjplambda)Oslash  OSキャパシティ等インフラの管理理不不要Oslash  S3KinesisSNS等でのイベント発生を元にユーザが用意したコード(Nodejs)を実行行

Oslash  ユーザアプリからの同期非同期呼び出し

bull  価格体系 (httpawsamazoncomjplambdapricing)Oslash  コード実行行時間(100ms単位)Oslash  Lambdaファンクションへのリクエスト回数Oslash  1月あたり100万リクエスト400000GB秒が無料料で利利用可能

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

AWS Lambda Amazon S3 Bucket イベント

元画像 サムネイル画像 1

2

3

AWS Lambda Amazon DynamoDB Table and Stream

プッシュ通知

別テーブルを更更新

イメージのリサイズやサムネイルの作成

値チェックや別テーブルへのコピー

Automation37

水平スケーリングの自動化

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

bull  システムの状況を監視し自動的にスケールアウトイン

38 Automation

水平スケーリングの自動化bull  システムの状況を監視し自動的にスケールアウトインbull  スケールアウトしたインスタンスはユーザーデータのカスタムスクリプトなどで自動設定

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

39 Automation

インスタンスの復復旧も自動化

Automation

bull  Auto Scaling による自動復復旧(Auto Healing)

bull  EC2 Auto Recovery による自動復復旧

サーバークラッシュ

代替リソースが自動的に起動

Auto Scaling group min = 1

40

運用も自動化

Automation

bull  Amazon CloudWatch Events を利利用した運用自動化Oslash Amazon EBS の自動スナップショットOslash  EC2 インスタンスの停止削除

bull  AWS Lambda のスケジュール実行行Oslash プログラムを書いてカスタムな運用項目を自動化

41

疎結合

Loose Coupling

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 3: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

  本資料料では2016年年9月29日時点のサービス内容および価格についてご説明しています最新の情報はAWS公式ウェブサイト(httpawsamazoncom)にてご確認ください

  資料料作成には十分注意しておりますが資料料内の価格とAWS公式ウェブサイト記載の価格に相違があった場合AWS公式ウェブサイトの価格を優先とさせていただきます

内容についての注意点

AWS does not offer binding price quotes AWS pricing is publicly available and is subject to change in accordance with the AWS Customer Agreement available at httpawsamazoncomagreement Any pricing information included in this document is provided only as an estimate of usage charges for AWS services based on certain information that you have provided Monthly charges will be based on your actual use of AWS services and may vary from the estimates provided

  価格は税抜表記となっています日本居住者のお客様が東京リージョンを使用する場合別途消費税をご請求させていただきます

3

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

AWS 上でシステム設計にあたっての疑問

bull  例例えばhellip

スケールアウト構成を構築する場合に何を意識識すればよいの

オンプレミスと違う発想で臨臨んだほうが

いいのAWSの特性を活かせるような設計とは

EC2 上でデータベースを構築するのとRDS を使うことの違いは

6

本日お話しすること

bull  クラウドらしいアーキテクチャを構築するための原則bull  AWS でシステムを構築するためのベストプラクティス

bull  より深く確認したい方は下記のホワイトペーパーを参照Oslash Architecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

7

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

8

AWS クラウドコンピューティングとは

俊敏性アジリティの向上

伸縮自在性

セルフサービスなインフラ

ワールドワイド

低額な利利用価格

Deploy

初期投資不不要従量量課金金

豊富なサービス

9

クラウドコンピューティングならではの特性

bull  IT 資産がプログラマブルにbull  グローバル展開可用性無制限のキャパシティbull  高レベルなマネージドサービスbull  Built-‐‑‒in Security

10

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

10 の設計プリンシプルbull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティ12

スケーラビリティ

Scalability

スケーラビリティ

bull  運用中のシステムを拡張縮小させる能力力

bull  スケーラビリティを生かすことで可能になることOslash 柔軟性の向上(事業の必要性に応じたリソース確保)Oslash コスト削減(必要な時に必要な分だけのリソース確保)

bull  スケールの種類Oslash 水平スケーリング(スケールアウトスケールイン)Oslash 垂直スケーリング(スケールアップスケールダウン)

Scalability14

水平垂直のスケーリングの比較bull  垂直スケーリング

(スケールアップスケールダウン) Oslash  個々のリソースのスペックを増減Oslash  リソースの限界が存在Oslash  インスタンスの停止が伴う

bull  水平スケーリング (スケールアウトスケールイン) Oslash  リソースの台数を増減Oslash  論論理理的には限界が存在しないOslash  インスタンスの停止が伴わない

small large

Scalability

small

small small small

small small small

small small small

15

水平スケーリングを行行うために心がけることbull  ステートレスアプリケーションコンポーネント

Oslash ステートフルになる要素を水平スケールするリソースの外部に配置-  セッション情報はDynamoDBElastiCache へ-  バイナリファイル ログなどは Amazon S3 へ

bull  ステートフルになるコンポーネントをどう扱うかOslash 水平スケールするマネージドサービスの利利用Oslash 水平スケールができない場合に注意すべき制約を洗い出す

bull  分散処理理(今までのやり方を見見直す)Oslash 長時間かかっていた単一のタスクを分割できないか検討

-  1台のサーバで4時間かかるタスクを4台のサーバで1時間でこなすbull  商用ライセンスの扱い

Oslash ライセンスの提供元に確認 Scalability16

ステートレスにするためのセッション情報の扱い

Oslash  スケールアウト時-  スケールアウトしたリソースが使われにくい

Oslash  スケールイン時-  セッションも一緒に落落とすことになるので困難

WebApp

Auto Scaling

ELBClient13

WebApp

Scalability

bull  セッション情報を水平スケールさせたいコンポーネントで持つと

WebApp

セッション 既存ユーザのセッションは既存のコンポーネントにあるためリクエストは同じリソースへ

Sticky Session

スケールアウトしたリソースを活かしにくい

WebApp

Auto Scaling

ELBClient13

WebApp

セッション インスタンスを削除すると既存ユーザのセッション情報も失われてしまう(ログアウトされた挙動となる)

Sticky Session

17

ステートレスにするためのセッション情報の扱いbull  スケールさせやすくするためにセッション情報は外だし

WebApp

Auto Scaling

ELBClient13 WebApp

DynamoDBセッション情報

ElastiCache

or

書き換えられても問題ない情報肥大化の恐れがない情報はClient-‐‑‒Side で保持することも可能

Client-‐‑‒Side で書き換えられると困る情報はServer-‐‑‒Side で保持

Scalability

各リソースに固有の情報がないのでいつでも増減しやすい

18

固定資産から可処分資産へ

Disposable Resources Instead of Fixed Servers

今まで(オンプレミス)bull  固定のリソースで運用

Oslash  リソース購入は前払いOslash  リソース追加には長いリードタイムrarr 事前のサイジングが必須

リソースに対する考え方

AWSbull  固定資産ではない

Oslash  使い捨て可能なソフトウェア (いつでも増減変更更可能)rarr 事前のサイジングは不不要

Disposable Resources Instead of Fixed Servers

タスクが増えたらインスタンスを増やして対応

タスクが完了了したらシャットダウン

サイジングにより決まった台数スペック

追加には長時間かかる

20

マインドセットを変える

AWSbull  リソースが常に存在する変更更しない前提の設計運用を止めるOslash  自動化Oslash  DNS によるアクセスOslash  バッチスケジュールの見見直しOslash  利利用時間帯の確認

Disposable Resources Instead of Fixed Servers

今まで(オンプレミス)bull  固定リソース運用により助長されがちなプラクティスOslash  手作業による設定変更更Oslash  IP アドレスのハードコードOslash  シーケンシャルな処理理Oslash  常に電源 ON

21

自動化

bull  水平スケールも自動的にbull  水平スケールしたインスタンスに対する設定も自動的に

Oslash  EC2 ユーザーデータメタデータ-  httpdocsawsamazoncomja_jpAWSEC2latestUserGuideec2-‐‑‒instance-‐‑‒metadatahtml

Oslash 構成管理理ツール(Chef Puppet などの3rd party ツール)

bull  次のプリンシプルも参照

Disposable Resources Instead of Fixed Servers 22

DNS によるアクセス

bull  固定 IP アドレスアクセスによる弊害の例例

Disposable Resources Instead of Fixed Servers 23

スケールイン時

100051 100052 100051 100052

100052直打ちでのアクセス

使用率率率が低くなったのでスケールイン

バッチスケジュールの見見直し

bull  並列列化で早く終わらせるOslash  1台で n 時間もn台で 1時間も料料金金は同じ

Disposable Resources Instead of Fixed Servers 24

時間1h 2h 3h

タスク1

タスク2

タスク3

タスク1

タスク2

タスク3

時間1h 2h 3h

利利用時間帯の確認

bull  固定資産ではないので常に稼働させる必要はないbull  実際のワークロード利利用時間帯に合わせて稼働させる必要がない時間は落落としてコスト節約につなげる

Disposable Resources Instead of Fixed Servers 25

可処分所得にするためのポイント

bull  AMI スナップショット戦略略(いつでもリソースを作成できるように準備)Oslash 全部入り AMIOslash BootstrappingOslash Hybrid(AMI と Bootstrapping の組み合わせ)

bull  Infrastructure as CodeOslash 個々のリソースだけでなくシステム全体をいつでも作成できるよう準備(例例)バッチシステムを CloudFormation で作成し完了了したら削除

Disposable Resources Instead of Fixed Servers 26

AMI 戦略略

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

EC2

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

アプリコード

Amazon S3

Log4JSpring

Struts

Linux

J2EE

Hibernate

Tomcat

Apache

Linux

J2EE

アプリコード

Amazon S3

Hibernate

TomcatLog4J

Spring

StrutsApache

EC2

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

EC2

Linux

JEE

Linux

JEE

Chef

Chef

スクリプト

Java AMIJavaスタック Java AMI AMI

起動時取得

起動時取得 起動時取得

[1]全部入りAMI [2]部分設定済 AMI [3]最小構成AMI

27 Disposable Resources Instead of Fixed Servers

AMI 戦略略 ProsCons

方式 利利点 欠点[1]全部入りAMI 同一性の確保

起動時間が早いデプロイ毎にAMIを作り直す必要がある(作成プロセスを自動化すれば欠点とはならない)

[2]部分設定済AMI あとはアプリコードのみ最新を取得すれば良良く扱いやすい

[3]最小構成AMI 柔軟に中身を変更更できる 起動処理理に時間がかかる場合によっては外部ライブラリが取得できないことも

28 Disposable Resources Instead of Fixed Servers

AWS CloudFormation

bull  特徴 (httpawsamazoncomjpcloudformation)Oslash テンプレートを元にEC2やELBといったAWSリソースの環境構築を自動化

Oslash  JSON YAMLフォーマットのテキストでテンプレートを自由に記述可能

Oslash  Microsoft Windows Server や SAP HANA などのリファレンス実装を用意(httpawsamazoncomquickstart)

bull  価格体系 (httpawsamazoncomjpcloudformationpricing)Oslash  追加料料金金はありません

AWS リソース(Amazon EC2 インスタンスや Elastic Load Balancing ロードバランサーなど)に対してお支払いいただきます

設定管理理 amp クラウドのオーケストレーション サービス

スタック

EC2Auto Scaling

テンプレート(設定ファイル)

テンプレートに基づき各リソースが自動起動

EC2

Cloud Formation

29 Disposable Resources Instead of Fixed Servers

自動化

Automation

自動化

bull  自動化を意識識することで得られるメリットOslash オペミス防止などの安定した運用Oslash 運用負荷の軽減Oslash 可用性の向上

bull  AWS と自動化Oslash API で動作するので自動化しやすいOslash 自動化をサポートするサービスが豊富

Automation31

自動化をサポートする代表的なサービス機能

Automation

bull  AWS Elastic Beanstalkbull  AWS OpsWorksbull  Auto Scalingbull  Amazon EC2 Auto Recoverybull  Amazon CloudWatch Alarmsbull  Amazon CloudWatch Eventsbull  AWS Lambda Scheduled events

32

AWS ElasticBeanstalk

bull  特徴 (httpawsamazoncomjpelasticbeanstalk)Oslash  速く簡単にアプリケーションをデプロイ可能Oslash  インフラストラクチャの準備運営からアプリケーションスタックの管理理まで自動化

Oslash  Auto Scaling によりコストを抑えながらスケーラビリティを確保

Oslash  Java PHP Ruby Python Nodejs NET Docker などに対応

bull  価格体系 (httpawsamazoncomjpelasticbeanstalkpricing)Oslash  追加料料金金なしOslash  アプリケーションの保存実行行に必要なAWSリソース (EC2 S3 RDS DynamoDB など) に対してのみ課金金

インフラ構成の構築アプリデプロイの自動化サービス

Automation33

AWS OpsWorks

bull  特徴 (httpawsamazoncomjpopsworks)Oslash  Chefのレシピを使ってデプロイや運用タスクを自動化可能

Oslash  ライフサイクルイベントにより動的な構成変更更への対応が可能

Oslash  継続的な構成管理理bull  価格体系 (httpawsamazoncomjpelasticloadbalancingpricing)

Oslash  AWS OpsWorks自体の利利用は無料料Oslash  (OpsWorksエージェントをオンプレミスサーバで利利用する場合はその起動時間)

アプリケーションのデプロイ管理理サービス

AWS OpsWorks13

スタック

LBレイヤー

Webレイヤー

DBレイヤー

EC2インスタンス上のOpsWorksエージェント

Automation34

Auto Scaling

bull  特徴 (httpawsamazoncomjpautoscaling)Oslash  Amazon EC2インスタンス群を自動的にスケール

Oslash  耐障害性の向上(インスタンスの異異常を検知して新しいインスタンスを起動)

Oslash  EC2インスタンスの起動料料金金の最適化bull  価格体系 (httpawsamazoncomjpautoscalingpricing)

Oslash  Auto Scaling自体の利利用は無料料Oslash  Auto Scalingによって起動されるEC2インスタンスの起動料料金金

EC2インスタンスを負荷またはスケジュールに応じて自動増減

Auto Scaling group13

Desired Capacity

必要に応じて追加されるCapacity

起動設定bull  インスタンスタイプbull  AMI など

Automation35

Amazon CloudWatch

bull  特徴 (httpawsamazoncomjpcloudwatch)Oslash  AWSリソースの死活性能ログ監視Oslash  取得メトリックスのグラフ化Oslash  各メトリックスに対してアラーム作成

bull  価格体系 (httpawsamazoncomjpcloudwatchpricing)Oslash  基本モニタリング(5分間隔)は無料料Oslash  (利利用する場合) 詳細モニタリングOslash  (利利用する場合)カスタムメトリックスAPIリクエストアラームログ等

AWSの各種リソースを監視するサービス

Automation36

AWS Lambda

bull  特徴 (httpawsamazoncomjplambda)Oslash  OSキャパシティ等インフラの管理理不不要Oslash  S3KinesisSNS等でのイベント発生を元にユーザが用意したコード(Nodejs)を実行行

Oslash  ユーザアプリからの同期非同期呼び出し

bull  価格体系 (httpawsamazoncomjplambdapricing)Oslash  コード実行行時間(100ms単位)Oslash  Lambdaファンクションへのリクエスト回数Oslash  1月あたり100万リクエスト400000GB秒が無料料で利利用可能

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

AWS Lambda Amazon S3 Bucket イベント

元画像 サムネイル画像 1

2

3

AWS Lambda Amazon DynamoDB Table and Stream

プッシュ通知

別テーブルを更更新

イメージのリサイズやサムネイルの作成

値チェックや別テーブルへのコピー

Automation37

水平スケーリングの自動化

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

bull  システムの状況を監視し自動的にスケールアウトイン

38 Automation

水平スケーリングの自動化bull  システムの状況を監視し自動的にスケールアウトインbull  スケールアウトしたインスタンスはユーザーデータのカスタムスクリプトなどで自動設定

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

39 Automation

インスタンスの復復旧も自動化

Automation

bull  Auto Scaling による自動復復旧(Auto Healing)

bull  EC2 Auto Recovery による自動復復旧

サーバークラッシュ

代替リソースが自動的に起動

Auto Scaling group min = 1

40

運用も自動化

Automation

bull  Amazon CloudWatch Events を利利用した運用自動化Oslash Amazon EBS の自動スナップショットOslash  EC2 インスタンスの停止削除

bull  AWS Lambda のスケジュール実行行Oslash プログラムを書いてカスタムな運用項目を自動化

41

疎結合

Loose Coupling

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 4: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

AWS 上でシステム設計にあたっての疑問

bull  例例えばhellip

スケールアウト構成を構築する場合に何を意識識すればよいの

オンプレミスと違う発想で臨臨んだほうが

いいのAWSの特性を活かせるような設計とは

EC2 上でデータベースを構築するのとRDS を使うことの違いは

6

本日お話しすること

bull  クラウドらしいアーキテクチャを構築するための原則bull  AWS でシステムを構築するためのベストプラクティス

bull  より深く確認したい方は下記のホワイトペーパーを参照Oslash Architecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

7

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

8

AWS クラウドコンピューティングとは

俊敏性アジリティの向上

伸縮自在性

セルフサービスなインフラ

ワールドワイド

低額な利利用価格

Deploy

初期投資不不要従量量課金金

豊富なサービス

9

クラウドコンピューティングならではの特性

bull  IT 資産がプログラマブルにbull  グローバル展開可用性無制限のキャパシティbull  高レベルなマネージドサービスbull  Built-‐‑‒in Security

10

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

10 の設計プリンシプルbull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティ12

スケーラビリティ

Scalability

スケーラビリティ

bull  運用中のシステムを拡張縮小させる能力力

bull  スケーラビリティを生かすことで可能になることOslash 柔軟性の向上(事業の必要性に応じたリソース確保)Oslash コスト削減(必要な時に必要な分だけのリソース確保)

bull  スケールの種類Oslash 水平スケーリング(スケールアウトスケールイン)Oslash 垂直スケーリング(スケールアップスケールダウン)

Scalability14

水平垂直のスケーリングの比較bull  垂直スケーリング

(スケールアップスケールダウン) Oslash  個々のリソースのスペックを増減Oslash  リソースの限界が存在Oslash  インスタンスの停止が伴う

bull  水平スケーリング (スケールアウトスケールイン) Oslash  リソースの台数を増減Oslash  論論理理的には限界が存在しないOslash  インスタンスの停止が伴わない

small large

Scalability

small

small small small

small small small

small small small

15

水平スケーリングを行行うために心がけることbull  ステートレスアプリケーションコンポーネント

Oslash ステートフルになる要素を水平スケールするリソースの外部に配置-  セッション情報はDynamoDBElastiCache へ-  バイナリファイル ログなどは Amazon S3 へ

bull  ステートフルになるコンポーネントをどう扱うかOslash 水平スケールするマネージドサービスの利利用Oslash 水平スケールができない場合に注意すべき制約を洗い出す

bull  分散処理理(今までのやり方を見見直す)Oslash 長時間かかっていた単一のタスクを分割できないか検討

-  1台のサーバで4時間かかるタスクを4台のサーバで1時間でこなすbull  商用ライセンスの扱い

Oslash ライセンスの提供元に確認 Scalability16

ステートレスにするためのセッション情報の扱い

Oslash  スケールアウト時-  スケールアウトしたリソースが使われにくい

Oslash  スケールイン時-  セッションも一緒に落落とすことになるので困難

WebApp

Auto Scaling

ELBClient13

WebApp

Scalability

bull  セッション情報を水平スケールさせたいコンポーネントで持つと

WebApp

セッション 既存ユーザのセッションは既存のコンポーネントにあるためリクエストは同じリソースへ

Sticky Session

スケールアウトしたリソースを活かしにくい

WebApp

Auto Scaling

ELBClient13

WebApp

セッション インスタンスを削除すると既存ユーザのセッション情報も失われてしまう(ログアウトされた挙動となる)

Sticky Session

17

ステートレスにするためのセッション情報の扱いbull  スケールさせやすくするためにセッション情報は外だし

WebApp

Auto Scaling

ELBClient13 WebApp

DynamoDBセッション情報

ElastiCache

or

書き換えられても問題ない情報肥大化の恐れがない情報はClient-‐‑‒Side で保持することも可能

Client-‐‑‒Side で書き換えられると困る情報はServer-‐‑‒Side で保持

Scalability

各リソースに固有の情報がないのでいつでも増減しやすい

18

固定資産から可処分資産へ

Disposable Resources Instead of Fixed Servers

今まで(オンプレミス)bull  固定のリソースで運用

Oslash  リソース購入は前払いOslash  リソース追加には長いリードタイムrarr 事前のサイジングが必須

リソースに対する考え方

AWSbull  固定資産ではない

Oslash  使い捨て可能なソフトウェア (いつでも増減変更更可能)rarr 事前のサイジングは不不要

Disposable Resources Instead of Fixed Servers

タスクが増えたらインスタンスを増やして対応

タスクが完了了したらシャットダウン

サイジングにより決まった台数スペック

追加には長時間かかる

20

マインドセットを変える

AWSbull  リソースが常に存在する変更更しない前提の設計運用を止めるOslash  自動化Oslash  DNS によるアクセスOslash  バッチスケジュールの見見直しOslash  利利用時間帯の確認

Disposable Resources Instead of Fixed Servers

今まで(オンプレミス)bull  固定リソース運用により助長されがちなプラクティスOslash  手作業による設定変更更Oslash  IP アドレスのハードコードOslash  シーケンシャルな処理理Oslash  常に電源 ON

21

自動化

bull  水平スケールも自動的にbull  水平スケールしたインスタンスに対する設定も自動的に

Oslash  EC2 ユーザーデータメタデータ-  httpdocsawsamazoncomja_jpAWSEC2latestUserGuideec2-‐‑‒instance-‐‑‒metadatahtml

Oslash 構成管理理ツール(Chef Puppet などの3rd party ツール)

bull  次のプリンシプルも参照

Disposable Resources Instead of Fixed Servers 22

DNS によるアクセス

bull  固定 IP アドレスアクセスによる弊害の例例

Disposable Resources Instead of Fixed Servers 23

スケールイン時

100051 100052 100051 100052

100052直打ちでのアクセス

使用率率率が低くなったのでスケールイン

バッチスケジュールの見見直し

bull  並列列化で早く終わらせるOslash  1台で n 時間もn台で 1時間も料料金金は同じ

Disposable Resources Instead of Fixed Servers 24

時間1h 2h 3h

タスク1

タスク2

タスク3

タスク1

タスク2

タスク3

時間1h 2h 3h

利利用時間帯の確認

bull  固定資産ではないので常に稼働させる必要はないbull  実際のワークロード利利用時間帯に合わせて稼働させる必要がない時間は落落としてコスト節約につなげる

Disposable Resources Instead of Fixed Servers 25

可処分所得にするためのポイント

bull  AMI スナップショット戦略略(いつでもリソースを作成できるように準備)Oslash 全部入り AMIOslash BootstrappingOslash Hybrid(AMI と Bootstrapping の組み合わせ)

bull  Infrastructure as CodeOslash 個々のリソースだけでなくシステム全体をいつでも作成できるよう準備(例例)バッチシステムを CloudFormation で作成し完了了したら削除

Disposable Resources Instead of Fixed Servers 26

AMI 戦略略

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

EC2

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

アプリコード

Amazon S3

Log4JSpring

Struts

Linux

J2EE

Hibernate

Tomcat

Apache

Linux

J2EE

アプリコード

Amazon S3

Hibernate

TomcatLog4J

Spring

StrutsApache

EC2

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

EC2

Linux

JEE

Linux

JEE

Chef

Chef

スクリプト

Java AMIJavaスタック Java AMI AMI

起動時取得

起動時取得 起動時取得

[1]全部入りAMI [2]部分設定済 AMI [3]最小構成AMI

27 Disposable Resources Instead of Fixed Servers

AMI 戦略略 ProsCons

方式 利利点 欠点[1]全部入りAMI 同一性の確保

起動時間が早いデプロイ毎にAMIを作り直す必要がある(作成プロセスを自動化すれば欠点とはならない)

[2]部分設定済AMI あとはアプリコードのみ最新を取得すれば良良く扱いやすい

[3]最小構成AMI 柔軟に中身を変更更できる 起動処理理に時間がかかる場合によっては外部ライブラリが取得できないことも

28 Disposable Resources Instead of Fixed Servers

AWS CloudFormation

bull  特徴 (httpawsamazoncomjpcloudformation)Oslash テンプレートを元にEC2やELBといったAWSリソースの環境構築を自動化

Oslash  JSON YAMLフォーマットのテキストでテンプレートを自由に記述可能

Oslash  Microsoft Windows Server や SAP HANA などのリファレンス実装を用意(httpawsamazoncomquickstart)

bull  価格体系 (httpawsamazoncomjpcloudformationpricing)Oslash  追加料料金金はありません

AWS リソース(Amazon EC2 インスタンスや Elastic Load Balancing ロードバランサーなど)に対してお支払いいただきます

設定管理理 amp クラウドのオーケストレーション サービス

スタック

EC2Auto Scaling

テンプレート(設定ファイル)

テンプレートに基づき各リソースが自動起動

EC2

Cloud Formation

29 Disposable Resources Instead of Fixed Servers

自動化

Automation

自動化

bull  自動化を意識識することで得られるメリットOslash オペミス防止などの安定した運用Oslash 運用負荷の軽減Oslash 可用性の向上

bull  AWS と自動化Oslash API で動作するので自動化しやすいOslash 自動化をサポートするサービスが豊富

Automation31

自動化をサポートする代表的なサービス機能

Automation

bull  AWS Elastic Beanstalkbull  AWS OpsWorksbull  Auto Scalingbull  Amazon EC2 Auto Recoverybull  Amazon CloudWatch Alarmsbull  Amazon CloudWatch Eventsbull  AWS Lambda Scheduled events

32

AWS ElasticBeanstalk

bull  特徴 (httpawsamazoncomjpelasticbeanstalk)Oslash  速く簡単にアプリケーションをデプロイ可能Oslash  インフラストラクチャの準備運営からアプリケーションスタックの管理理まで自動化

Oslash  Auto Scaling によりコストを抑えながらスケーラビリティを確保

Oslash  Java PHP Ruby Python Nodejs NET Docker などに対応

bull  価格体系 (httpawsamazoncomjpelasticbeanstalkpricing)Oslash  追加料料金金なしOslash  アプリケーションの保存実行行に必要なAWSリソース (EC2 S3 RDS DynamoDB など) に対してのみ課金金

インフラ構成の構築アプリデプロイの自動化サービス

Automation33

AWS OpsWorks

bull  特徴 (httpawsamazoncomjpopsworks)Oslash  Chefのレシピを使ってデプロイや運用タスクを自動化可能

Oslash  ライフサイクルイベントにより動的な構成変更更への対応が可能

Oslash  継続的な構成管理理bull  価格体系 (httpawsamazoncomjpelasticloadbalancingpricing)

Oslash  AWS OpsWorks自体の利利用は無料料Oslash  (OpsWorksエージェントをオンプレミスサーバで利利用する場合はその起動時間)

アプリケーションのデプロイ管理理サービス

AWS OpsWorks13

スタック

LBレイヤー

Webレイヤー

DBレイヤー

EC2インスタンス上のOpsWorksエージェント

Automation34

Auto Scaling

bull  特徴 (httpawsamazoncomjpautoscaling)Oslash  Amazon EC2インスタンス群を自動的にスケール

Oslash  耐障害性の向上(インスタンスの異異常を検知して新しいインスタンスを起動)

Oslash  EC2インスタンスの起動料料金金の最適化bull  価格体系 (httpawsamazoncomjpautoscalingpricing)

Oslash  Auto Scaling自体の利利用は無料料Oslash  Auto Scalingによって起動されるEC2インスタンスの起動料料金金

EC2インスタンスを負荷またはスケジュールに応じて自動増減

Auto Scaling group13

Desired Capacity

必要に応じて追加されるCapacity

起動設定bull  インスタンスタイプbull  AMI など

Automation35

Amazon CloudWatch

bull  特徴 (httpawsamazoncomjpcloudwatch)Oslash  AWSリソースの死活性能ログ監視Oslash  取得メトリックスのグラフ化Oslash  各メトリックスに対してアラーム作成

bull  価格体系 (httpawsamazoncomjpcloudwatchpricing)Oslash  基本モニタリング(5分間隔)は無料料Oslash  (利利用する場合) 詳細モニタリングOslash  (利利用する場合)カスタムメトリックスAPIリクエストアラームログ等

AWSの各種リソースを監視するサービス

Automation36

AWS Lambda

bull  特徴 (httpawsamazoncomjplambda)Oslash  OSキャパシティ等インフラの管理理不不要Oslash  S3KinesisSNS等でのイベント発生を元にユーザが用意したコード(Nodejs)を実行行

Oslash  ユーザアプリからの同期非同期呼び出し

bull  価格体系 (httpawsamazoncomjplambdapricing)Oslash  コード実行行時間(100ms単位)Oslash  Lambdaファンクションへのリクエスト回数Oslash  1月あたり100万リクエスト400000GB秒が無料料で利利用可能

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

AWS Lambda Amazon S3 Bucket イベント

元画像 サムネイル画像 1

2

3

AWS Lambda Amazon DynamoDB Table and Stream

プッシュ通知

別テーブルを更更新

イメージのリサイズやサムネイルの作成

値チェックや別テーブルへのコピー

Automation37

水平スケーリングの自動化

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

bull  システムの状況を監視し自動的にスケールアウトイン

38 Automation

水平スケーリングの自動化bull  システムの状況を監視し自動的にスケールアウトインbull  スケールアウトしたインスタンスはユーザーデータのカスタムスクリプトなどで自動設定

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

39 Automation

インスタンスの復復旧も自動化

Automation

bull  Auto Scaling による自動復復旧(Auto Healing)

bull  EC2 Auto Recovery による自動復復旧

サーバークラッシュ

代替リソースが自動的に起動

Auto Scaling group min = 1

40

運用も自動化

Automation

bull  Amazon CloudWatch Events を利利用した運用自動化Oslash Amazon EBS の自動スナップショットOslash  EC2 インスタンスの停止削除

bull  AWS Lambda のスケジュール実行行Oslash プログラムを書いてカスタムな運用項目を自動化

41

疎結合

Loose Coupling

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 5: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

AWS 上でシステム設計にあたっての疑問

bull  例例えばhellip

スケールアウト構成を構築する場合に何を意識識すればよいの

オンプレミスと違う発想で臨臨んだほうが

いいのAWSの特性を活かせるような設計とは

EC2 上でデータベースを構築するのとRDS を使うことの違いは

6

本日お話しすること

bull  クラウドらしいアーキテクチャを構築するための原則bull  AWS でシステムを構築するためのベストプラクティス

bull  より深く確認したい方は下記のホワイトペーパーを参照Oslash Architecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

7

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

8

AWS クラウドコンピューティングとは

俊敏性アジリティの向上

伸縮自在性

セルフサービスなインフラ

ワールドワイド

低額な利利用価格

Deploy

初期投資不不要従量量課金金

豊富なサービス

9

クラウドコンピューティングならではの特性

bull  IT 資産がプログラマブルにbull  グローバル展開可用性無制限のキャパシティbull  高レベルなマネージドサービスbull  Built-‐‑‒in Security

10

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

10 の設計プリンシプルbull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティ12

スケーラビリティ

Scalability

スケーラビリティ

bull  運用中のシステムを拡張縮小させる能力力

bull  スケーラビリティを生かすことで可能になることOslash 柔軟性の向上(事業の必要性に応じたリソース確保)Oslash コスト削減(必要な時に必要な分だけのリソース確保)

bull  スケールの種類Oslash 水平スケーリング(スケールアウトスケールイン)Oslash 垂直スケーリング(スケールアップスケールダウン)

Scalability14

水平垂直のスケーリングの比較bull  垂直スケーリング

(スケールアップスケールダウン) Oslash  個々のリソースのスペックを増減Oslash  リソースの限界が存在Oslash  インスタンスの停止が伴う

bull  水平スケーリング (スケールアウトスケールイン) Oslash  リソースの台数を増減Oslash  論論理理的には限界が存在しないOslash  インスタンスの停止が伴わない

small large

Scalability

small

small small small

small small small

small small small

15

水平スケーリングを行行うために心がけることbull  ステートレスアプリケーションコンポーネント

Oslash ステートフルになる要素を水平スケールするリソースの外部に配置-  セッション情報はDynamoDBElastiCache へ-  バイナリファイル ログなどは Amazon S3 へ

bull  ステートフルになるコンポーネントをどう扱うかOslash 水平スケールするマネージドサービスの利利用Oslash 水平スケールができない場合に注意すべき制約を洗い出す

bull  分散処理理(今までのやり方を見見直す)Oslash 長時間かかっていた単一のタスクを分割できないか検討

-  1台のサーバで4時間かかるタスクを4台のサーバで1時間でこなすbull  商用ライセンスの扱い

Oslash ライセンスの提供元に確認 Scalability16

ステートレスにするためのセッション情報の扱い

Oslash  スケールアウト時-  スケールアウトしたリソースが使われにくい

Oslash  スケールイン時-  セッションも一緒に落落とすことになるので困難

WebApp

Auto Scaling

ELBClient13

WebApp

Scalability

bull  セッション情報を水平スケールさせたいコンポーネントで持つと

WebApp

セッション 既存ユーザのセッションは既存のコンポーネントにあるためリクエストは同じリソースへ

Sticky Session

スケールアウトしたリソースを活かしにくい

WebApp

Auto Scaling

ELBClient13

WebApp

セッション インスタンスを削除すると既存ユーザのセッション情報も失われてしまう(ログアウトされた挙動となる)

Sticky Session

17

ステートレスにするためのセッション情報の扱いbull  スケールさせやすくするためにセッション情報は外だし

WebApp

Auto Scaling

ELBClient13 WebApp

DynamoDBセッション情報

ElastiCache

or

書き換えられても問題ない情報肥大化の恐れがない情報はClient-‐‑‒Side で保持することも可能

Client-‐‑‒Side で書き換えられると困る情報はServer-‐‑‒Side で保持

Scalability

各リソースに固有の情報がないのでいつでも増減しやすい

18

固定資産から可処分資産へ

Disposable Resources Instead of Fixed Servers

今まで(オンプレミス)bull  固定のリソースで運用

Oslash  リソース購入は前払いOslash  リソース追加には長いリードタイムrarr 事前のサイジングが必須

リソースに対する考え方

AWSbull  固定資産ではない

Oslash  使い捨て可能なソフトウェア (いつでも増減変更更可能)rarr 事前のサイジングは不不要

Disposable Resources Instead of Fixed Servers

タスクが増えたらインスタンスを増やして対応

タスクが完了了したらシャットダウン

サイジングにより決まった台数スペック

追加には長時間かかる

20

マインドセットを変える

AWSbull  リソースが常に存在する変更更しない前提の設計運用を止めるOslash  自動化Oslash  DNS によるアクセスOslash  バッチスケジュールの見見直しOslash  利利用時間帯の確認

Disposable Resources Instead of Fixed Servers

今まで(オンプレミス)bull  固定リソース運用により助長されがちなプラクティスOslash  手作業による設定変更更Oslash  IP アドレスのハードコードOslash  シーケンシャルな処理理Oslash  常に電源 ON

21

自動化

bull  水平スケールも自動的にbull  水平スケールしたインスタンスに対する設定も自動的に

Oslash  EC2 ユーザーデータメタデータ-  httpdocsawsamazoncomja_jpAWSEC2latestUserGuideec2-‐‑‒instance-‐‑‒metadatahtml

Oslash 構成管理理ツール(Chef Puppet などの3rd party ツール)

bull  次のプリンシプルも参照

Disposable Resources Instead of Fixed Servers 22

DNS によるアクセス

bull  固定 IP アドレスアクセスによる弊害の例例

Disposable Resources Instead of Fixed Servers 23

スケールイン時

100051 100052 100051 100052

100052直打ちでのアクセス

使用率率率が低くなったのでスケールイン

バッチスケジュールの見見直し

bull  並列列化で早く終わらせるOslash  1台で n 時間もn台で 1時間も料料金金は同じ

Disposable Resources Instead of Fixed Servers 24

時間1h 2h 3h

タスク1

タスク2

タスク3

タスク1

タスク2

タスク3

時間1h 2h 3h

利利用時間帯の確認

bull  固定資産ではないので常に稼働させる必要はないbull  実際のワークロード利利用時間帯に合わせて稼働させる必要がない時間は落落としてコスト節約につなげる

Disposable Resources Instead of Fixed Servers 25

可処分所得にするためのポイント

bull  AMI スナップショット戦略略(いつでもリソースを作成できるように準備)Oslash 全部入り AMIOslash BootstrappingOslash Hybrid(AMI と Bootstrapping の組み合わせ)

bull  Infrastructure as CodeOslash 個々のリソースだけでなくシステム全体をいつでも作成できるよう準備(例例)バッチシステムを CloudFormation で作成し完了了したら削除

Disposable Resources Instead of Fixed Servers 26

AMI 戦略略

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

EC2

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

アプリコード

Amazon S3

Log4JSpring

Struts

Linux

J2EE

Hibernate

Tomcat

Apache

Linux

J2EE

アプリコード

Amazon S3

Hibernate

TomcatLog4J

Spring

StrutsApache

EC2

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

EC2

Linux

JEE

Linux

JEE

Chef

Chef

スクリプト

Java AMIJavaスタック Java AMI AMI

起動時取得

起動時取得 起動時取得

[1]全部入りAMI [2]部分設定済 AMI [3]最小構成AMI

27 Disposable Resources Instead of Fixed Servers

AMI 戦略略 ProsCons

方式 利利点 欠点[1]全部入りAMI 同一性の確保

起動時間が早いデプロイ毎にAMIを作り直す必要がある(作成プロセスを自動化すれば欠点とはならない)

[2]部分設定済AMI あとはアプリコードのみ最新を取得すれば良良く扱いやすい

[3]最小構成AMI 柔軟に中身を変更更できる 起動処理理に時間がかかる場合によっては外部ライブラリが取得できないことも

28 Disposable Resources Instead of Fixed Servers

AWS CloudFormation

bull  特徴 (httpawsamazoncomjpcloudformation)Oslash テンプレートを元にEC2やELBといったAWSリソースの環境構築を自動化

Oslash  JSON YAMLフォーマットのテキストでテンプレートを自由に記述可能

Oslash  Microsoft Windows Server や SAP HANA などのリファレンス実装を用意(httpawsamazoncomquickstart)

bull  価格体系 (httpawsamazoncomjpcloudformationpricing)Oslash  追加料料金金はありません

AWS リソース(Amazon EC2 インスタンスや Elastic Load Balancing ロードバランサーなど)に対してお支払いいただきます

設定管理理 amp クラウドのオーケストレーション サービス

スタック

EC2Auto Scaling

テンプレート(設定ファイル)

テンプレートに基づき各リソースが自動起動

EC2

Cloud Formation

29 Disposable Resources Instead of Fixed Servers

自動化

Automation

自動化

bull  自動化を意識識することで得られるメリットOslash オペミス防止などの安定した運用Oslash 運用負荷の軽減Oslash 可用性の向上

bull  AWS と自動化Oslash API で動作するので自動化しやすいOslash 自動化をサポートするサービスが豊富

Automation31

自動化をサポートする代表的なサービス機能

Automation

bull  AWS Elastic Beanstalkbull  AWS OpsWorksbull  Auto Scalingbull  Amazon EC2 Auto Recoverybull  Amazon CloudWatch Alarmsbull  Amazon CloudWatch Eventsbull  AWS Lambda Scheduled events

32

AWS ElasticBeanstalk

bull  特徴 (httpawsamazoncomjpelasticbeanstalk)Oslash  速く簡単にアプリケーションをデプロイ可能Oslash  インフラストラクチャの準備運営からアプリケーションスタックの管理理まで自動化

Oslash  Auto Scaling によりコストを抑えながらスケーラビリティを確保

Oslash  Java PHP Ruby Python Nodejs NET Docker などに対応

bull  価格体系 (httpawsamazoncomjpelasticbeanstalkpricing)Oslash  追加料料金金なしOslash  アプリケーションの保存実行行に必要なAWSリソース (EC2 S3 RDS DynamoDB など) に対してのみ課金金

インフラ構成の構築アプリデプロイの自動化サービス

Automation33

AWS OpsWorks

bull  特徴 (httpawsamazoncomjpopsworks)Oslash  Chefのレシピを使ってデプロイや運用タスクを自動化可能

Oslash  ライフサイクルイベントにより動的な構成変更更への対応が可能

Oslash  継続的な構成管理理bull  価格体系 (httpawsamazoncomjpelasticloadbalancingpricing)

Oslash  AWS OpsWorks自体の利利用は無料料Oslash  (OpsWorksエージェントをオンプレミスサーバで利利用する場合はその起動時間)

アプリケーションのデプロイ管理理サービス

AWS OpsWorks13

スタック

LBレイヤー

Webレイヤー

DBレイヤー

EC2インスタンス上のOpsWorksエージェント

Automation34

Auto Scaling

bull  特徴 (httpawsamazoncomjpautoscaling)Oslash  Amazon EC2インスタンス群を自動的にスケール

Oslash  耐障害性の向上(インスタンスの異異常を検知して新しいインスタンスを起動)

Oslash  EC2インスタンスの起動料料金金の最適化bull  価格体系 (httpawsamazoncomjpautoscalingpricing)

Oslash  Auto Scaling自体の利利用は無料料Oslash  Auto Scalingによって起動されるEC2インスタンスの起動料料金金

EC2インスタンスを負荷またはスケジュールに応じて自動増減

Auto Scaling group13

Desired Capacity

必要に応じて追加されるCapacity

起動設定bull  インスタンスタイプbull  AMI など

Automation35

Amazon CloudWatch

bull  特徴 (httpawsamazoncomjpcloudwatch)Oslash  AWSリソースの死活性能ログ監視Oslash  取得メトリックスのグラフ化Oslash  各メトリックスに対してアラーム作成

bull  価格体系 (httpawsamazoncomjpcloudwatchpricing)Oslash  基本モニタリング(5分間隔)は無料料Oslash  (利利用する場合) 詳細モニタリングOslash  (利利用する場合)カスタムメトリックスAPIリクエストアラームログ等

AWSの各種リソースを監視するサービス

Automation36

AWS Lambda

bull  特徴 (httpawsamazoncomjplambda)Oslash  OSキャパシティ等インフラの管理理不不要Oslash  S3KinesisSNS等でのイベント発生を元にユーザが用意したコード(Nodejs)を実行行

Oslash  ユーザアプリからの同期非同期呼び出し

bull  価格体系 (httpawsamazoncomjplambdapricing)Oslash  コード実行行時間(100ms単位)Oslash  Lambdaファンクションへのリクエスト回数Oslash  1月あたり100万リクエスト400000GB秒が無料料で利利用可能

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

AWS Lambda Amazon S3 Bucket イベント

元画像 サムネイル画像 1

2

3

AWS Lambda Amazon DynamoDB Table and Stream

プッシュ通知

別テーブルを更更新

イメージのリサイズやサムネイルの作成

値チェックや別テーブルへのコピー

Automation37

水平スケーリングの自動化

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

bull  システムの状況を監視し自動的にスケールアウトイン

38 Automation

水平スケーリングの自動化bull  システムの状況を監視し自動的にスケールアウトインbull  スケールアウトしたインスタンスはユーザーデータのカスタムスクリプトなどで自動設定

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

39 Automation

インスタンスの復復旧も自動化

Automation

bull  Auto Scaling による自動復復旧(Auto Healing)

bull  EC2 Auto Recovery による自動復復旧

サーバークラッシュ

代替リソースが自動的に起動

Auto Scaling group min = 1

40

運用も自動化

Automation

bull  Amazon CloudWatch Events を利利用した運用自動化Oslash Amazon EBS の自動スナップショットOslash  EC2 インスタンスの停止削除

bull  AWS Lambda のスケジュール実行行Oslash プログラムを書いてカスタムな運用項目を自動化

41

疎結合

Loose Coupling

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 6: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

AWS 上でシステム設計にあたっての疑問

bull  例例えばhellip

スケールアウト構成を構築する場合に何を意識識すればよいの

オンプレミスと違う発想で臨臨んだほうが

いいのAWSの特性を活かせるような設計とは

EC2 上でデータベースを構築するのとRDS を使うことの違いは

6

本日お話しすること

bull  クラウドらしいアーキテクチャを構築するための原則bull  AWS でシステムを構築するためのベストプラクティス

bull  より深く確認したい方は下記のホワイトペーパーを参照Oslash Architecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

7

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

8

AWS クラウドコンピューティングとは

俊敏性アジリティの向上

伸縮自在性

セルフサービスなインフラ

ワールドワイド

低額な利利用価格

Deploy

初期投資不不要従量量課金金

豊富なサービス

9

クラウドコンピューティングならではの特性

bull  IT 資産がプログラマブルにbull  グローバル展開可用性無制限のキャパシティbull  高レベルなマネージドサービスbull  Built-‐‑‒in Security

10

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

10 の設計プリンシプルbull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティ12

スケーラビリティ

Scalability

スケーラビリティ

bull  運用中のシステムを拡張縮小させる能力力

bull  スケーラビリティを生かすことで可能になることOslash 柔軟性の向上(事業の必要性に応じたリソース確保)Oslash コスト削減(必要な時に必要な分だけのリソース確保)

bull  スケールの種類Oslash 水平スケーリング(スケールアウトスケールイン)Oslash 垂直スケーリング(スケールアップスケールダウン)

Scalability14

水平垂直のスケーリングの比較bull  垂直スケーリング

(スケールアップスケールダウン) Oslash  個々のリソースのスペックを増減Oslash  リソースの限界が存在Oslash  インスタンスの停止が伴う

bull  水平スケーリング (スケールアウトスケールイン) Oslash  リソースの台数を増減Oslash  論論理理的には限界が存在しないOslash  インスタンスの停止が伴わない

small large

Scalability

small

small small small

small small small

small small small

15

水平スケーリングを行行うために心がけることbull  ステートレスアプリケーションコンポーネント

Oslash ステートフルになる要素を水平スケールするリソースの外部に配置-  セッション情報はDynamoDBElastiCache へ-  バイナリファイル ログなどは Amazon S3 へ

bull  ステートフルになるコンポーネントをどう扱うかOslash 水平スケールするマネージドサービスの利利用Oslash 水平スケールができない場合に注意すべき制約を洗い出す

bull  分散処理理(今までのやり方を見見直す)Oslash 長時間かかっていた単一のタスクを分割できないか検討

-  1台のサーバで4時間かかるタスクを4台のサーバで1時間でこなすbull  商用ライセンスの扱い

Oslash ライセンスの提供元に確認 Scalability16

ステートレスにするためのセッション情報の扱い

Oslash  スケールアウト時-  スケールアウトしたリソースが使われにくい

Oslash  スケールイン時-  セッションも一緒に落落とすことになるので困難

WebApp

Auto Scaling

ELBClient13

WebApp

Scalability

bull  セッション情報を水平スケールさせたいコンポーネントで持つと

WebApp

セッション 既存ユーザのセッションは既存のコンポーネントにあるためリクエストは同じリソースへ

Sticky Session

スケールアウトしたリソースを活かしにくい

WebApp

Auto Scaling

ELBClient13

WebApp

セッション インスタンスを削除すると既存ユーザのセッション情報も失われてしまう(ログアウトされた挙動となる)

Sticky Session

17

ステートレスにするためのセッション情報の扱いbull  スケールさせやすくするためにセッション情報は外だし

WebApp

Auto Scaling

ELBClient13 WebApp

DynamoDBセッション情報

ElastiCache

or

書き換えられても問題ない情報肥大化の恐れがない情報はClient-‐‑‒Side で保持することも可能

Client-‐‑‒Side で書き換えられると困る情報はServer-‐‑‒Side で保持

Scalability

各リソースに固有の情報がないのでいつでも増減しやすい

18

固定資産から可処分資産へ

Disposable Resources Instead of Fixed Servers

今まで(オンプレミス)bull  固定のリソースで運用

Oslash  リソース購入は前払いOslash  リソース追加には長いリードタイムrarr 事前のサイジングが必須

リソースに対する考え方

AWSbull  固定資産ではない

Oslash  使い捨て可能なソフトウェア (いつでも増減変更更可能)rarr 事前のサイジングは不不要

Disposable Resources Instead of Fixed Servers

タスクが増えたらインスタンスを増やして対応

タスクが完了了したらシャットダウン

サイジングにより決まった台数スペック

追加には長時間かかる

20

マインドセットを変える

AWSbull  リソースが常に存在する変更更しない前提の設計運用を止めるOslash  自動化Oslash  DNS によるアクセスOslash  バッチスケジュールの見見直しOslash  利利用時間帯の確認

Disposable Resources Instead of Fixed Servers

今まで(オンプレミス)bull  固定リソース運用により助長されがちなプラクティスOslash  手作業による設定変更更Oslash  IP アドレスのハードコードOslash  シーケンシャルな処理理Oslash  常に電源 ON

21

自動化

bull  水平スケールも自動的にbull  水平スケールしたインスタンスに対する設定も自動的に

Oslash  EC2 ユーザーデータメタデータ-  httpdocsawsamazoncomja_jpAWSEC2latestUserGuideec2-‐‑‒instance-‐‑‒metadatahtml

Oslash 構成管理理ツール(Chef Puppet などの3rd party ツール)

bull  次のプリンシプルも参照

Disposable Resources Instead of Fixed Servers 22

DNS によるアクセス

bull  固定 IP アドレスアクセスによる弊害の例例

Disposable Resources Instead of Fixed Servers 23

スケールイン時

100051 100052 100051 100052

100052直打ちでのアクセス

使用率率率が低くなったのでスケールイン

バッチスケジュールの見見直し

bull  並列列化で早く終わらせるOslash  1台で n 時間もn台で 1時間も料料金金は同じ

Disposable Resources Instead of Fixed Servers 24

時間1h 2h 3h

タスク1

タスク2

タスク3

タスク1

タスク2

タスク3

時間1h 2h 3h

利利用時間帯の確認

bull  固定資産ではないので常に稼働させる必要はないbull  実際のワークロード利利用時間帯に合わせて稼働させる必要がない時間は落落としてコスト節約につなげる

Disposable Resources Instead of Fixed Servers 25

可処分所得にするためのポイント

bull  AMI スナップショット戦略略(いつでもリソースを作成できるように準備)Oslash 全部入り AMIOslash BootstrappingOslash Hybrid(AMI と Bootstrapping の組み合わせ)

bull  Infrastructure as CodeOslash 個々のリソースだけでなくシステム全体をいつでも作成できるよう準備(例例)バッチシステムを CloudFormation で作成し完了了したら削除

Disposable Resources Instead of Fixed Servers 26

AMI 戦略略

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

EC2

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

アプリコード

Amazon S3

Log4JSpring

Struts

Linux

J2EE

Hibernate

Tomcat

Apache

Linux

J2EE

アプリコード

Amazon S3

Hibernate

TomcatLog4J

Spring

StrutsApache

EC2

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

EC2

Linux

JEE

Linux

JEE

Chef

Chef

スクリプト

Java AMIJavaスタック Java AMI AMI

起動時取得

起動時取得 起動時取得

[1]全部入りAMI [2]部分設定済 AMI [3]最小構成AMI

27 Disposable Resources Instead of Fixed Servers

AMI 戦略略 ProsCons

方式 利利点 欠点[1]全部入りAMI 同一性の確保

起動時間が早いデプロイ毎にAMIを作り直す必要がある(作成プロセスを自動化すれば欠点とはならない)

[2]部分設定済AMI あとはアプリコードのみ最新を取得すれば良良く扱いやすい

[3]最小構成AMI 柔軟に中身を変更更できる 起動処理理に時間がかかる場合によっては外部ライブラリが取得できないことも

28 Disposable Resources Instead of Fixed Servers

AWS CloudFormation

bull  特徴 (httpawsamazoncomjpcloudformation)Oslash テンプレートを元にEC2やELBといったAWSリソースの環境構築を自動化

Oslash  JSON YAMLフォーマットのテキストでテンプレートを自由に記述可能

Oslash  Microsoft Windows Server や SAP HANA などのリファレンス実装を用意(httpawsamazoncomquickstart)

bull  価格体系 (httpawsamazoncomjpcloudformationpricing)Oslash  追加料料金金はありません

AWS リソース(Amazon EC2 インスタンスや Elastic Load Balancing ロードバランサーなど)に対してお支払いいただきます

設定管理理 amp クラウドのオーケストレーション サービス

スタック

EC2Auto Scaling

テンプレート(設定ファイル)

テンプレートに基づき各リソースが自動起動

EC2

Cloud Formation

29 Disposable Resources Instead of Fixed Servers

自動化

Automation

自動化

bull  自動化を意識識することで得られるメリットOslash オペミス防止などの安定した運用Oslash 運用負荷の軽減Oslash 可用性の向上

bull  AWS と自動化Oslash API で動作するので自動化しやすいOslash 自動化をサポートするサービスが豊富

Automation31

自動化をサポートする代表的なサービス機能

Automation

bull  AWS Elastic Beanstalkbull  AWS OpsWorksbull  Auto Scalingbull  Amazon EC2 Auto Recoverybull  Amazon CloudWatch Alarmsbull  Amazon CloudWatch Eventsbull  AWS Lambda Scheduled events

32

AWS ElasticBeanstalk

bull  特徴 (httpawsamazoncomjpelasticbeanstalk)Oslash  速く簡単にアプリケーションをデプロイ可能Oslash  インフラストラクチャの準備運営からアプリケーションスタックの管理理まで自動化

Oslash  Auto Scaling によりコストを抑えながらスケーラビリティを確保

Oslash  Java PHP Ruby Python Nodejs NET Docker などに対応

bull  価格体系 (httpawsamazoncomjpelasticbeanstalkpricing)Oslash  追加料料金金なしOslash  アプリケーションの保存実行行に必要なAWSリソース (EC2 S3 RDS DynamoDB など) に対してのみ課金金

インフラ構成の構築アプリデプロイの自動化サービス

Automation33

AWS OpsWorks

bull  特徴 (httpawsamazoncomjpopsworks)Oslash  Chefのレシピを使ってデプロイや運用タスクを自動化可能

Oslash  ライフサイクルイベントにより動的な構成変更更への対応が可能

Oslash  継続的な構成管理理bull  価格体系 (httpawsamazoncomjpelasticloadbalancingpricing)

Oslash  AWS OpsWorks自体の利利用は無料料Oslash  (OpsWorksエージェントをオンプレミスサーバで利利用する場合はその起動時間)

アプリケーションのデプロイ管理理サービス

AWS OpsWorks13

スタック

LBレイヤー

Webレイヤー

DBレイヤー

EC2インスタンス上のOpsWorksエージェント

Automation34

Auto Scaling

bull  特徴 (httpawsamazoncomjpautoscaling)Oslash  Amazon EC2インスタンス群を自動的にスケール

Oslash  耐障害性の向上(インスタンスの異異常を検知して新しいインスタンスを起動)

Oslash  EC2インスタンスの起動料料金金の最適化bull  価格体系 (httpawsamazoncomjpautoscalingpricing)

Oslash  Auto Scaling自体の利利用は無料料Oslash  Auto Scalingによって起動されるEC2インスタンスの起動料料金金

EC2インスタンスを負荷またはスケジュールに応じて自動増減

Auto Scaling group13

Desired Capacity

必要に応じて追加されるCapacity

起動設定bull  インスタンスタイプbull  AMI など

Automation35

Amazon CloudWatch

bull  特徴 (httpawsamazoncomjpcloudwatch)Oslash  AWSリソースの死活性能ログ監視Oslash  取得メトリックスのグラフ化Oslash  各メトリックスに対してアラーム作成

bull  価格体系 (httpawsamazoncomjpcloudwatchpricing)Oslash  基本モニタリング(5分間隔)は無料料Oslash  (利利用する場合) 詳細モニタリングOslash  (利利用する場合)カスタムメトリックスAPIリクエストアラームログ等

AWSの各種リソースを監視するサービス

Automation36

AWS Lambda

bull  特徴 (httpawsamazoncomjplambda)Oslash  OSキャパシティ等インフラの管理理不不要Oslash  S3KinesisSNS等でのイベント発生を元にユーザが用意したコード(Nodejs)を実行行

Oslash  ユーザアプリからの同期非同期呼び出し

bull  価格体系 (httpawsamazoncomjplambdapricing)Oslash  コード実行行時間(100ms単位)Oslash  Lambdaファンクションへのリクエスト回数Oslash  1月あたり100万リクエスト400000GB秒が無料料で利利用可能

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

AWS Lambda Amazon S3 Bucket イベント

元画像 サムネイル画像 1

2

3

AWS Lambda Amazon DynamoDB Table and Stream

プッシュ通知

別テーブルを更更新

イメージのリサイズやサムネイルの作成

値チェックや別テーブルへのコピー

Automation37

水平スケーリングの自動化

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

bull  システムの状況を監視し自動的にスケールアウトイン

38 Automation

水平スケーリングの自動化bull  システムの状況を監視し自動的にスケールアウトインbull  スケールアウトしたインスタンスはユーザーデータのカスタムスクリプトなどで自動設定

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

39 Automation

インスタンスの復復旧も自動化

Automation

bull  Auto Scaling による自動復復旧(Auto Healing)

bull  EC2 Auto Recovery による自動復復旧

サーバークラッシュ

代替リソースが自動的に起動

Auto Scaling group min = 1

40

運用も自動化

Automation

bull  Amazon CloudWatch Events を利利用した運用自動化Oslash Amazon EBS の自動スナップショットOslash  EC2 インスタンスの停止削除

bull  AWS Lambda のスケジュール実行行Oslash プログラムを書いてカスタムな運用項目を自動化

41

疎結合

Loose Coupling

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 7: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

本日お話しすること

bull  クラウドらしいアーキテクチャを構築するための原則bull  AWS でシステムを構築するためのベストプラクティス

bull  より深く確認したい方は下記のホワイトペーパーを参照Oslash Architecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

7

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

8

AWS クラウドコンピューティングとは

俊敏性アジリティの向上

伸縮自在性

セルフサービスなインフラ

ワールドワイド

低額な利利用価格

Deploy

初期投資不不要従量量課金金

豊富なサービス

9

クラウドコンピューティングならではの特性

bull  IT 資産がプログラマブルにbull  グローバル展開可用性無制限のキャパシティbull  高レベルなマネージドサービスbull  Built-‐‑‒in Security

10

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

10 の設計プリンシプルbull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティ12

スケーラビリティ

Scalability

スケーラビリティ

bull  運用中のシステムを拡張縮小させる能力力

bull  スケーラビリティを生かすことで可能になることOslash 柔軟性の向上(事業の必要性に応じたリソース確保)Oslash コスト削減(必要な時に必要な分だけのリソース確保)

bull  スケールの種類Oslash 水平スケーリング(スケールアウトスケールイン)Oslash 垂直スケーリング(スケールアップスケールダウン)

Scalability14

水平垂直のスケーリングの比較bull  垂直スケーリング

(スケールアップスケールダウン) Oslash  個々のリソースのスペックを増減Oslash  リソースの限界が存在Oslash  インスタンスの停止が伴う

bull  水平スケーリング (スケールアウトスケールイン) Oslash  リソースの台数を増減Oslash  論論理理的には限界が存在しないOslash  インスタンスの停止が伴わない

small large

Scalability

small

small small small

small small small

small small small

15

水平スケーリングを行行うために心がけることbull  ステートレスアプリケーションコンポーネント

Oslash ステートフルになる要素を水平スケールするリソースの外部に配置-  セッション情報はDynamoDBElastiCache へ-  バイナリファイル ログなどは Amazon S3 へ

bull  ステートフルになるコンポーネントをどう扱うかOslash 水平スケールするマネージドサービスの利利用Oslash 水平スケールができない場合に注意すべき制約を洗い出す

bull  分散処理理(今までのやり方を見見直す)Oslash 長時間かかっていた単一のタスクを分割できないか検討

-  1台のサーバで4時間かかるタスクを4台のサーバで1時間でこなすbull  商用ライセンスの扱い

Oslash ライセンスの提供元に確認 Scalability16

ステートレスにするためのセッション情報の扱い

Oslash  スケールアウト時-  スケールアウトしたリソースが使われにくい

Oslash  スケールイン時-  セッションも一緒に落落とすことになるので困難

WebApp

Auto Scaling

ELBClient13

WebApp

Scalability

bull  セッション情報を水平スケールさせたいコンポーネントで持つと

WebApp

セッション 既存ユーザのセッションは既存のコンポーネントにあるためリクエストは同じリソースへ

Sticky Session

スケールアウトしたリソースを活かしにくい

WebApp

Auto Scaling

ELBClient13

WebApp

セッション インスタンスを削除すると既存ユーザのセッション情報も失われてしまう(ログアウトされた挙動となる)

Sticky Session

17

ステートレスにするためのセッション情報の扱いbull  スケールさせやすくするためにセッション情報は外だし

WebApp

Auto Scaling

ELBClient13 WebApp

DynamoDBセッション情報

ElastiCache

or

書き換えられても問題ない情報肥大化の恐れがない情報はClient-‐‑‒Side で保持することも可能

Client-‐‑‒Side で書き換えられると困る情報はServer-‐‑‒Side で保持

Scalability

各リソースに固有の情報がないのでいつでも増減しやすい

18

固定資産から可処分資産へ

Disposable Resources Instead of Fixed Servers

今まで(オンプレミス)bull  固定のリソースで運用

Oslash  リソース購入は前払いOslash  リソース追加には長いリードタイムrarr 事前のサイジングが必須

リソースに対する考え方

AWSbull  固定資産ではない

Oslash  使い捨て可能なソフトウェア (いつでも増減変更更可能)rarr 事前のサイジングは不不要

Disposable Resources Instead of Fixed Servers

タスクが増えたらインスタンスを増やして対応

タスクが完了了したらシャットダウン

サイジングにより決まった台数スペック

追加には長時間かかる

20

マインドセットを変える

AWSbull  リソースが常に存在する変更更しない前提の設計運用を止めるOslash  自動化Oslash  DNS によるアクセスOslash  バッチスケジュールの見見直しOslash  利利用時間帯の確認

Disposable Resources Instead of Fixed Servers

今まで(オンプレミス)bull  固定リソース運用により助長されがちなプラクティスOslash  手作業による設定変更更Oslash  IP アドレスのハードコードOslash  シーケンシャルな処理理Oslash  常に電源 ON

21

自動化

bull  水平スケールも自動的にbull  水平スケールしたインスタンスに対する設定も自動的に

Oslash  EC2 ユーザーデータメタデータ-  httpdocsawsamazoncomja_jpAWSEC2latestUserGuideec2-‐‑‒instance-‐‑‒metadatahtml

Oslash 構成管理理ツール(Chef Puppet などの3rd party ツール)

bull  次のプリンシプルも参照

Disposable Resources Instead of Fixed Servers 22

DNS によるアクセス

bull  固定 IP アドレスアクセスによる弊害の例例

Disposable Resources Instead of Fixed Servers 23

スケールイン時

100051 100052 100051 100052

100052直打ちでのアクセス

使用率率率が低くなったのでスケールイン

バッチスケジュールの見見直し

bull  並列列化で早く終わらせるOslash  1台で n 時間もn台で 1時間も料料金金は同じ

Disposable Resources Instead of Fixed Servers 24

時間1h 2h 3h

タスク1

タスク2

タスク3

タスク1

タスク2

タスク3

時間1h 2h 3h

利利用時間帯の確認

bull  固定資産ではないので常に稼働させる必要はないbull  実際のワークロード利利用時間帯に合わせて稼働させる必要がない時間は落落としてコスト節約につなげる

Disposable Resources Instead of Fixed Servers 25

可処分所得にするためのポイント

bull  AMI スナップショット戦略略(いつでもリソースを作成できるように準備)Oslash 全部入り AMIOslash BootstrappingOslash Hybrid(AMI と Bootstrapping の組み合わせ)

bull  Infrastructure as CodeOslash 個々のリソースだけでなくシステム全体をいつでも作成できるよう準備(例例)バッチシステムを CloudFormation で作成し完了了したら削除

Disposable Resources Instead of Fixed Servers 26

AMI 戦略略

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

EC2

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

アプリコード

Amazon S3

Log4JSpring

Struts

Linux

J2EE

Hibernate

Tomcat

Apache

Linux

J2EE

アプリコード

Amazon S3

Hibernate

TomcatLog4J

Spring

StrutsApache

EC2

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

EC2

Linux

JEE

Linux

JEE

Chef

Chef

スクリプト

Java AMIJavaスタック Java AMI AMI

起動時取得

起動時取得 起動時取得

[1]全部入りAMI [2]部分設定済 AMI [3]最小構成AMI

27 Disposable Resources Instead of Fixed Servers

AMI 戦略略 ProsCons

方式 利利点 欠点[1]全部入りAMI 同一性の確保

起動時間が早いデプロイ毎にAMIを作り直す必要がある(作成プロセスを自動化すれば欠点とはならない)

[2]部分設定済AMI あとはアプリコードのみ最新を取得すれば良良く扱いやすい

[3]最小構成AMI 柔軟に中身を変更更できる 起動処理理に時間がかかる場合によっては外部ライブラリが取得できないことも

28 Disposable Resources Instead of Fixed Servers

AWS CloudFormation

bull  特徴 (httpawsamazoncomjpcloudformation)Oslash テンプレートを元にEC2やELBといったAWSリソースの環境構築を自動化

Oslash  JSON YAMLフォーマットのテキストでテンプレートを自由に記述可能

Oslash  Microsoft Windows Server や SAP HANA などのリファレンス実装を用意(httpawsamazoncomquickstart)

bull  価格体系 (httpawsamazoncomjpcloudformationpricing)Oslash  追加料料金金はありません

AWS リソース(Amazon EC2 インスタンスや Elastic Load Balancing ロードバランサーなど)に対してお支払いいただきます

設定管理理 amp クラウドのオーケストレーション サービス

スタック

EC2Auto Scaling

テンプレート(設定ファイル)

テンプレートに基づき各リソースが自動起動

EC2

Cloud Formation

29 Disposable Resources Instead of Fixed Servers

自動化

Automation

自動化

bull  自動化を意識識することで得られるメリットOslash オペミス防止などの安定した運用Oslash 運用負荷の軽減Oslash 可用性の向上

bull  AWS と自動化Oslash API で動作するので自動化しやすいOslash 自動化をサポートするサービスが豊富

Automation31

自動化をサポートする代表的なサービス機能

Automation

bull  AWS Elastic Beanstalkbull  AWS OpsWorksbull  Auto Scalingbull  Amazon EC2 Auto Recoverybull  Amazon CloudWatch Alarmsbull  Amazon CloudWatch Eventsbull  AWS Lambda Scheduled events

32

AWS ElasticBeanstalk

bull  特徴 (httpawsamazoncomjpelasticbeanstalk)Oslash  速く簡単にアプリケーションをデプロイ可能Oslash  インフラストラクチャの準備運営からアプリケーションスタックの管理理まで自動化

Oslash  Auto Scaling によりコストを抑えながらスケーラビリティを確保

Oslash  Java PHP Ruby Python Nodejs NET Docker などに対応

bull  価格体系 (httpawsamazoncomjpelasticbeanstalkpricing)Oslash  追加料料金金なしOslash  アプリケーションの保存実行行に必要なAWSリソース (EC2 S3 RDS DynamoDB など) に対してのみ課金金

インフラ構成の構築アプリデプロイの自動化サービス

Automation33

AWS OpsWorks

bull  特徴 (httpawsamazoncomjpopsworks)Oslash  Chefのレシピを使ってデプロイや運用タスクを自動化可能

Oslash  ライフサイクルイベントにより動的な構成変更更への対応が可能

Oslash  継続的な構成管理理bull  価格体系 (httpawsamazoncomjpelasticloadbalancingpricing)

Oslash  AWS OpsWorks自体の利利用は無料料Oslash  (OpsWorksエージェントをオンプレミスサーバで利利用する場合はその起動時間)

アプリケーションのデプロイ管理理サービス

AWS OpsWorks13

スタック

LBレイヤー

Webレイヤー

DBレイヤー

EC2インスタンス上のOpsWorksエージェント

Automation34

Auto Scaling

bull  特徴 (httpawsamazoncomjpautoscaling)Oslash  Amazon EC2インスタンス群を自動的にスケール

Oslash  耐障害性の向上(インスタンスの異異常を検知して新しいインスタンスを起動)

Oslash  EC2インスタンスの起動料料金金の最適化bull  価格体系 (httpawsamazoncomjpautoscalingpricing)

Oslash  Auto Scaling自体の利利用は無料料Oslash  Auto Scalingによって起動されるEC2インスタンスの起動料料金金

EC2インスタンスを負荷またはスケジュールに応じて自動増減

Auto Scaling group13

Desired Capacity

必要に応じて追加されるCapacity

起動設定bull  インスタンスタイプbull  AMI など

Automation35

Amazon CloudWatch

bull  特徴 (httpawsamazoncomjpcloudwatch)Oslash  AWSリソースの死活性能ログ監視Oslash  取得メトリックスのグラフ化Oslash  各メトリックスに対してアラーム作成

bull  価格体系 (httpawsamazoncomjpcloudwatchpricing)Oslash  基本モニタリング(5分間隔)は無料料Oslash  (利利用する場合) 詳細モニタリングOslash  (利利用する場合)カスタムメトリックスAPIリクエストアラームログ等

AWSの各種リソースを監視するサービス

Automation36

AWS Lambda

bull  特徴 (httpawsamazoncomjplambda)Oslash  OSキャパシティ等インフラの管理理不不要Oslash  S3KinesisSNS等でのイベント発生を元にユーザが用意したコード(Nodejs)を実行行

Oslash  ユーザアプリからの同期非同期呼び出し

bull  価格体系 (httpawsamazoncomjplambdapricing)Oslash  コード実行行時間(100ms単位)Oslash  Lambdaファンクションへのリクエスト回数Oslash  1月あたり100万リクエスト400000GB秒が無料料で利利用可能

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

AWS Lambda Amazon S3 Bucket イベント

元画像 サムネイル画像 1

2

3

AWS Lambda Amazon DynamoDB Table and Stream

プッシュ通知

別テーブルを更更新

イメージのリサイズやサムネイルの作成

値チェックや別テーブルへのコピー

Automation37

水平スケーリングの自動化

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

bull  システムの状況を監視し自動的にスケールアウトイン

38 Automation

水平スケーリングの自動化bull  システムの状況を監視し自動的にスケールアウトインbull  スケールアウトしたインスタンスはユーザーデータのカスタムスクリプトなどで自動設定

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

39 Automation

インスタンスの復復旧も自動化

Automation

bull  Auto Scaling による自動復復旧(Auto Healing)

bull  EC2 Auto Recovery による自動復復旧

サーバークラッシュ

代替リソースが自動的に起動

Auto Scaling group min = 1

40

運用も自動化

Automation

bull  Amazon CloudWatch Events を利利用した運用自動化Oslash Amazon EBS の自動スナップショットOslash  EC2 インスタンスの停止削除

bull  AWS Lambda のスケジュール実行行Oslash プログラムを書いてカスタムな運用項目を自動化

41

疎結合

Loose Coupling

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 8: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

8

AWS クラウドコンピューティングとは

俊敏性アジリティの向上

伸縮自在性

セルフサービスなインフラ

ワールドワイド

低額な利利用価格

Deploy

初期投資不不要従量量課金金

豊富なサービス

9

クラウドコンピューティングならではの特性

bull  IT 資産がプログラマブルにbull  グローバル展開可用性無制限のキャパシティbull  高レベルなマネージドサービスbull  Built-‐‑‒in Security

10

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

10 の設計プリンシプルbull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティ12

スケーラビリティ

Scalability

スケーラビリティ

bull  運用中のシステムを拡張縮小させる能力力

bull  スケーラビリティを生かすことで可能になることOslash 柔軟性の向上(事業の必要性に応じたリソース確保)Oslash コスト削減(必要な時に必要な分だけのリソース確保)

bull  スケールの種類Oslash 水平スケーリング(スケールアウトスケールイン)Oslash 垂直スケーリング(スケールアップスケールダウン)

Scalability14

水平垂直のスケーリングの比較bull  垂直スケーリング

(スケールアップスケールダウン) Oslash  個々のリソースのスペックを増減Oslash  リソースの限界が存在Oslash  インスタンスの停止が伴う

bull  水平スケーリング (スケールアウトスケールイン) Oslash  リソースの台数を増減Oslash  論論理理的には限界が存在しないOslash  インスタンスの停止が伴わない

small large

Scalability

small

small small small

small small small

small small small

15

水平スケーリングを行行うために心がけることbull  ステートレスアプリケーションコンポーネント

Oslash ステートフルになる要素を水平スケールするリソースの外部に配置-  セッション情報はDynamoDBElastiCache へ-  バイナリファイル ログなどは Amazon S3 へ

bull  ステートフルになるコンポーネントをどう扱うかOslash 水平スケールするマネージドサービスの利利用Oslash 水平スケールができない場合に注意すべき制約を洗い出す

bull  分散処理理(今までのやり方を見見直す)Oslash 長時間かかっていた単一のタスクを分割できないか検討

-  1台のサーバで4時間かかるタスクを4台のサーバで1時間でこなすbull  商用ライセンスの扱い

Oslash ライセンスの提供元に確認 Scalability16

ステートレスにするためのセッション情報の扱い

Oslash  スケールアウト時-  スケールアウトしたリソースが使われにくい

Oslash  スケールイン時-  セッションも一緒に落落とすことになるので困難

WebApp

Auto Scaling

ELBClient13

WebApp

Scalability

bull  セッション情報を水平スケールさせたいコンポーネントで持つと

WebApp

セッション 既存ユーザのセッションは既存のコンポーネントにあるためリクエストは同じリソースへ

Sticky Session

スケールアウトしたリソースを活かしにくい

WebApp

Auto Scaling

ELBClient13

WebApp

セッション インスタンスを削除すると既存ユーザのセッション情報も失われてしまう(ログアウトされた挙動となる)

Sticky Session

17

ステートレスにするためのセッション情報の扱いbull  スケールさせやすくするためにセッション情報は外だし

WebApp

Auto Scaling

ELBClient13 WebApp

DynamoDBセッション情報

ElastiCache

or

書き換えられても問題ない情報肥大化の恐れがない情報はClient-‐‑‒Side で保持することも可能

Client-‐‑‒Side で書き換えられると困る情報はServer-‐‑‒Side で保持

Scalability

各リソースに固有の情報がないのでいつでも増減しやすい

18

固定資産から可処分資産へ

Disposable Resources Instead of Fixed Servers

今まで(オンプレミス)bull  固定のリソースで運用

Oslash  リソース購入は前払いOslash  リソース追加には長いリードタイムrarr 事前のサイジングが必須

リソースに対する考え方

AWSbull  固定資産ではない

Oslash  使い捨て可能なソフトウェア (いつでも増減変更更可能)rarr 事前のサイジングは不不要

Disposable Resources Instead of Fixed Servers

タスクが増えたらインスタンスを増やして対応

タスクが完了了したらシャットダウン

サイジングにより決まった台数スペック

追加には長時間かかる

20

マインドセットを変える

AWSbull  リソースが常に存在する変更更しない前提の設計運用を止めるOslash  自動化Oslash  DNS によるアクセスOslash  バッチスケジュールの見見直しOslash  利利用時間帯の確認

Disposable Resources Instead of Fixed Servers

今まで(オンプレミス)bull  固定リソース運用により助長されがちなプラクティスOslash  手作業による設定変更更Oslash  IP アドレスのハードコードOslash  シーケンシャルな処理理Oslash  常に電源 ON

21

自動化

bull  水平スケールも自動的にbull  水平スケールしたインスタンスに対する設定も自動的に

Oslash  EC2 ユーザーデータメタデータ-  httpdocsawsamazoncomja_jpAWSEC2latestUserGuideec2-‐‑‒instance-‐‑‒metadatahtml

Oslash 構成管理理ツール(Chef Puppet などの3rd party ツール)

bull  次のプリンシプルも参照

Disposable Resources Instead of Fixed Servers 22

DNS によるアクセス

bull  固定 IP アドレスアクセスによる弊害の例例

Disposable Resources Instead of Fixed Servers 23

スケールイン時

100051 100052 100051 100052

100052直打ちでのアクセス

使用率率率が低くなったのでスケールイン

バッチスケジュールの見見直し

bull  並列列化で早く終わらせるOslash  1台で n 時間もn台で 1時間も料料金金は同じ

Disposable Resources Instead of Fixed Servers 24

時間1h 2h 3h

タスク1

タスク2

タスク3

タスク1

タスク2

タスク3

時間1h 2h 3h

利利用時間帯の確認

bull  固定資産ではないので常に稼働させる必要はないbull  実際のワークロード利利用時間帯に合わせて稼働させる必要がない時間は落落としてコスト節約につなげる

Disposable Resources Instead of Fixed Servers 25

可処分所得にするためのポイント

bull  AMI スナップショット戦略略(いつでもリソースを作成できるように準備)Oslash 全部入り AMIOslash BootstrappingOslash Hybrid(AMI と Bootstrapping の組み合わせ)

bull  Infrastructure as CodeOslash 個々のリソースだけでなくシステム全体をいつでも作成できるよう準備(例例)バッチシステムを CloudFormation で作成し完了了したら削除

Disposable Resources Instead of Fixed Servers 26

AMI 戦略略

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

EC2

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

アプリコード

Amazon S3

Log4JSpring

Struts

Linux

J2EE

Hibernate

Tomcat

Apache

Linux

J2EE

アプリコード

Amazon S3

Hibernate

TomcatLog4J

Spring

StrutsApache

EC2

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

EC2

Linux

JEE

Linux

JEE

Chef

Chef

スクリプト

Java AMIJavaスタック Java AMI AMI

起動時取得

起動時取得 起動時取得

[1]全部入りAMI [2]部分設定済 AMI [3]最小構成AMI

27 Disposable Resources Instead of Fixed Servers

AMI 戦略略 ProsCons

方式 利利点 欠点[1]全部入りAMI 同一性の確保

起動時間が早いデプロイ毎にAMIを作り直す必要がある(作成プロセスを自動化すれば欠点とはならない)

[2]部分設定済AMI あとはアプリコードのみ最新を取得すれば良良く扱いやすい

[3]最小構成AMI 柔軟に中身を変更更できる 起動処理理に時間がかかる場合によっては外部ライブラリが取得できないことも

28 Disposable Resources Instead of Fixed Servers

AWS CloudFormation

bull  特徴 (httpawsamazoncomjpcloudformation)Oslash テンプレートを元にEC2やELBといったAWSリソースの環境構築を自動化

Oslash  JSON YAMLフォーマットのテキストでテンプレートを自由に記述可能

Oslash  Microsoft Windows Server や SAP HANA などのリファレンス実装を用意(httpawsamazoncomquickstart)

bull  価格体系 (httpawsamazoncomjpcloudformationpricing)Oslash  追加料料金金はありません

AWS リソース(Amazon EC2 インスタンスや Elastic Load Balancing ロードバランサーなど)に対してお支払いいただきます

設定管理理 amp クラウドのオーケストレーション サービス

スタック

EC2Auto Scaling

テンプレート(設定ファイル)

テンプレートに基づき各リソースが自動起動

EC2

Cloud Formation

29 Disposable Resources Instead of Fixed Servers

自動化

Automation

自動化

bull  自動化を意識識することで得られるメリットOslash オペミス防止などの安定した運用Oslash 運用負荷の軽減Oslash 可用性の向上

bull  AWS と自動化Oslash API で動作するので自動化しやすいOslash 自動化をサポートするサービスが豊富

Automation31

自動化をサポートする代表的なサービス機能

Automation

bull  AWS Elastic Beanstalkbull  AWS OpsWorksbull  Auto Scalingbull  Amazon EC2 Auto Recoverybull  Amazon CloudWatch Alarmsbull  Amazon CloudWatch Eventsbull  AWS Lambda Scheduled events

32

AWS ElasticBeanstalk

bull  特徴 (httpawsamazoncomjpelasticbeanstalk)Oslash  速く簡単にアプリケーションをデプロイ可能Oslash  インフラストラクチャの準備運営からアプリケーションスタックの管理理まで自動化

Oslash  Auto Scaling によりコストを抑えながらスケーラビリティを確保

Oslash  Java PHP Ruby Python Nodejs NET Docker などに対応

bull  価格体系 (httpawsamazoncomjpelasticbeanstalkpricing)Oslash  追加料料金金なしOslash  アプリケーションの保存実行行に必要なAWSリソース (EC2 S3 RDS DynamoDB など) に対してのみ課金金

インフラ構成の構築アプリデプロイの自動化サービス

Automation33

AWS OpsWorks

bull  特徴 (httpawsamazoncomjpopsworks)Oslash  Chefのレシピを使ってデプロイや運用タスクを自動化可能

Oslash  ライフサイクルイベントにより動的な構成変更更への対応が可能

Oslash  継続的な構成管理理bull  価格体系 (httpawsamazoncomjpelasticloadbalancingpricing)

Oslash  AWS OpsWorks自体の利利用は無料料Oslash  (OpsWorksエージェントをオンプレミスサーバで利利用する場合はその起動時間)

アプリケーションのデプロイ管理理サービス

AWS OpsWorks13

スタック

LBレイヤー

Webレイヤー

DBレイヤー

EC2インスタンス上のOpsWorksエージェント

Automation34

Auto Scaling

bull  特徴 (httpawsamazoncomjpautoscaling)Oslash  Amazon EC2インスタンス群を自動的にスケール

Oslash  耐障害性の向上(インスタンスの異異常を検知して新しいインスタンスを起動)

Oslash  EC2インスタンスの起動料料金金の最適化bull  価格体系 (httpawsamazoncomjpautoscalingpricing)

Oslash  Auto Scaling自体の利利用は無料料Oslash  Auto Scalingによって起動されるEC2インスタンスの起動料料金金

EC2インスタンスを負荷またはスケジュールに応じて自動増減

Auto Scaling group13

Desired Capacity

必要に応じて追加されるCapacity

起動設定bull  インスタンスタイプbull  AMI など

Automation35

Amazon CloudWatch

bull  特徴 (httpawsamazoncomjpcloudwatch)Oslash  AWSリソースの死活性能ログ監視Oslash  取得メトリックスのグラフ化Oslash  各メトリックスに対してアラーム作成

bull  価格体系 (httpawsamazoncomjpcloudwatchpricing)Oslash  基本モニタリング(5分間隔)は無料料Oslash  (利利用する場合) 詳細モニタリングOslash  (利利用する場合)カスタムメトリックスAPIリクエストアラームログ等

AWSの各種リソースを監視するサービス

Automation36

AWS Lambda

bull  特徴 (httpawsamazoncomjplambda)Oslash  OSキャパシティ等インフラの管理理不不要Oslash  S3KinesisSNS等でのイベント発生を元にユーザが用意したコード(Nodejs)を実行行

Oslash  ユーザアプリからの同期非同期呼び出し

bull  価格体系 (httpawsamazoncomjplambdapricing)Oslash  コード実行行時間(100ms単位)Oslash  Lambdaファンクションへのリクエスト回数Oslash  1月あたり100万リクエスト400000GB秒が無料料で利利用可能

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

AWS Lambda Amazon S3 Bucket イベント

元画像 サムネイル画像 1

2

3

AWS Lambda Amazon DynamoDB Table and Stream

プッシュ通知

別テーブルを更更新

イメージのリサイズやサムネイルの作成

値チェックや別テーブルへのコピー

Automation37

水平スケーリングの自動化

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

bull  システムの状況を監視し自動的にスケールアウトイン

38 Automation

水平スケーリングの自動化bull  システムの状況を監視し自動的にスケールアウトインbull  スケールアウトしたインスタンスはユーザーデータのカスタムスクリプトなどで自動設定

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

39 Automation

インスタンスの復復旧も自動化

Automation

bull  Auto Scaling による自動復復旧(Auto Healing)

bull  EC2 Auto Recovery による自動復復旧

サーバークラッシュ

代替リソースが自動的に起動

Auto Scaling group min = 1

40

運用も自動化

Automation

bull  Amazon CloudWatch Events を利利用した運用自動化Oslash Amazon EBS の自動スナップショットOslash  EC2 インスタンスの停止削除

bull  AWS Lambda のスケジュール実行行Oslash プログラムを書いてカスタムな運用項目を自動化

41

疎結合

Loose Coupling

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 9: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

AWS クラウドコンピューティングとは

俊敏性アジリティの向上

伸縮自在性

セルフサービスなインフラ

ワールドワイド

低額な利利用価格

Deploy

初期投資不不要従量量課金金

豊富なサービス

9

クラウドコンピューティングならではの特性

bull  IT 資産がプログラマブルにbull  グローバル展開可用性無制限のキャパシティbull  高レベルなマネージドサービスbull  Built-‐‑‒in Security

10

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

10 の設計プリンシプルbull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティ12

スケーラビリティ

Scalability

スケーラビリティ

bull  運用中のシステムを拡張縮小させる能力力

bull  スケーラビリティを生かすことで可能になることOslash 柔軟性の向上(事業の必要性に応じたリソース確保)Oslash コスト削減(必要な時に必要な分だけのリソース確保)

bull  スケールの種類Oslash 水平スケーリング(スケールアウトスケールイン)Oslash 垂直スケーリング(スケールアップスケールダウン)

Scalability14

水平垂直のスケーリングの比較bull  垂直スケーリング

(スケールアップスケールダウン) Oslash  個々のリソースのスペックを増減Oslash  リソースの限界が存在Oslash  インスタンスの停止が伴う

bull  水平スケーリング (スケールアウトスケールイン) Oslash  リソースの台数を増減Oslash  論論理理的には限界が存在しないOslash  インスタンスの停止が伴わない

small large

Scalability

small

small small small

small small small

small small small

15

水平スケーリングを行行うために心がけることbull  ステートレスアプリケーションコンポーネント

Oslash ステートフルになる要素を水平スケールするリソースの外部に配置-  セッション情報はDynamoDBElastiCache へ-  バイナリファイル ログなどは Amazon S3 へ

bull  ステートフルになるコンポーネントをどう扱うかOslash 水平スケールするマネージドサービスの利利用Oslash 水平スケールができない場合に注意すべき制約を洗い出す

bull  分散処理理(今までのやり方を見見直す)Oslash 長時間かかっていた単一のタスクを分割できないか検討

-  1台のサーバで4時間かかるタスクを4台のサーバで1時間でこなすbull  商用ライセンスの扱い

Oslash ライセンスの提供元に確認 Scalability16

ステートレスにするためのセッション情報の扱い

Oslash  スケールアウト時-  スケールアウトしたリソースが使われにくい

Oslash  スケールイン時-  セッションも一緒に落落とすことになるので困難

WebApp

Auto Scaling

ELBClient13

WebApp

Scalability

bull  セッション情報を水平スケールさせたいコンポーネントで持つと

WebApp

セッション 既存ユーザのセッションは既存のコンポーネントにあるためリクエストは同じリソースへ

Sticky Session

スケールアウトしたリソースを活かしにくい

WebApp

Auto Scaling

ELBClient13

WebApp

セッション インスタンスを削除すると既存ユーザのセッション情報も失われてしまう(ログアウトされた挙動となる)

Sticky Session

17

ステートレスにするためのセッション情報の扱いbull  スケールさせやすくするためにセッション情報は外だし

WebApp

Auto Scaling

ELBClient13 WebApp

DynamoDBセッション情報

ElastiCache

or

書き換えられても問題ない情報肥大化の恐れがない情報はClient-‐‑‒Side で保持することも可能

Client-‐‑‒Side で書き換えられると困る情報はServer-‐‑‒Side で保持

Scalability

各リソースに固有の情報がないのでいつでも増減しやすい

18

固定資産から可処分資産へ

Disposable Resources Instead of Fixed Servers

今まで(オンプレミス)bull  固定のリソースで運用

Oslash  リソース購入は前払いOslash  リソース追加には長いリードタイムrarr 事前のサイジングが必須

リソースに対する考え方

AWSbull  固定資産ではない

Oslash  使い捨て可能なソフトウェア (いつでも増減変更更可能)rarr 事前のサイジングは不不要

Disposable Resources Instead of Fixed Servers

タスクが増えたらインスタンスを増やして対応

タスクが完了了したらシャットダウン

サイジングにより決まった台数スペック

追加には長時間かかる

20

マインドセットを変える

AWSbull  リソースが常に存在する変更更しない前提の設計運用を止めるOslash  自動化Oslash  DNS によるアクセスOslash  バッチスケジュールの見見直しOslash  利利用時間帯の確認

Disposable Resources Instead of Fixed Servers

今まで(オンプレミス)bull  固定リソース運用により助長されがちなプラクティスOslash  手作業による設定変更更Oslash  IP アドレスのハードコードOslash  シーケンシャルな処理理Oslash  常に電源 ON

21

自動化

bull  水平スケールも自動的にbull  水平スケールしたインスタンスに対する設定も自動的に

Oslash  EC2 ユーザーデータメタデータ-  httpdocsawsamazoncomja_jpAWSEC2latestUserGuideec2-‐‑‒instance-‐‑‒metadatahtml

Oslash 構成管理理ツール(Chef Puppet などの3rd party ツール)

bull  次のプリンシプルも参照

Disposable Resources Instead of Fixed Servers 22

DNS によるアクセス

bull  固定 IP アドレスアクセスによる弊害の例例

Disposable Resources Instead of Fixed Servers 23

スケールイン時

100051 100052 100051 100052

100052直打ちでのアクセス

使用率率率が低くなったのでスケールイン

バッチスケジュールの見見直し

bull  並列列化で早く終わらせるOslash  1台で n 時間もn台で 1時間も料料金金は同じ

Disposable Resources Instead of Fixed Servers 24

時間1h 2h 3h

タスク1

タスク2

タスク3

タスク1

タスク2

タスク3

時間1h 2h 3h

利利用時間帯の確認

bull  固定資産ではないので常に稼働させる必要はないbull  実際のワークロード利利用時間帯に合わせて稼働させる必要がない時間は落落としてコスト節約につなげる

Disposable Resources Instead of Fixed Servers 25

可処分所得にするためのポイント

bull  AMI スナップショット戦略略(いつでもリソースを作成できるように準備)Oslash 全部入り AMIOslash BootstrappingOslash Hybrid(AMI と Bootstrapping の組み合わせ)

bull  Infrastructure as CodeOslash 個々のリソースだけでなくシステム全体をいつでも作成できるよう準備(例例)バッチシステムを CloudFormation で作成し完了了したら削除

Disposable Resources Instead of Fixed Servers 26

AMI 戦略略

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

EC2

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

アプリコード

Amazon S3

Log4JSpring

Struts

Linux

J2EE

Hibernate

Tomcat

Apache

Linux

J2EE

アプリコード

Amazon S3

Hibernate

TomcatLog4J

Spring

StrutsApache

EC2

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

EC2

Linux

JEE

Linux

JEE

Chef

Chef

スクリプト

Java AMIJavaスタック Java AMI AMI

起動時取得

起動時取得 起動時取得

[1]全部入りAMI [2]部分設定済 AMI [3]最小構成AMI

27 Disposable Resources Instead of Fixed Servers

AMI 戦略略 ProsCons

方式 利利点 欠点[1]全部入りAMI 同一性の確保

起動時間が早いデプロイ毎にAMIを作り直す必要がある(作成プロセスを自動化すれば欠点とはならない)

[2]部分設定済AMI あとはアプリコードのみ最新を取得すれば良良く扱いやすい

[3]最小構成AMI 柔軟に中身を変更更できる 起動処理理に時間がかかる場合によっては外部ライブラリが取得できないことも

28 Disposable Resources Instead of Fixed Servers

AWS CloudFormation

bull  特徴 (httpawsamazoncomjpcloudformation)Oslash テンプレートを元にEC2やELBといったAWSリソースの環境構築を自動化

Oslash  JSON YAMLフォーマットのテキストでテンプレートを自由に記述可能

Oslash  Microsoft Windows Server や SAP HANA などのリファレンス実装を用意(httpawsamazoncomquickstart)

bull  価格体系 (httpawsamazoncomjpcloudformationpricing)Oslash  追加料料金金はありません

AWS リソース(Amazon EC2 インスタンスや Elastic Load Balancing ロードバランサーなど)に対してお支払いいただきます

設定管理理 amp クラウドのオーケストレーション サービス

スタック

EC2Auto Scaling

テンプレート(設定ファイル)

テンプレートに基づき各リソースが自動起動

EC2

Cloud Formation

29 Disposable Resources Instead of Fixed Servers

自動化

Automation

自動化

bull  自動化を意識識することで得られるメリットOslash オペミス防止などの安定した運用Oslash 運用負荷の軽減Oslash 可用性の向上

bull  AWS と自動化Oslash API で動作するので自動化しやすいOslash 自動化をサポートするサービスが豊富

Automation31

自動化をサポートする代表的なサービス機能

Automation

bull  AWS Elastic Beanstalkbull  AWS OpsWorksbull  Auto Scalingbull  Amazon EC2 Auto Recoverybull  Amazon CloudWatch Alarmsbull  Amazon CloudWatch Eventsbull  AWS Lambda Scheduled events

32

AWS ElasticBeanstalk

bull  特徴 (httpawsamazoncomjpelasticbeanstalk)Oslash  速く簡単にアプリケーションをデプロイ可能Oslash  インフラストラクチャの準備運営からアプリケーションスタックの管理理まで自動化

Oslash  Auto Scaling によりコストを抑えながらスケーラビリティを確保

Oslash  Java PHP Ruby Python Nodejs NET Docker などに対応

bull  価格体系 (httpawsamazoncomjpelasticbeanstalkpricing)Oslash  追加料料金金なしOslash  アプリケーションの保存実行行に必要なAWSリソース (EC2 S3 RDS DynamoDB など) に対してのみ課金金

インフラ構成の構築アプリデプロイの自動化サービス

Automation33

AWS OpsWorks

bull  特徴 (httpawsamazoncomjpopsworks)Oslash  Chefのレシピを使ってデプロイや運用タスクを自動化可能

Oslash  ライフサイクルイベントにより動的な構成変更更への対応が可能

Oslash  継続的な構成管理理bull  価格体系 (httpawsamazoncomjpelasticloadbalancingpricing)

Oslash  AWS OpsWorks自体の利利用は無料料Oslash  (OpsWorksエージェントをオンプレミスサーバで利利用する場合はその起動時間)

アプリケーションのデプロイ管理理サービス

AWS OpsWorks13

スタック

LBレイヤー

Webレイヤー

DBレイヤー

EC2インスタンス上のOpsWorksエージェント

Automation34

Auto Scaling

bull  特徴 (httpawsamazoncomjpautoscaling)Oslash  Amazon EC2インスタンス群を自動的にスケール

Oslash  耐障害性の向上(インスタンスの異異常を検知して新しいインスタンスを起動)

Oslash  EC2インスタンスの起動料料金金の最適化bull  価格体系 (httpawsamazoncomjpautoscalingpricing)

Oslash  Auto Scaling自体の利利用は無料料Oslash  Auto Scalingによって起動されるEC2インスタンスの起動料料金金

EC2インスタンスを負荷またはスケジュールに応じて自動増減

Auto Scaling group13

Desired Capacity

必要に応じて追加されるCapacity

起動設定bull  インスタンスタイプbull  AMI など

Automation35

Amazon CloudWatch

bull  特徴 (httpawsamazoncomjpcloudwatch)Oslash  AWSリソースの死活性能ログ監視Oslash  取得メトリックスのグラフ化Oslash  各メトリックスに対してアラーム作成

bull  価格体系 (httpawsamazoncomjpcloudwatchpricing)Oslash  基本モニタリング(5分間隔)は無料料Oslash  (利利用する場合) 詳細モニタリングOslash  (利利用する場合)カスタムメトリックスAPIリクエストアラームログ等

AWSの各種リソースを監視するサービス

Automation36

AWS Lambda

bull  特徴 (httpawsamazoncomjplambda)Oslash  OSキャパシティ等インフラの管理理不不要Oslash  S3KinesisSNS等でのイベント発生を元にユーザが用意したコード(Nodejs)を実行行

Oslash  ユーザアプリからの同期非同期呼び出し

bull  価格体系 (httpawsamazoncomjplambdapricing)Oslash  コード実行行時間(100ms単位)Oslash  Lambdaファンクションへのリクエスト回数Oslash  1月あたり100万リクエスト400000GB秒が無料料で利利用可能

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

AWS Lambda Amazon S3 Bucket イベント

元画像 サムネイル画像 1

2

3

AWS Lambda Amazon DynamoDB Table and Stream

プッシュ通知

別テーブルを更更新

イメージのリサイズやサムネイルの作成

値チェックや別テーブルへのコピー

Automation37

水平スケーリングの自動化

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

bull  システムの状況を監視し自動的にスケールアウトイン

38 Automation

水平スケーリングの自動化bull  システムの状況を監視し自動的にスケールアウトインbull  スケールアウトしたインスタンスはユーザーデータのカスタムスクリプトなどで自動設定

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

39 Automation

インスタンスの復復旧も自動化

Automation

bull  Auto Scaling による自動復復旧(Auto Healing)

bull  EC2 Auto Recovery による自動復復旧

サーバークラッシュ

代替リソースが自動的に起動

Auto Scaling group min = 1

40

運用も自動化

Automation

bull  Amazon CloudWatch Events を利利用した運用自動化Oslash Amazon EBS の自動スナップショットOslash  EC2 インスタンスの停止削除

bull  AWS Lambda のスケジュール実行行Oslash プログラムを書いてカスタムな運用項目を自動化

41

疎結合

Loose Coupling

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 10: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

クラウドコンピューティングならではの特性

bull  IT 資産がプログラマブルにbull  グローバル展開可用性無制限のキャパシティbull  高レベルなマネージドサービスbull  Built-‐‑‒in Security

10

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

10 の設計プリンシプルbull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティ12

スケーラビリティ

Scalability

スケーラビリティ

bull  運用中のシステムを拡張縮小させる能力力

bull  スケーラビリティを生かすことで可能になることOslash 柔軟性の向上(事業の必要性に応じたリソース確保)Oslash コスト削減(必要な時に必要な分だけのリソース確保)

bull  スケールの種類Oslash 水平スケーリング(スケールアウトスケールイン)Oslash 垂直スケーリング(スケールアップスケールダウン)

Scalability14

水平垂直のスケーリングの比較bull  垂直スケーリング

(スケールアップスケールダウン) Oslash  個々のリソースのスペックを増減Oslash  リソースの限界が存在Oslash  インスタンスの停止が伴う

bull  水平スケーリング (スケールアウトスケールイン) Oslash  リソースの台数を増減Oslash  論論理理的には限界が存在しないOslash  インスタンスの停止が伴わない

small large

Scalability

small

small small small

small small small

small small small

15

水平スケーリングを行行うために心がけることbull  ステートレスアプリケーションコンポーネント

Oslash ステートフルになる要素を水平スケールするリソースの外部に配置-  セッション情報はDynamoDBElastiCache へ-  バイナリファイル ログなどは Amazon S3 へ

bull  ステートフルになるコンポーネントをどう扱うかOslash 水平スケールするマネージドサービスの利利用Oslash 水平スケールができない場合に注意すべき制約を洗い出す

bull  分散処理理(今までのやり方を見見直す)Oslash 長時間かかっていた単一のタスクを分割できないか検討

-  1台のサーバで4時間かかるタスクを4台のサーバで1時間でこなすbull  商用ライセンスの扱い

Oslash ライセンスの提供元に確認 Scalability16

ステートレスにするためのセッション情報の扱い

Oslash  スケールアウト時-  スケールアウトしたリソースが使われにくい

Oslash  スケールイン時-  セッションも一緒に落落とすことになるので困難

WebApp

Auto Scaling

ELBClient13

WebApp

Scalability

bull  セッション情報を水平スケールさせたいコンポーネントで持つと

WebApp

セッション 既存ユーザのセッションは既存のコンポーネントにあるためリクエストは同じリソースへ

Sticky Session

スケールアウトしたリソースを活かしにくい

WebApp

Auto Scaling

ELBClient13

WebApp

セッション インスタンスを削除すると既存ユーザのセッション情報も失われてしまう(ログアウトされた挙動となる)

Sticky Session

17

ステートレスにするためのセッション情報の扱いbull  スケールさせやすくするためにセッション情報は外だし

WebApp

Auto Scaling

ELBClient13 WebApp

DynamoDBセッション情報

ElastiCache

or

書き換えられても問題ない情報肥大化の恐れがない情報はClient-‐‑‒Side で保持することも可能

Client-‐‑‒Side で書き換えられると困る情報はServer-‐‑‒Side で保持

Scalability

各リソースに固有の情報がないのでいつでも増減しやすい

18

固定資産から可処分資産へ

Disposable Resources Instead of Fixed Servers

今まで(オンプレミス)bull  固定のリソースで運用

Oslash  リソース購入は前払いOslash  リソース追加には長いリードタイムrarr 事前のサイジングが必須

リソースに対する考え方

AWSbull  固定資産ではない

Oslash  使い捨て可能なソフトウェア (いつでも増減変更更可能)rarr 事前のサイジングは不不要

Disposable Resources Instead of Fixed Servers

タスクが増えたらインスタンスを増やして対応

タスクが完了了したらシャットダウン

サイジングにより決まった台数スペック

追加には長時間かかる

20

マインドセットを変える

AWSbull  リソースが常に存在する変更更しない前提の設計運用を止めるOslash  自動化Oslash  DNS によるアクセスOslash  バッチスケジュールの見見直しOslash  利利用時間帯の確認

Disposable Resources Instead of Fixed Servers

今まで(オンプレミス)bull  固定リソース運用により助長されがちなプラクティスOslash  手作業による設定変更更Oslash  IP アドレスのハードコードOslash  シーケンシャルな処理理Oslash  常に電源 ON

21

自動化

bull  水平スケールも自動的にbull  水平スケールしたインスタンスに対する設定も自動的に

Oslash  EC2 ユーザーデータメタデータ-  httpdocsawsamazoncomja_jpAWSEC2latestUserGuideec2-‐‑‒instance-‐‑‒metadatahtml

Oslash 構成管理理ツール(Chef Puppet などの3rd party ツール)

bull  次のプリンシプルも参照

Disposable Resources Instead of Fixed Servers 22

DNS によるアクセス

bull  固定 IP アドレスアクセスによる弊害の例例

Disposable Resources Instead of Fixed Servers 23

スケールイン時

100051 100052 100051 100052

100052直打ちでのアクセス

使用率率率が低くなったのでスケールイン

バッチスケジュールの見見直し

bull  並列列化で早く終わらせるOslash  1台で n 時間もn台で 1時間も料料金金は同じ

Disposable Resources Instead of Fixed Servers 24

時間1h 2h 3h

タスク1

タスク2

タスク3

タスク1

タスク2

タスク3

時間1h 2h 3h

利利用時間帯の確認

bull  固定資産ではないので常に稼働させる必要はないbull  実際のワークロード利利用時間帯に合わせて稼働させる必要がない時間は落落としてコスト節約につなげる

Disposable Resources Instead of Fixed Servers 25

可処分所得にするためのポイント

bull  AMI スナップショット戦略略(いつでもリソースを作成できるように準備)Oslash 全部入り AMIOslash BootstrappingOslash Hybrid(AMI と Bootstrapping の組み合わせ)

bull  Infrastructure as CodeOslash 個々のリソースだけでなくシステム全体をいつでも作成できるよう準備(例例)バッチシステムを CloudFormation で作成し完了了したら削除

Disposable Resources Instead of Fixed Servers 26

AMI 戦略略

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

EC2

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

アプリコード

Amazon S3

Log4JSpring

Struts

Linux

J2EE

Hibernate

Tomcat

Apache

Linux

J2EE

アプリコード

Amazon S3

Hibernate

TomcatLog4J

Spring

StrutsApache

EC2

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

EC2

Linux

JEE

Linux

JEE

Chef

Chef

スクリプト

Java AMIJavaスタック Java AMI AMI

起動時取得

起動時取得 起動時取得

[1]全部入りAMI [2]部分設定済 AMI [3]最小構成AMI

27 Disposable Resources Instead of Fixed Servers

AMI 戦略略 ProsCons

方式 利利点 欠点[1]全部入りAMI 同一性の確保

起動時間が早いデプロイ毎にAMIを作り直す必要がある(作成プロセスを自動化すれば欠点とはならない)

[2]部分設定済AMI あとはアプリコードのみ最新を取得すれば良良く扱いやすい

[3]最小構成AMI 柔軟に中身を変更更できる 起動処理理に時間がかかる場合によっては外部ライブラリが取得できないことも

28 Disposable Resources Instead of Fixed Servers

AWS CloudFormation

bull  特徴 (httpawsamazoncomjpcloudformation)Oslash テンプレートを元にEC2やELBといったAWSリソースの環境構築を自動化

Oslash  JSON YAMLフォーマットのテキストでテンプレートを自由に記述可能

Oslash  Microsoft Windows Server や SAP HANA などのリファレンス実装を用意(httpawsamazoncomquickstart)

bull  価格体系 (httpawsamazoncomjpcloudformationpricing)Oslash  追加料料金金はありません

AWS リソース(Amazon EC2 インスタンスや Elastic Load Balancing ロードバランサーなど)に対してお支払いいただきます

設定管理理 amp クラウドのオーケストレーション サービス

スタック

EC2Auto Scaling

テンプレート(設定ファイル)

テンプレートに基づき各リソースが自動起動

EC2

Cloud Formation

29 Disposable Resources Instead of Fixed Servers

自動化

Automation

自動化

bull  自動化を意識識することで得られるメリットOslash オペミス防止などの安定した運用Oslash 運用負荷の軽減Oslash 可用性の向上

bull  AWS と自動化Oslash API で動作するので自動化しやすいOslash 自動化をサポートするサービスが豊富

Automation31

自動化をサポートする代表的なサービス機能

Automation

bull  AWS Elastic Beanstalkbull  AWS OpsWorksbull  Auto Scalingbull  Amazon EC2 Auto Recoverybull  Amazon CloudWatch Alarmsbull  Amazon CloudWatch Eventsbull  AWS Lambda Scheduled events

32

AWS ElasticBeanstalk

bull  特徴 (httpawsamazoncomjpelasticbeanstalk)Oslash  速く簡単にアプリケーションをデプロイ可能Oslash  インフラストラクチャの準備運営からアプリケーションスタックの管理理まで自動化

Oslash  Auto Scaling によりコストを抑えながらスケーラビリティを確保

Oslash  Java PHP Ruby Python Nodejs NET Docker などに対応

bull  価格体系 (httpawsamazoncomjpelasticbeanstalkpricing)Oslash  追加料料金金なしOslash  アプリケーションの保存実行行に必要なAWSリソース (EC2 S3 RDS DynamoDB など) に対してのみ課金金

インフラ構成の構築アプリデプロイの自動化サービス

Automation33

AWS OpsWorks

bull  特徴 (httpawsamazoncomjpopsworks)Oslash  Chefのレシピを使ってデプロイや運用タスクを自動化可能

Oslash  ライフサイクルイベントにより動的な構成変更更への対応が可能

Oslash  継続的な構成管理理bull  価格体系 (httpawsamazoncomjpelasticloadbalancingpricing)

Oslash  AWS OpsWorks自体の利利用は無料料Oslash  (OpsWorksエージェントをオンプレミスサーバで利利用する場合はその起動時間)

アプリケーションのデプロイ管理理サービス

AWS OpsWorks13

スタック

LBレイヤー

Webレイヤー

DBレイヤー

EC2インスタンス上のOpsWorksエージェント

Automation34

Auto Scaling

bull  特徴 (httpawsamazoncomjpautoscaling)Oslash  Amazon EC2インスタンス群を自動的にスケール

Oslash  耐障害性の向上(インスタンスの異異常を検知して新しいインスタンスを起動)

Oslash  EC2インスタンスの起動料料金金の最適化bull  価格体系 (httpawsamazoncomjpautoscalingpricing)

Oslash  Auto Scaling自体の利利用は無料料Oslash  Auto Scalingによって起動されるEC2インスタンスの起動料料金金

EC2インスタンスを負荷またはスケジュールに応じて自動増減

Auto Scaling group13

Desired Capacity

必要に応じて追加されるCapacity

起動設定bull  インスタンスタイプbull  AMI など

Automation35

Amazon CloudWatch

bull  特徴 (httpawsamazoncomjpcloudwatch)Oslash  AWSリソースの死活性能ログ監視Oslash  取得メトリックスのグラフ化Oslash  各メトリックスに対してアラーム作成

bull  価格体系 (httpawsamazoncomjpcloudwatchpricing)Oslash  基本モニタリング(5分間隔)は無料料Oslash  (利利用する場合) 詳細モニタリングOslash  (利利用する場合)カスタムメトリックスAPIリクエストアラームログ等

AWSの各種リソースを監視するサービス

Automation36

AWS Lambda

bull  特徴 (httpawsamazoncomjplambda)Oslash  OSキャパシティ等インフラの管理理不不要Oslash  S3KinesisSNS等でのイベント発生を元にユーザが用意したコード(Nodejs)を実行行

Oslash  ユーザアプリからの同期非同期呼び出し

bull  価格体系 (httpawsamazoncomjplambdapricing)Oslash  コード実行行時間(100ms単位)Oslash  Lambdaファンクションへのリクエスト回数Oslash  1月あたり100万リクエスト400000GB秒が無料料で利利用可能

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

AWS Lambda Amazon S3 Bucket イベント

元画像 サムネイル画像 1

2

3

AWS Lambda Amazon DynamoDB Table and Stream

プッシュ通知

別テーブルを更更新

イメージのリサイズやサムネイルの作成

値チェックや別テーブルへのコピー

Automation37

水平スケーリングの自動化

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

bull  システムの状況を監視し自動的にスケールアウトイン

38 Automation

水平スケーリングの自動化bull  システムの状況を監視し自動的にスケールアウトインbull  スケールアウトしたインスタンスはユーザーデータのカスタムスクリプトなどで自動設定

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

39 Automation

インスタンスの復復旧も自動化

Automation

bull  Auto Scaling による自動復復旧(Auto Healing)

bull  EC2 Auto Recovery による自動復復旧

サーバークラッシュ

代替リソースが自動的に起動

Auto Scaling group min = 1

40

運用も自動化

Automation

bull  Amazon CloudWatch Events を利利用した運用自動化Oslash Amazon EBS の自動スナップショットOslash  EC2 インスタンスの停止削除

bull  AWS Lambda のスケジュール実行行Oslash プログラムを書いてカスタムな運用項目を自動化

41

疎結合

Loose Coupling

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 11: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

10 の設計プリンシプルbull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティ12

スケーラビリティ

Scalability

スケーラビリティ

bull  運用中のシステムを拡張縮小させる能力力

bull  スケーラビリティを生かすことで可能になることOslash 柔軟性の向上(事業の必要性に応じたリソース確保)Oslash コスト削減(必要な時に必要な分だけのリソース確保)

bull  スケールの種類Oslash 水平スケーリング(スケールアウトスケールイン)Oslash 垂直スケーリング(スケールアップスケールダウン)

Scalability14

水平垂直のスケーリングの比較bull  垂直スケーリング

(スケールアップスケールダウン) Oslash  個々のリソースのスペックを増減Oslash  リソースの限界が存在Oslash  インスタンスの停止が伴う

bull  水平スケーリング (スケールアウトスケールイン) Oslash  リソースの台数を増減Oslash  論論理理的には限界が存在しないOslash  インスタンスの停止が伴わない

small large

Scalability

small

small small small

small small small

small small small

15

水平スケーリングを行行うために心がけることbull  ステートレスアプリケーションコンポーネント

Oslash ステートフルになる要素を水平スケールするリソースの外部に配置-  セッション情報はDynamoDBElastiCache へ-  バイナリファイル ログなどは Amazon S3 へ

bull  ステートフルになるコンポーネントをどう扱うかOslash 水平スケールするマネージドサービスの利利用Oslash 水平スケールができない場合に注意すべき制約を洗い出す

bull  分散処理理(今までのやり方を見見直す)Oslash 長時間かかっていた単一のタスクを分割できないか検討

-  1台のサーバで4時間かかるタスクを4台のサーバで1時間でこなすbull  商用ライセンスの扱い

Oslash ライセンスの提供元に確認 Scalability16

ステートレスにするためのセッション情報の扱い

Oslash  スケールアウト時-  スケールアウトしたリソースが使われにくい

Oslash  スケールイン時-  セッションも一緒に落落とすことになるので困難

WebApp

Auto Scaling

ELBClient13

WebApp

Scalability

bull  セッション情報を水平スケールさせたいコンポーネントで持つと

WebApp

セッション 既存ユーザのセッションは既存のコンポーネントにあるためリクエストは同じリソースへ

Sticky Session

スケールアウトしたリソースを活かしにくい

WebApp

Auto Scaling

ELBClient13

WebApp

セッション インスタンスを削除すると既存ユーザのセッション情報も失われてしまう(ログアウトされた挙動となる)

Sticky Session

17

ステートレスにするためのセッション情報の扱いbull  スケールさせやすくするためにセッション情報は外だし

WebApp

Auto Scaling

ELBClient13 WebApp

DynamoDBセッション情報

ElastiCache

or

書き換えられても問題ない情報肥大化の恐れがない情報はClient-‐‑‒Side で保持することも可能

Client-‐‑‒Side で書き換えられると困る情報はServer-‐‑‒Side で保持

Scalability

各リソースに固有の情報がないのでいつでも増減しやすい

18

固定資産から可処分資産へ

Disposable Resources Instead of Fixed Servers

今まで(オンプレミス)bull  固定のリソースで運用

Oslash  リソース購入は前払いOslash  リソース追加には長いリードタイムrarr 事前のサイジングが必須

リソースに対する考え方

AWSbull  固定資産ではない

Oslash  使い捨て可能なソフトウェア (いつでも増減変更更可能)rarr 事前のサイジングは不不要

Disposable Resources Instead of Fixed Servers

タスクが増えたらインスタンスを増やして対応

タスクが完了了したらシャットダウン

サイジングにより決まった台数スペック

追加には長時間かかる

20

マインドセットを変える

AWSbull  リソースが常に存在する変更更しない前提の設計運用を止めるOslash  自動化Oslash  DNS によるアクセスOslash  バッチスケジュールの見見直しOslash  利利用時間帯の確認

Disposable Resources Instead of Fixed Servers

今まで(オンプレミス)bull  固定リソース運用により助長されがちなプラクティスOslash  手作業による設定変更更Oslash  IP アドレスのハードコードOslash  シーケンシャルな処理理Oslash  常に電源 ON

21

自動化

bull  水平スケールも自動的にbull  水平スケールしたインスタンスに対する設定も自動的に

Oslash  EC2 ユーザーデータメタデータ-  httpdocsawsamazoncomja_jpAWSEC2latestUserGuideec2-‐‑‒instance-‐‑‒metadatahtml

Oslash 構成管理理ツール(Chef Puppet などの3rd party ツール)

bull  次のプリンシプルも参照

Disposable Resources Instead of Fixed Servers 22

DNS によるアクセス

bull  固定 IP アドレスアクセスによる弊害の例例

Disposable Resources Instead of Fixed Servers 23

スケールイン時

100051 100052 100051 100052

100052直打ちでのアクセス

使用率率率が低くなったのでスケールイン

バッチスケジュールの見見直し

bull  並列列化で早く終わらせるOslash  1台で n 時間もn台で 1時間も料料金金は同じ

Disposable Resources Instead of Fixed Servers 24

時間1h 2h 3h

タスク1

タスク2

タスク3

タスク1

タスク2

タスク3

時間1h 2h 3h

利利用時間帯の確認

bull  固定資産ではないので常に稼働させる必要はないbull  実際のワークロード利利用時間帯に合わせて稼働させる必要がない時間は落落としてコスト節約につなげる

Disposable Resources Instead of Fixed Servers 25

可処分所得にするためのポイント

bull  AMI スナップショット戦略略(いつでもリソースを作成できるように準備)Oslash 全部入り AMIOslash BootstrappingOslash Hybrid(AMI と Bootstrapping の組み合わせ)

bull  Infrastructure as CodeOslash 個々のリソースだけでなくシステム全体をいつでも作成できるよう準備(例例)バッチシステムを CloudFormation で作成し完了了したら削除

Disposable Resources Instead of Fixed Servers 26

AMI 戦略略

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

EC2

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

アプリコード

Amazon S3

Log4JSpring

Struts

Linux

J2EE

Hibernate

Tomcat

Apache

Linux

J2EE

アプリコード

Amazon S3

Hibernate

TomcatLog4J

Spring

StrutsApache

EC2

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

EC2

Linux

JEE

Linux

JEE

Chef

Chef

スクリプト

Java AMIJavaスタック Java AMI AMI

起動時取得

起動時取得 起動時取得

[1]全部入りAMI [2]部分設定済 AMI [3]最小構成AMI

27 Disposable Resources Instead of Fixed Servers

AMI 戦略略 ProsCons

方式 利利点 欠点[1]全部入りAMI 同一性の確保

起動時間が早いデプロイ毎にAMIを作り直す必要がある(作成プロセスを自動化すれば欠点とはならない)

[2]部分設定済AMI あとはアプリコードのみ最新を取得すれば良良く扱いやすい

[3]最小構成AMI 柔軟に中身を変更更できる 起動処理理に時間がかかる場合によっては外部ライブラリが取得できないことも

28 Disposable Resources Instead of Fixed Servers

AWS CloudFormation

bull  特徴 (httpawsamazoncomjpcloudformation)Oslash テンプレートを元にEC2やELBといったAWSリソースの環境構築を自動化

Oslash  JSON YAMLフォーマットのテキストでテンプレートを自由に記述可能

Oslash  Microsoft Windows Server や SAP HANA などのリファレンス実装を用意(httpawsamazoncomquickstart)

bull  価格体系 (httpawsamazoncomjpcloudformationpricing)Oslash  追加料料金金はありません

AWS リソース(Amazon EC2 インスタンスや Elastic Load Balancing ロードバランサーなど)に対してお支払いいただきます

設定管理理 amp クラウドのオーケストレーション サービス

スタック

EC2Auto Scaling

テンプレート(設定ファイル)

テンプレートに基づき各リソースが自動起動

EC2

Cloud Formation

29 Disposable Resources Instead of Fixed Servers

自動化

Automation

自動化

bull  自動化を意識識することで得られるメリットOslash オペミス防止などの安定した運用Oslash 運用負荷の軽減Oslash 可用性の向上

bull  AWS と自動化Oslash API で動作するので自動化しやすいOslash 自動化をサポートするサービスが豊富

Automation31

自動化をサポートする代表的なサービス機能

Automation

bull  AWS Elastic Beanstalkbull  AWS OpsWorksbull  Auto Scalingbull  Amazon EC2 Auto Recoverybull  Amazon CloudWatch Alarmsbull  Amazon CloudWatch Eventsbull  AWS Lambda Scheduled events

32

AWS ElasticBeanstalk

bull  特徴 (httpawsamazoncomjpelasticbeanstalk)Oslash  速く簡単にアプリケーションをデプロイ可能Oslash  インフラストラクチャの準備運営からアプリケーションスタックの管理理まで自動化

Oslash  Auto Scaling によりコストを抑えながらスケーラビリティを確保

Oslash  Java PHP Ruby Python Nodejs NET Docker などに対応

bull  価格体系 (httpawsamazoncomjpelasticbeanstalkpricing)Oslash  追加料料金金なしOslash  アプリケーションの保存実行行に必要なAWSリソース (EC2 S3 RDS DynamoDB など) に対してのみ課金金

インフラ構成の構築アプリデプロイの自動化サービス

Automation33

AWS OpsWorks

bull  特徴 (httpawsamazoncomjpopsworks)Oslash  Chefのレシピを使ってデプロイや運用タスクを自動化可能

Oslash  ライフサイクルイベントにより動的な構成変更更への対応が可能

Oslash  継続的な構成管理理bull  価格体系 (httpawsamazoncomjpelasticloadbalancingpricing)

Oslash  AWS OpsWorks自体の利利用は無料料Oslash  (OpsWorksエージェントをオンプレミスサーバで利利用する場合はその起動時間)

アプリケーションのデプロイ管理理サービス

AWS OpsWorks13

スタック

LBレイヤー

Webレイヤー

DBレイヤー

EC2インスタンス上のOpsWorksエージェント

Automation34

Auto Scaling

bull  特徴 (httpawsamazoncomjpautoscaling)Oslash  Amazon EC2インスタンス群を自動的にスケール

Oslash  耐障害性の向上(インスタンスの異異常を検知して新しいインスタンスを起動)

Oslash  EC2インスタンスの起動料料金金の最適化bull  価格体系 (httpawsamazoncomjpautoscalingpricing)

Oslash  Auto Scaling自体の利利用は無料料Oslash  Auto Scalingによって起動されるEC2インスタンスの起動料料金金

EC2インスタンスを負荷またはスケジュールに応じて自動増減

Auto Scaling group13

Desired Capacity

必要に応じて追加されるCapacity

起動設定bull  インスタンスタイプbull  AMI など

Automation35

Amazon CloudWatch

bull  特徴 (httpawsamazoncomjpcloudwatch)Oslash  AWSリソースの死活性能ログ監視Oslash  取得メトリックスのグラフ化Oslash  各メトリックスに対してアラーム作成

bull  価格体系 (httpawsamazoncomjpcloudwatchpricing)Oslash  基本モニタリング(5分間隔)は無料料Oslash  (利利用する場合) 詳細モニタリングOslash  (利利用する場合)カスタムメトリックスAPIリクエストアラームログ等

AWSの各種リソースを監視するサービス

Automation36

AWS Lambda

bull  特徴 (httpawsamazoncomjplambda)Oslash  OSキャパシティ等インフラの管理理不不要Oslash  S3KinesisSNS等でのイベント発生を元にユーザが用意したコード(Nodejs)を実行行

Oslash  ユーザアプリからの同期非同期呼び出し

bull  価格体系 (httpawsamazoncomjplambdapricing)Oslash  コード実行行時間(100ms単位)Oslash  Lambdaファンクションへのリクエスト回数Oslash  1月あたり100万リクエスト400000GB秒が無料料で利利用可能

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

AWS Lambda Amazon S3 Bucket イベント

元画像 サムネイル画像 1

2

3

AWS Lambda Amazon DynamoDB Table and Stream

プッシュ通知

別テーブルを更更新

イメージのリサイズやサムネイルの作成

値チェックや別テーブルへのコピー

Automation37

水平スケーリングの自動化

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

bull  システムの状況を監視し自動的にスケールアウトイン

38 Automation

水平スケーリングの自動化bull  システムの状況を監視し自動的にスケールアウトインbull  スケールアウトしたインスタンスはユーザーデータのカスタムスクリプトなどで自動設定

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

39 Automation

インスタンスの復復旧も自動化

Automation

bull  Auto Scaling による自動復復旧(Auto Healing)

bull  EC2 Auto Recovery による自動復復旧

サーバークラッシュ

代替リソースが自動的に起動

Auto Scaling group min = 1

40

運用も自動化

Automation

bull  Amazon CloudWatch Events を利利用した運用自動化Oslash Amazon EBS の自動スナップショットOslash  EC2 インスタンスの停止削除

bull  AWS Lambda のスケジュール実行行Oslash プログラムを書いてカスタムな運用項目を自動化

41

疎結合

Loose Coupling

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 12: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

10 の設計プリンシプルbull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティ12

スケーラビリティ

Scalability

スケーラビリティ

bull  運用中のシステムを拡張縮小させる能力力

bull  スケーラビリティを生かすことで可能になることOslash 柔軟性の向上(事業の必要性に応じたリソース確保)Oslash コスト削減(必要な時に必要な分だけのリソース確保)

bull  スケールの種類Oslash 水平スケーリング(スケールアウトスケールイン)Oslash 垂直スケーリング(スケールアップスケールダウン)

Scalability14

水平垂直のスケーリングの比較bull  垂直スケーリング

(スケールアップスケールダウン) Oslash  個々のリソースのスペックを増減Oslash  リソースの限界が存在Oslash  インスタンスの停止が伴う

bull  水平スケーリング (スケールアウトスケールイン) Oslash  リソースの台数を増減Oslash  論論理理的には限界が存在しないOslash  インスタンスの停止が伴わない

small large

Scalability

small

small small small

small small small

small small small

15

水平スケーリングを行行うために心がけることbull  ステートレスアプリケーションコンポーネント

Oslash ステートフルになる要素を水平スケールするリソースの外部に配置-  セッション情報はDynamoDBElastiCache へ-  バイナリファイル ログなどは Amazon S3 へ

bull  ステートフルになるコンポーネントをどう扱うかOslash 水平スケールするマネージドサービスの利利用Oslash 水平スケールができない場合に注意すべき制約を洗い出す

bull  分散処理理(今までのやり方を見見直す)Oslash 長時間かかっていた単一のタスクを分割できないか検討

-  1台のサーバで4時間かかるタスクを4台のサーバで1時間でこなすbull  商用ライセンスの扱い

Oslash ライセンスの提供元に確認 Scalability16

ステートレスにするためのセッション情報の扱い

Oslash  スケールアウト時-  スケールアウトしたリソースが使われにくい

Oslash  スケールイン時-  セッションも一緒に落落とすことになるので困難

WebApp

Auto Scaling

ELBClient13

WebApp

Scalability

bull  セッション情報を水平スケールさせたいコンポーネントで持つと

WebApp

セッション 既存ユーザのセッションは既存のコンポーネントにあるためリクエストは同じリソースへ

Sticky Session

スケールアウトしたリソースを活かしにくい

WebApp

Auto Scaling

ELBClient13

WebApp

セッション インスタンスを削除すると既存ユーザのセッション情報も失われてしまう(ログアウトされた挙動となる)

Sticky Session

17

ステートレスにするためのセッション情報の扱いbull  スケールさせやすくするためにセッション情報は外だし

WebApp

Auto Scaling

ELBClient13 WebApp

DynamoDBセッション情報

ElastiCache

or

書き換えられても問題ない情報肥大化の恐れがない情報はClient-‐‑‒Side で保持することも可能

Client-‐‑‒Side で書き換えられると困る情報はServer-‐‑‒Side で保持

Scalability

各リソースに固有の情報がないのでいつでも増減しやすい

18

固定資産から可処分資産へ

Disposable Resources Instead of Fixed Servers

今まで(オンプレミス)bull  固定のリソースで運用

Oslash  リソース購入は前払いOslash  リソース追加には長いリードタイムrarr 事前のサイジングが必須

リソースに対する考え方

AWSbull  固定資産ではない

Oslash  使い捨て可能なソフトウェア (いつでも増減変更更可能)rarr 事前のサイジングは不不要

Disposable Resources Instead of Fixed Servers

タスクが増えたらインスタンスを増やして対応

タスクが完了了したらシャットダウン

サイジングにより決まった台数スペック

追加には長時間かかる

20

マインドセットを変える

AWSbull  リソースが常に存在する変更更しない前提の設計運用を止めるOslash  自動化Oslash  DNS によるアクセスOslash  バッチスケジュールの見見直しOslash  利利用時間帯の確認

Disposable Resources Instead of Fixed Servers

今まで(オンプレミス)bull  固定リソース運用により助長されがちなプラクティスOslash  手作業による設定変更更Oslash  IP アドレスのハードコードOslash  シーケンシャルな処理理Oslash  常に電源 ON

21

自動化

bull  水平スケールも自動的にbull  水平スケールしたインスタンスに対する設定も自動的に

Oslash  EC2 ユーザーデータメタデータ-  httpdocsawsamazoncomja_jpAWSEC2latestUserGuideec2-‐‑‒instance-‐‑‒metadatahtml

Oslash 構成管理理ツール(Chef Puppet などの3rd party ツール)

bull  次のプリンシプルも参照

Disposable Resources Instead of Fixed Servers 22

DNS によるアクセス

bull  固定 IP アドレスアクセスによる弊害の例例

Disposable Resources Instead of Fixed Servers 23

スケールイン時

100051 100052 100051 100052

100052直打ちでのアクセス

使用率率率が低くなったのでスケールイン

バッチスケジュールの見見直し

bull  並列列化で早く終わらせるOslash  1台で n 時間もn台で 1時間も料料金金は同じ

Disposable Resources Instead of Fixed Servers 24

時間1h 2h 3h

タスク1

タスク2

タスク3

タスク1

タスク2

タスク3

時間1h 2h 3h

利利用時間帯の確認

bull  固定資産ではないので常に稼働させる必要はないbull  実際のワークロード利利用時間帯に合わせて稼働させる必要がない時間は落落としてコスト節約につなげる

Disposable Resources Instead of Fixed Servers 25

可処分所得にするためのポイント

bull  AMI スナップショット戦略略(いつでもリソースを作成できるように準備)Oslash 全部入り AMIOslash BootstrappingOslash Hybrid(AMI と Bootstrapping の組み合わせ)

bull  Infrastructure as CodeOslash 個々のリソースだけでなくシステム全体をいつでも作成できるよう準備(例例)バッチシステムを CloudFormation で作成し完了了したら削除

Disposable Resources Instead of Fixed Servers 26

AMI 戦略略

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

EC2

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

アプリコード

Amazon S3

Log4JSpring

Struts

Linux

J2EE

Hibernate

Tomcat

Apache

Linux

J2EE

アプリコード

Amazon S3

Hibernate

TomcatLog4J

Spring

StrutsApache

EC2

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

EC2

Linux

JEE

Linux

JEE

Chef

Chef

スクリプト

Java AMIJavaスタック Java AMI AMI

起動時取得

起動時取得 起動時取得

[1]全部入りAMI [2]部分設定済 AMI [3]最小構成AMI

27 Disposable Resources Instead of Fixed Servers

AMI 戦略略 ProsCons

方式 利利点 欠点[1]全部入りAMI 同一性の確保

起動時間が早いデプロイ毎にAMIを作り直す必要がある(作成プロセスを自動化すれば欠点とはならない)

[2]部分設定済AMI あとはアプリコードのみ最新を取得すれば良良く扱いやすい

[3]最小構成AMI 柔軟に中身を変更更できる 起動処理理に時間がかかる場合によっては外部ライブラリが取得できないことも

28 Disposable Resources Instead of Fixed Servers

AWS CloudFormation

bull  特徴 (httpawsamazoncomjpcloudformation)Oslash テンプレートを元にEC2やELBといったAWSリソースの環境構築を自動化

Oslash  JSON YAMLフォーマットのテキストでテンプレートを自由に記述可能

Oslash  Microsoft Windows Server や SAP HANA などのリファレンス実装を用意(httpawsamazoncomquickstart)

bull  価格体系 (httpawsamazoncomjpcloudformationpricing)Oslash  追加料料金金はありません

AWS リソース(Amazon EC2 インスタンスや Elastic Load Balancing ロードバランサーなど)に対してお支払いいただきます

設定管理理 amp クラウドのオーケストレーション サービス

スタック

EC2Auto Scaling

テンプレート(設定ファイル)

テンプレートに基づき各リソースが自動起動

EC2

Cloud Formation

29 Disposable Resources Instead of Fixed Servers

自動化

Automation

自動化

bull  自動化を意識識することで得られるメリットOslash オペミス防止などの安定した運用Oslash 運用負荷の軽減Oslash 可用性の向上

bull  AWS と自動化Oslash API で動作するので自動化しやすいOslash 自動化をサポートするサービスが豊富

Automation31

自動化をサポートする代表的なサービス機能

Automation

bull  AWS Elastic Beanstalkbull  AWS OpsWorksbull  Auto Scalingbull  Amazon EC2 Auto Recoverybull  Amazon CloudWatch Alarmsbull  Amazon CloudWatch Eventsbull  AWS Lambda Scheduled events

32

AWS ElasticBeanstalk

bull  特徴 (httpawsamazoncomjpelasticbeanstalk)Oslash  速く簡単にアプリケーションをデプロイ可能Oslash  インフラストラクチャの準備運営からアプリケーションスタックの管理理まで自動化

Oslash  Auto Scaling によりコストを抑えながらスケーラビリティを確保

Oslash  Java PHP Ruby Python Nodejs NET Docker などに対応

bull  価格体系 (httpawsamazoncomjpelasticbeanstalkpricing)Oslash  追加料料金金なしOslash  アプリケーションの保存実行行に必要なAWSリソース (EC2 S3 RDS DynamoDB など) に対してのみ課金金

インフラ構成の構築アプリデプロイの自動化サービス

Automation33

AWS OpsWorks

bull  特徴 (httpawsamazoncomjpopsworks)Oslash  Chefのレシピを使ってデプロイや運用タスクを自動化可能

Oslash  ライフサイクルイベントにより動的な構成変更更への対応が可能

Oslash  継続的な構成管理理bull  価格体系 (httpawsamazoncomjpelasticloadbalancingpricing)

Oslash  AWS OpsWorks自体の利利用は無料料Oslash  (OpsWorksエージェントをオンプレミスサーバで利利用する場合はその起動時間)

アプリケーションのデプロイ管理理サービス

AWS OpsWorks13

スタック

LBレイヤー

Webレイヤー

DBレイヤー

EC2インスタンス上のOpsWorksエージェント

Automation34

Auto Scaling

bull  特徴 (httpawsamazoncomjpautoscaling)Oslash  Amazon EC2インスタンス群を自動的にスケール

Oslash  耐障害性の向上(インスタンスの異異常を検知して新しいインスタンスを起動)

Oslash  EC2インスタンスの起動料料金金の最適化bull  価格体系 (httpawsamazoncomjpautoscalingpricing)

Oslash  Auto Scaling自体の利利用は無料料Oslash  Auto Scalingによって起動されるEC2インスタンスの起動料料金金

EC2インスタンスを負荷またはスケジュールに応じて自動増減

Auto Scaling group13

Desired Capacity

必要に応じて追加されるCapacity

起動設定bull  インスタンスタイプbull  AMI など

Automation35

Amazon CloudWatch

bull  特徴 (httpawsamazoncomjpcloudwatch)Oslash  AWSリソースの死活性能ログ監視Oslash  取得メトリックスのグラフ化Oslash  各メトリックスに対してアラーム作成

bull  価格体系 (httpawsamazoncomjpcloudwatchpricing)Oslash  基本モニタリング(5分間隔)は無料料Oslash  (利利用する場合) 詳細モニタリングOslash  (利利用する場合)カスタムメトリックスAPIリクエストアラームログ等

AWSの各種リソースを監視するサービス

Automation36

AWS Lambda

bull  特徴 (httpawsamazoncomjplambda)Oslash  OSキャパシティ等インフラの管理理不不要Oslash  S3KinesisSNS等でのイベント発生を元にユーザが用意したコード(Nodejs)を実行行

Oslash  ユーザアプリからの同期非同期呼び出し

bull  価格体系 (httpawsamazoncomjplambdapricing)Oslash  コード実行行時間(100ms単位)Oslash  Lambdaファンクションへのリクエスト回数Oslash  1月あたり100万リクエスト400000GB秒が無料料で利利用可能

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

AWS Lambda Amazon S3 Bucket イベント

元画像 サムネイル画像 1

2

3

AWS Lambda Amazon DynamoDB Table and Stream

プッシュ通知

別テーブルを更更新

イメージのリサイズやサムネイルの作成

値チェックや別テーブルへのコピー

Automation37

水平スケーリングの自動化

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

bull  システムの状況を監視し自動的にスケールアウトイン

38 Automation

水平スケーリングの自動化bull  システムの状況を監視し自動的にスケールアウトインbull  スケールアウトしたインスタンスはユーザーデータのカスタムスクリプトなどで自動設定

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

39 Automation

インスタンスの復復旧も自動化

Automation

bull  Auto Scaling による自動復復旧(Auto Healing)

bull  EC2 Auto Recovery による自動復復旧

サーバークラッシュ

代替リソースが自動的に起動

Auto Scaling group min = 1

40

運用も自動化

Automation

bull  Amazon CloudWatch Events を利利用した運用自動化Oslash Amazon EBS の自動スナップショットOslash  EC2 インスタンスの停止削除

bull  AWS Lambda のスケジュール実行行Oslash プログラムを書いてカスタムな運用項目を自動化

41

疎結合

Loose Coupling

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 13: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

スケーラビリティ

Scalability

スケーラビリティ

bull  運用中のシステムを拡張縮小させる能力力

bull  スケーラビリティを生かすことで可能になることOslash 柔軟性の向上(事業の必要性に応じたリソース確保)Oslash コスト削減(必要な時に必要な分だけのリソース確保)

bull  スケールの種類Oslash 水平スケーリング(スケールアウトスケールイン)Oslash 垂直スケーリング(スケールアップスケールダウン)

Scalability14

水平垂直のスケーリングの比較bull  垂直スケーリング

(スケールアップスケールダウン) Oslash  個々のリソースのスペックを増減Oslash  リソースの限界が存在Oslash  インスタンスの停止が伴う

bull  水平スケーリング (スケールアウトスケールイン) Oslash  リソースの台数を増減Oslash  論論理理的には限界が存在しないOslash  インスタンスの停止が伴わない

small large

Scalability

small

small small small

small small small

small small small

15

水平スケーリングを行行うために心がけることbull  ステートレスアプリケーションコンポーネント

Oslash ステートフルになる要素を水平スケールするリソースの外部に配置-  セッション情報はDynamoDBElastiCache へ-  バイナリファイル ログなどは Amazon S3 へ

bull  ステートフルになるコンポーネントをどう扱うかOslash 水平スケールするマネージドサービスの利利用Oslash 水平スケールができない場合に注意すべき制約を洗い出す

bull  分散処理理(今までのやり方を見見直す)Oslash 長時間かかっていた単一のタスクを分割できないか検討

-  1台のサーバで4時間かかるタスクを4台のサーバで1時間でこなすbull  商用ライセンスの扱い

Oslash ライセンスの提供元に確認 Scalability16

ステートレスにするためのセッション情報の扱い

Oslash  スケールアウト時-  スケールアウトしたリソースが使われにくい

Oslash  スケールイン時-  セッションも一緒に落落とすことになるので困難

WebApp

Auto Scaling

ELBClient13

WebApp

Scalability

bull  セッション情報を水平スケールさせたいコンポーネントで持つと

WebApp

セッション 既存ユーザのセッションは既存のコンポーネントにあるためリクエストは同じリソースへ

Sticky Session

スケールアウトしたリソースを活かしにくい

WebApp

Auto Scaling

ELBClient13

WebApp

セッション インスタンスを削除すると既存ユーザのセッション情報も失われてしまう(ログアウトされた挙動となる)

Sticky Session

17

ステートレスにするためのセッション情報の扱いbull  スケールさせやすくするためにセッション情報は外だし

WebApp

Auto Scaling

ELBClient13 WebApp

DynamoDBセッション情報

ElastiCache

or

書き換えられても問題ない情報肥大化の恐れがない情報はClient-‐‑‒Side で保持することも可能

Client-‐‑‒Side で書き換えられると困る情報はServer-‐‑‒Side で保持

Scalability

各リソースに固有の情報がないのでいつでも増減しやすい

18

固定資産から可処分資産へ

Disposable Resources Instead of Fixed Servers

今まで(オンプレミス)bull  固定のリソースで運用

Oslash  リソース購入は前払いOslash  リソース追加には長いリードタイムrarr 事前のサイジングが必須

リソースに対する考え方

AWSbull  固定資産ではない

Oslash  使い捨て可能なソフトウェア (いつでも増減変更更可能)rarr 事前のサイジングは不不要

Disposable Resources Instead of Fixed Servers

タスクが増えたらインスタンスを増やして対応

タスクが完了了したらシャットダウン

サイジングにより決まった台数スペック

追加には長時間かかる

20

マインドセットを変える

AWSbull  リソースが常に存在する変更更しない前提の設計運用を止めるOslash  自動化Oslash  DNS によるアクセスOslash  バッチスケジュールの見見直しOslash  利利用時間帯の確認

Disposable Resources Instead of Fixed Servers

今まで(オンプレミス)bull  固定リソース運用により助長されがちなプラクティスOslash  手作業による設定変更更Oslash  IP アドレスのハードコードOslash  シーケンシャルな処理理Oslash  常に電源 ON

21

自動化

bull  水平スケールも自動的にbull  水平スケールしたインスタンスに対する設定も自動的に

Oslash  EC2 ユーザーデータメタデータ-  httpdocsawsamazoncomja_jpAWSEC2latestUserGuideec2-‐‑‒instance-‐‑‒metadatahtml

Oslash 構成管理理ツール(Chef Puppet などの3rd party ツール)

bull  次のプリンシプルも参照

Disposable Resources Instead of Fixed Servers 22

DNS によるアクセス

bull  固定 IP アドレスアクセスによる弊害の例例

Disposable Resources Instead of Fixed Servers 23

スケールイン時

100051 100052 100051 100052

100052直打ちでのアクセス

使用率率率が低くなったのでスケールイン

バッチスケジュールの見見直し

bull  並列列化で早く終わらせるOslash  1台で n 時間もn台で 1時間も料料金金は同じ

Disposable Resources Instead of Fixed Servers 24

時間1h 2h 3h

タスク1

タスク2

タスク3

タスク1

タスク2

タスク3

時間1h 2h 3h

利利用時間帯の確認

bull  固定資産ではないので常に稼働させる必要はないbull  実際のワークロード利利用時間帯に合わせて稼働させる必要がない時間は落落としてコスト節約につなげる

Disposable Resources Instead of Fixed Servers 25

可処分所得にするためのポイント

bull  AMI スナップショット戦略略(いつでもリソースを作成できるように準備)Oslash 全部入り AMIOslash BootstrappingOslash Hybrid(AMI と Bootstrapping の組み合わせ)

bull  Infrastructure as CodeOslash 個々のリソースだけでなくシステム全体をいつでも作成できるよう準備(例例)バッチシステムを CloudFormation で作成し完了了したら削除

Disposable Resources Instead of Fixed Servers 26

AMI 戦略略

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

EC2

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

アプリコード

Amazon S3

Log4JSpring

Struts

Linux

J2EE

Hibernate

Tomcat

Apache

Linux

J2EE

アプリコード

Amazon S3

Hibernate

TomcatLog4J

Spring

StrutsApache

EC2

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

EC2

Linux

JEE

Linux

JEE

Chef

Chef

スクリプト

Java AMIJavaスタック Java AMI AMI

起動時取得

起動時取得 起動時取得

[1]全部入りAMI [2]部分設定済 AMI [3]最小構成AMI

27 Disposable Resources Instead of Fixed Servers

AMI 戦略略 ProsCons

方式 利利点 欠点[1]全部入りAMI 同一性の確保

起動時間が早いデプロイ毎にAMIを作り直す必要がある(作成プロセスを自動化すれば欠点とはならない)

[2]部分設定済AMI あとはアプリコードのみ最新を取得すれば良良く扱いやすい

[3]最小構成AMI 柔軟に中身を変更更できる 起動処理理に時間がかかる場合によっては外部ライブラリが取得できないことも

28 Disposable Resources Instead of Fixed Servers

AWS CloudFormation

bull  特徴 (httpawsamazoncomjpcloudformation)Oslash テンプレートを元にEC2やELBといったAWSリソースの環境構築を自動化

Oslash  JSON YAMLフォーマットのテキストでテンプレートを自由に記述可能

Oslash  Microsoft Windows Server や SAP HANA などのリファレンス実装を用意(httpawsamazoncomquickstart)

bull  価格体系 (httpawsamazoncomjpcloudformationpricing)Oslash  追加料料金金はありません

AWS リソース(Amazon EC2 インスタンスや Elastic Load Balancing ロードバランサーなど)に対してお支払いいただきます

設定管理理 amp クラウドのオーケストレーション サービス

スタック

EC2Auto Scaling

テンプレート(設定ファイル)

テンプレートに基づき各リソースが自動起動

EC2

Cloud Formation

29 Disposable Resources Instead of Fixed Servers

自動化

Automation

自動化

bull  自動化を意識識することで得られるメリットOslash オペミス防止などの安定した運用Oslash 運用負荷の軽減Oslash 可用性の向上

bull  AWS と自動化Oslash API で動作するので自動化しやすいOslash 自動化をサポートするサービスが豊富

Automation31

自動化をサポートする代表的なサービス機能

Automation

bull  AWS Elastic Beanstalkbull  AWS OpsWorksbull  Auto Scalingbull  Amazon EC2 Auto Recoverybull  Amazon CloudWatch Alarmsbull  Amazon CloudWatch Eventsbull  AWS Lambda Scheduled events

32

AWS ElasticBeanstalk

bull  特徴 (httpawsamazoncomjpelasticbeanstalk)Oslash  速く簡単にアプリケーションをデプロイ可能Oslash  インフラストラクチャの準備運営からアプリケーションスタックの管理理まで自動化

Oslash  Auto Scaling によりコストを抑えながらスケーラビリティを確保

Oslash  Java PHP Ruby Python Nodejs NET Docker などに対応

bull  価格体系 (httpawsamazoncomjpelasticbeanstalkpricing)Oslash  追加料料金金なしOslash  アプリケーションの保存実行行に必要なAWSリソース (EC2 S3 RDS DynamoDB など) に対してのみ課金金

インフラ構成の構築アプリデプロイの自動化サービス

Automation33

AWS OpsWorks

bull  特徴 (httpawsamazoncomjpopsworks)Oslash  Chefのレシピを使ってデプロイや運用タスクを自動化可能

Oslash  ライフサイクルイベントにより動的な構成変更更への対応が可能

Oslash  継続的な構成管理理bull  価格体系 (httpawsamazoncomjpelasticloadbalancingpricing)

Oslash  AWS OpsWorks自体の利利用は無料料Oslash  (OpsWorksエージェントをオンプレミスサーバで利利用する場合はその起動時間)

アプリケーションのデプロイ管理理サービス

AWS OpsWorks13

スタック

LBレイヤー

Webレイヤー

DBレイヤー

EC2インスタンス上のOpsWorksエージェント

Automation34

Auto Scaling

bull  特徴 (httpawsamazoncomjpautoscaling)Oslash  Amazon EC2インスタンス群を自動的にスケール

Oslash  耐障害性の向上(インスタンスの異異常を検知して新しいインスタンスを起動)

Oslash  EC2インスタンスの起動料料金金の最適化bull  価格体系 (httpawsamazoncomjpautoscalingpricing)

Oslash  Auto Scaling自体の利利用は無料料Oslash  Auto Scalingによって起動されるEC2インスタンスの起動料料金金

EC2インスタンスを負荷またはスケジュールに応じて自動増減

Auto Scaling group13

Desired Capacity

必要に応じて追加されるCapacity

起動設定bull  インスタンスタイプbull  AMI など

Automation35

Amazon CloudWatch

bull  特徴 (httpawsamazoncomjpcloudwatch)Oslash  AWSリソースの死活性能ログ監視Oslash  取得メトリックスのグラフ化Oslash  各メトリックスに対してアラーム作成

bull  価格体系 (httpawsamazoncomjpcloudwatchpricing)Oslash  基本モニタリング(5分間隔)は無料料Oslash  (利利用する場合) 詳細モニタリングOslash  (利利用する場合)カスタムメトリックスAPIリクエストアラームログ等

AWSの各種リソースを監視するサービス

Automation36

AWS Lambda

bull  特徴 (httpawsamazoncomjplambda)Oslash  OSキャパシティ等インフラの管理理不不要Oslash  S3KinesisSNS等でのイベント発生を元にユーザが用意したコード(Nodejs)を実行行

Oslash  ユーザアプリからの同期非同期呼び出し

bull  価格体系 (httpawsamazoncomjplambdapricing)Oslash  コード実行行時間(100ms単位)Oslash  Lambdaファンクションへのリクエスト回数Oslash  1月あたり100万リクエスト400000GB秒が無料料で利利用可能

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

AWS Lambda Amazon S3 Bucket イベント

元画像 サムネイル画像 1

2

3

AWS Lambda Amazon DynamoDB Table and Stream

プッシュ通知

別テーブルを更更新

イメージのリサイズやサムネイルの作成

値チェックや別テーブルへのコピー

Automation37

水平スケーリングの自動化

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

bull  システムの状況を監視し自動的にスケールアウトイン

38 Automation

水平スケーリングの自動化bull  システムの状況を監視し自動的にスケールアウトインbull  スケールアウトしたインスタンスはユーザーデータのカスタムスクリプトなどで自動設定

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

39 Automation

インスタンスの復復旧も自動化

Automation

bull  Auto Scaling による自動復復旧(Auto Healing)

bull  EC2 Auto Recovery による自動復復旧

サーバークラッシュ

代替リソースが自動的に起動

Auto Scaling group min = 1

40

運用も自動化

Automation

bull  Amazon CloudWatch Events を利利用した運用自動化Oslash Amazon EBS の自動スナップショットOslash  EC2 インスタンスの停止削除

bull  AWS Lambda のスケジュール実行行Oslash プログラムを書いてカスタムな運用項目を自動化

41

疎結合

Loose Coupling

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 14: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

スケーラビリティ

bull  運用中のシステムを拡張縮小させる能力力

bull  スケーラビリティを生かすことで可能になることOslash 柔軟性の向上(事業の必要性に応じたリソース確保)Oslash コスト削減(必要な時に必要な分だけのリソース確保)

bull  スケールの種類Oslash 水平スケーリング(スケールアウトスケールイン)Oslash 垂直スケーリング(スケールアップスケールダウン)

Scalability14

水平垂直のスケーリングの比較bull  垂直スケーリング

(スケールアップスケールダウン) Oslash  個々のリソースのスペックを増減Oslash  リソースの限界が存在Oslash  インスタンスの停止が伴う

bull  水平スケーリング (スケールアウトスケールイン) Oslash  リソースの台数を増減Oslash  論論理理的には限界が存在しないOslash  インスタンスの停止が伴わない

small large

Scalability

small

small small small

small small small

small small small

15

水平スケーリングを行行うために心がけることbull  ステートレスアプリケーションコンポーネント

Oslash ステートフルになる要素を水平スケールするリソースの外部に配置-  セッション情報はDynamoDBElastiCache へ-  バイナリファイル ログなどは Amazon S3 へ

bull  ステートフルになるコンポーネントをどう扱うかOslash 水平スケールするマネージドサービスの利利用Oslash 水平スケールができない場合に注意すべき制約を洗い出す

bull  分散処理理(今までのやり方を見見直す)Oslash 長時間かかっていた単一のタスクを分割できないか検討

-  1台のサーバで4時間かかるタスクを4台のサーバで1時間でこなすbull  商用ライセンスの扱い

Oslash ライセンスの提供元に確認 Scalability16

ステートレスにするためのセッション情報の扱い

Oslash  スケールアウト時-  スケールアウトしたリソースが使われにくい

Oslash  スケールイン時-  セッションも一緒に落落とすことになるので困難

WebApp

Auto Scaling

ELBClient13

WebApp

Scalability

bull  セッション情報を水平スケールさせたいコンポーネントで持つと

WebApp

セッション 既存ユーザのセッションは既存のコンポーネントにあるためリクエストは同じリソースへ

Sticky Session

スケールアウトしたリソースを活かしにくい

WebApp

Auto Scaling

ELBClient13

WebApp

セッション インスタンスを削除すると既存ユーザのセッション情報も失われてしまう(ログアウトされた挙動となる)

Sticky Session

17

ステートレスにするためのセッション情報の扱いbull  スケールさせやすくするためにセッション情報は外だし

WebApp

Auto Scaling

ELBClient13 WebApp

DynamoDBセッション情報

ElastiCache

or

書き換えられても問題ない情報肥大化の恐れがない情報はClient-‐‑‒Side で保持することも可能

Client-‐‑‒Side で書き換えられると困る情報はServer-‐‑‒Side で保持

Scalability

各リソースに固有の情報がないのでいつでも増減しやすい

18

固定資産から可処分資産へ

Disposable Resources Instead of Fixed Servers

今まで(オンプレミス)bull  固定のリソースで運用

Oslash  リソース購入は前払いOslash  リソース追加には長いリードタイムrarr 事前のサイジングが必須

リソースに対する考え方

AWSbull  固定資産ではない

Oslash  使い捨て可能なソフトウェア (いつでも増減変更更可能)rarr 事前のサイジングは不不要

Disposable Resources Instead of Fixed Servers

タスクが増えたらインスタンスを増やして対応

タスクが完了了したらシャットダウン

サイジングにより決まった台数スペック

追加には長時間かかる

20

マインドセットを変える

AWSbull  リソースが常に存在する変更更しない前提の設計運用を止めるOslash  自動化Oslash  DNS によるアクセスOslash  バッチスケジュールの見見直しOslash  利利用時間帯の確認

Disposable Resources Instead of Fixed Servers

今まで(オンプレミス)bull  固定リソース運用により助長されがちなプラクティスOslash  手作業による設定変更更Oslash  IP アドレスのハードコードOslash  シーケンシャルな処理理Oslash  常に電源 ON

21

自動化

bull  水平スケールも自動的にbull  水平スケールしたインスタンスに対する設定も自動的に

Oslash  EC2 ユーザーデータメタデータ-  httpdocsawsamazoncomja_jpAWSEC2latestUserGuideec2-‐‑‒instance-‐‑‒metadatahtml

Oslash 構成管理理ツール(Chef Puppet などの3rd party ツール)

bull  次のプリンシプルも参照

Disposable Resources Instead of Fixed Servers 22

DNS によるアクセス

bull  固定 IP アドレスアクセスによる弊害の例例

Disposable Resources Instead of Fixed Servers 23

スケールイン時

100051 100052 100051 100052

100052直打ちでのアクセス

使用率率率が低くなったのでスケールイン

バッチスケジュールの見見直し

bull  並列列化で早く終わらせるOslash  1台で n 時間もn台で 1時間も料料金金は同じ

Disposable Resources Instead of Fixed Servers 24

時間1h 2h 3h

タスク1

タスク2

タスク3

タスク1

タスク2

タスク3

時間1h 2h 3h

利利用時間帯の確認

bull  固定資産ではないので常に稼働させる必要はないbull  実際のワークロード利利用時間帯に合わせて稼働させる必要がない時間は落落としてコスト節約につなげる

Disposable Resources Instead of Fixed Servers 25

可処分所得にするためのポイント

bull  AMI スナップショット戦略略(いつでもリソースを作成できるように準備)Oslash 全部入り AMIOslash BootstrappingOslash Hybrid(AMI と Bootstrapping の組み合わせ)

bull  Infrastructure as CodeOslash 個々のリソースだけでなくシステム全体をいつでも作成できるよう準備(例例)バッチシステムを CloudFormation で作成し完了了したら削除

Disposable Resources Instead of Fixed Servers 26

AMI 戦略略

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

EC2

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

アプリコード

Amazon S3

Log4JSpring

Struts

Linux

J2EE

Hibernate

Tomcat

Apache

Linux

J2EE

アプリコード

Amazon S3

Hibernate

TomcatLog4J

Spring

StrutsApache

EC2

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

EC2

Linux

JEE

Linux

JEE

Chef

Chef

スクリプト

Java AMIJavaスタック Java AMI AMI

起動時取得

起動時取得 起動時取得

[1]全部入りAMI [2]部分設定済 AMI [3]最小構成AMI

27 Disposable Resources Instead of Fixed Servers

AMI 戦略略 ProsCons

方式 利利点 欠点[1]全部入りAMI 同一性の確保

起動時間が早いデプロイ毎にAMIを作り直す必要がある(作成プロセスを自動化すれば欠点とはならない)

[2]部分設定済AMI あとはアプリコードのみ最新を取得すれば良良く扱いやすい

[3]最小構成AMI 柔軟に中身を変更更できる 起動処理理に時間がかかる場合によっては外部ライブラリが取得できないことも

28 Disposable Resources Instead of Fixed Servers

AWS CloudFormation

bull  特徴 (httpawsamazoncomjpcloudformation)Oslash テンプレートを元にEC2やELBといったAWSリソースの環境構築を自動化

Oslash  JSON YAMLフォーマットのテキストでテンプレートを自由に記述可能

Oslash  Microsoft Windows Server や SAP HANA などのリファレンス実装を用意(httpawsamazoncomquickstart)

bull  価格体系 (httpawsamazoncomjpcloudformationpricing)Oslash  追加料料金金はありません

AWS リソース(Amazon EC2 インスタンスや Elastic Load Balancing ロードバランサーなど)に対してお支払いいただきます

設定管理理 amp クラウドのオーケストレーション サービス

スタック

EC2Auto Scaling

テンプレート(設定ファイル)

テンプレートに基づき各リソースが自動起動

EC2

Cloud Formation

29 Disposable Resources Instead of Fixed Servers

自動化

Automation

自動化

bull  自動化を意識識することで得られるメリットOslash オペミス防止などの安定した運用Oslash 運用負荷の軽減Oslash 可用性の向上

bull  AWS と自動化Oslash API で動作するので自動化しやすいOslash 自動化をサポートするサービスが豊富

Automation31

自動化をサポートする代表的なサービス機能

Automation

bull  AWS Elastic Beanstalkbull  AWS OpsWorksbull  Auto Scalingbull  Amazon EC2 Auto Recoverybull  Amazon CloudWatch Alarmsbull  Amazon CloudWatch Eventsbull  AWS Lambda Scheduled events

32

AWS ElasticBeanstalk

bull  特徴 (httpawsamazoncomjpelasticbeanstalk)Oslash  速く簡単にアプリケーションをデプロイ可能Oslash  インフラストラクチャの準備運営からアプリケーションスタックの管理理まで自動化

Oslash  Auto Scaling によりコストを抑えながらスケーラビリティを確保

Oslash  Java PHP Ruby Python Nodejs NET Docker などに対応

bull  価格体系 (httpawsamazoncomjpelasticbeanstalkpricing)Oslash  追加料料金金なしOslash  アプリケーションの保存実行行に必要なAWSリソース (EC2 S3 RDS DynamoDB など) に対してのみ課金金

インフラ構成の構築アプリデプロイの自動化サービス

Automation33

AWS OpsWorks

bull  特徴 (httpawsamazoncomjpopsworks)Oslash  Chefのレシピを使ってデプロイや運用タスクを自動化可能

Oslash  ライフサイクルイベントにより動的な構成変更更への対応が可能

Oslash  継続的な構成管理理bull  価格体系 (httpawsamazoncomjpelasticloadbalancingpricing)

Oslash  AWS OpsWorks自体の利利用は無料料Oslash  (OpsWorksエージェントをオンプレミスサーバで利利用する場合はその起動時間)

アプリケーションのデプロイ管理理サービス

AWS OpsWorks13

スタック

LBレイヤー

Webレイヤー

DBレイヤー

EC2インスタンス上のOpsWorksエージェント

Automation34

Auto Scaling

bull  特徴 (httpawsamazoncomjpautoscaling)Oslash  Amazon EC2インスタンス群を自動的にスケール

Oslash  耐障害性の向上(インスタンスの異異常を検知して新しいインスタンスを起動)

Oslash  EC2インスタンスの起動料料金金の最適化bull  価格体系 (httpawsamazoncomjpautoscalingpricing)

Oslash  Auto Scaling自体の利利用は無料料Oslash  Auto Scalingによって起動されるEC2インスタンスの起動料料金金

EC2インスタンスを負荷またはスケジュールに応じて自動増減

Auto Scaling group13

Desired Capacity

必要に応じて追加されるCapacity

起動設定bull  インスタンスタイプbull  AMI など

Automation35

Amazon CloudWatch

bull  特徴 (httpawsamazoncomjpcloudwatch)Oslash  AWSリソースの死活性能ログ監視Oslash  取得メトリックスのグラフ化Oslash  各メトリックスに対してアラーム作成

bull  価格体系 (httpawsamazoncomjpcloudwatchpricing)Oslash  基本モニタリング(5分間隔)は無料料Oslash  (利利用する場合) 詳細モニタリングOslash  (利利用する場合)カスタムメトリックスAPIリクエストアラームログ等

AWSの各種リソースを監視するサービス

Automation36

AWS Lambda

bull  特徴 (httpawsamazoncomjplambda)Oslash  OSキャパシティ等インフラの管理理不不要Oslash  S3KinesisSNS等でのイベント発生を元にユーザが用意したコード(Nodejs)を実行行

Oslash  ユーザアプリからの同期非同期呼び出し

bull  価格体系 (httpawsamazoncomjplambdapricing)Oslash  コード実行行時間(100ms単位)Oslash  Lambdaファンクションへのリクエスト回数Oslash  1月あたり100万リクエスト400000GB秒が無料料で利利用可能

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

AWS Lambda Amazon S3 Bucket イベント

元画像 サムネイル画像 1

2

3

AWS Lambda Amazon DynamoDB Table and Stream

プッシュ通知

別テーブルを更更新

イメージのリサイズやサムネイルの作成

値チェックや別テーブルへのコピー

Automation37

水平スケーリングの自動化

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

bull  システムの状況を監視し自動的にスケールアウトイン

38 Automation

水平スケーリングの自動化bull  システムの状況を監視し自動的にスケールアウトインbull  スケールアウトしたインスタンスはユーザーデータのカスタムスクリプトなどで自動設定

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

39 Automation

インスタンスの復復旧も自動化

Automation

bull  Auto Scaling による自動復復旧(Auto Healing)

bull  EC2 Auto Recovery による自動復復旧

サーバークラッシュ

代替リソースが自動的に起動

Auto Scaling group min = 1

40

運用も自動化

Automation

bull  Amazon CloudWatch Events を利利用した運用自動化Oslash Amazon EBS の自動スナップショットOslash  EC2 インスタンスの停止削除

bull  AWS Lambda のスケジュール実行行Oslash プログラムを書いてカスタムな運用項目を自動化

41

疎結合

Loose Coupling

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 15: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

水平垂直のスケーリングの比較bull  垂直スケーリング

(スケールアップスケールダウン) Oslash  個々のリソースのスペックを増減Oslash  リソースの限界が存在Oslash  インスタンスの停止が伴う

bull  水平スケーリング (スケールアウトスケールイン) Oslash  リソースの台数を増減Oslash  論論理理的には限界が存在しないOslash  インスタンスの停止が伴わない

small large

Scalability

small

small small small

small small small

small small small

15

水平スケーリングを行行うために心がけることbull  ステートレスアプリケーションコンポーネント

Oslash ステートフルになる要素を水平スケールするリソースの外部に配置-  セッション情報はDynamoDBElastiCache へ-  バイナリファイル ログなどは Amazon S3 へ

bull  ステートフルになるコンポーネントをどう扱うかOslash 水平スケールするマネージドサービスの利利用Oslash 水平スケールができない場合に注意すべき制約を洗い出す

bull  分散処理理(今までのやり方を見見直す)Oslash 長時間かかっていた単一のタスクを分割できないか検討

-  1台のサーバで4時間かかるタスクを4台のサーバで1時間でこなすbull  商用ライセンスの扱い

Oslash ライセンスの提供元に確認 Scalability16

ステートレスにするためのセッション情報の扱い

Oslash  スケールアウト時-  スケールアウトしたリソースが使われにくい

Oslash  スケールイン時-  セッションも一緒に落落とすことになるので困難

WebApp

Auto Scaling

ELBClient13

WebApp

Scalability

bull  セッション情報を水平スケールさせたいコンポーネントで持つと

WebApp

セッション 既存ユーザのセッションは既存のコンポーネントにあるためリクエストは同じリソースへ

Sticky Session

スケールアウトしたリソースを活かしにくい

WebApp

Auto Scaling

ELBClient13

WebApp

セッション インスタンスを削除すると既存ユーザのセッション情報も失われてしまう(ログアウトされた挙動となる)

Sticky Session

17

ステートレスにするためのセッション情報の扱いbull  スケールさせやすくするためにセッション情報は外だし

WebApp

Auto Scaling

ELBClient13 WebApp

DynamoDBセッション情報

ElastiCache

or

書き換えられても問題ない情報肥大化の恐れがない情報はClient-‐‑‒Side で保持することも可能

Client-‐‑‒Side で書き換えられると困る情報はServer-‐‑‒Side で保持

Scalability

各リソースに固有の情報がないのでいつでも増減しやすい

18

固定資産から可処分資産へ

Disposable Resources Instead of Fixed Servers

今まで(オンプレミス)bull  固定のリソースで運用

Oslash  リソース購入は前払いOslash  リソース追加には長いリードタイムrarr 事前のサイジングが必須

リソースに対する考え方

AWSbull  固定資産ではない

Oslash  使い捨て可能なソフトウェア (いつでも増減変更更可能)rarr 事前のサイジングは不不要

Disposable Resources Instead of Fixed Servers

タスクが増えたらインスタンスを増やして対応

タスクが完了了したらシャットダウン

サイジングにより決まった台数スペック

追加には長時間かかる

20

マインドセットを変える

AWSbull  リソースが常に存在する変更更しない前提の設計運用を止めるOslash  自動化Oslash  DNS によるアクセスOslash  バッチスケジュールの見見直しOslash  利利用時間帯の確認

Disposable Resources Instead of Fixed Servers

今まで(オンプレミス)bull  固定リソース運用により助長されがちなプラクティスOslash  手作業による設定変更更Oslash  IP アドレスのハードコードOslash  シーケンシャルな処理理Oslash  常に電源 ON

21

自動化

bull  水平スケールも自動的にbull  水平スケールしたインスタンスに対する設定も自動的に

Oslash  EC2 ユーザーデータメタデータ-  httpdocsawsamazoncomja_jpAWSEC2latestUserGuideec2-‐‑‒instance-‐‑‒metadatahtml

Oslash 構成管理理ツール(Chef Puppet などの3rd party ツール)

bull  次のプリンシプルも参照

Disposable Resources Instead of Fixed Servers 22

DNS によるアクセス

bull  固定 IP アドレスアクセスによる弊害の例例

Disposable Resources Instead of Fixed Servers 23

スケールイン時

100051 100052 100051 100052

100052直打ちでのアクセス

使用率率率が低くなったのでスケールイン

バッチスケジュールの見見直し

bull  並列列化で早く終わらせるOslash  1台で n 時間もn台で 1時間も料料金金は同じ

Disposable Resources Instead of Fixed Servers 24

時間1h 2h 3h

タスク1

タスク2

タスク3

タスク1

タスク2

タスク3

時間1h 2h 3h

利利用時間帯の確認

bull  固定資産ではないので常に稼働させる必要はないbull  実際のワークロード利利用時間帯に合わせて稼働させる必要がない時間は落落としてコスト節約につなげる

Disposable Resources Instead of Fixed Servers 25

可処分所得にするためのポイント

bull  AMI スナップショット戦略略(いつでもリソースを作成できるように準備)Oslash 全部入り AMIOslash BootstrappingOslash Hybrid(AMI と Bootstrapping の組み合わせ)

bull  Infrastructure as CodeOslash 個々のリソースだけでなくシステム全体をいつでも作成できるよう準備(例例)バッチシステムを CloudFormation で作成し完了了したら削除

Disposable Resources Instead of Fixed Servers 26

AMI 戦略略

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

EC2

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

アプリコード

Amazon S3

Log4JSpring

Struts

Linux

J2EE

Hibernate

Tomcat

Apache

Linux

J2EE

アプリコード

Amazon S3

Hibernate

TomcatLog4J

Spring

StrutsApache

EC2

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

EC2

Linux

JEE

Linux

JEE

Chef

Chef

スクリプト

Java AMIJavaスタック Java AMI AMI

起動時取得

起動時取得 起動時取得

[1]全部入りAMI [2]部分設定済 AMI [3]最小構成AMI

27 Disposable Resources Instead of Fixed Servers

AMI 戦略略 ProsCons

方式 利利点 欠点[1]全部入りAMI 同一性の確保

起動時間が早いデプロイ毎にAMIを作り直す必要がある(作成プロセスを自動化すれば欠点とはならない)

[2]部分設定済AMI あとはアプリコードのみ最新を取得すれば良良く扱いやすい

[3]最小構成AMI 柔軟に中身を変更更できる 起動処理理に時間がかかる場合によっては外部ライブラリが取得できないことも

28 Disposable Resources Instead of Fixed Servers

AWS CloudFormation

bull  特徴 (httpawsamazoncomjpcloudformation)Oslash テンプレートを元にEC2やELBといったAWSリソースの環境構築を自動化

Oslash  JSON YAMLフォーマットのテキストでテンプレートを自由に記述可能

Oslash  Microsoft Windows Server や SAP HANA などのリファレンス実装を用意(httpawsamazoncomquickstart)

bull  価格体系 (httpawsamazoncomjpcloudformationpricing)Oslash  追加料料金金はありません

AWS リソース(Amazon EC2 インスタンスや Elastic Load Balancing ロードバランサーなど)に対してお支払いいただきます

設定管理理 amp クラウドのオーケストレーション サービス

スタック

EC2Auto Scaling

テンプレート(設定ファイル)

テンプレートに基づき各リソースが自動起動

EC2

Cloud Formation

29 Disposable Resources Instead of Fixed Servers

自動化

Automation

自動化

bull  自動化を意識識することで得られるメリットOslash オペミス防止などの安定した運用Oslash 運用負荷の軽減Oslash 可用性の向上

bull  AWS と自動化Oslash API で動作するので自動化しやすいOslash 自動化をサポートするサービスが豊富

Automation31

自動化をサポートする代表的なサービス機能

Automation

bull  AWS Elastic Beanstalkbull  AWS OpsWorksbull  Auto Scalingbull  Amazon EC2 Auto Recoverybull  Amazon CloudWatch Alarmsbull  Amazon CloudWatch Eventsbull  AWS Lambda Scheduled events

32

AWS ElasticBeanstalk

bull  特徴 (httpawsamazoncomjpelasticbeanstalk)Oslash  速く簡単にアプリケーションをデプロイ可能Oslash  インフラストラクチャの準備運営からアプリケーションスタックの管理理まで自動化

Oslash  Auto Scaling によりコストを抑えながらスケーラビリティを確保

Oslash  Java PHP Ruby Python Nodejs NET Docker などに対応

bull  価格体系 (httpawsamazoncomjpelasticbeanstalkpricing)Oslash  追加料料金金なしOslash  アプリケーションの保存実行行に必要なAWSリソース (EC2 S3 RDS DynamoDB など) に対してのみ課金金

インフラ構成の構築アプリデプロイの自動化サービス

Automation33

AWS OpsWorks

bull  特徴 (httpawsamazoncomjpopsworks)Oslash  Chefのレシピを使ってデプロイや運用タスクを自動化可能

Oslash  ライフサイクルイベントにより動的な構成変更更への対応が可能

Oslash  継続的な構成管理理bull  価格体系 (httpawsamazoncomjpelasticloadbalancingpricing)

Oslash  AWS OpsWorks自体の利利用は無料料Oslash  (OpsWorksエージェントをオンプレミスサーバで利利用する場合はその起動時間)

アプリケーションのデプロイ管理理サービス

AWS OpsWorks13

スタック

LBレイヤー

Webレイヤー

DBレイヤー

EC2インスタンス上のOpsWorksエージェント

Automation34

Auto Scaling

bull  特徴 (httpawsamazoncomjpautoscaling)Oslash  Amazon EC2インスタンス群を自動的にスケール

Oslash  耐障害性の向上(インスタンスの異異常を検知して新しいインスタンスを起動)

Oslash  EC2インスタンスの起動料料金金の最適化bull  価格体系 (httpawsamazoncomjpautoscalingpricing)

Oslash  Auto Scaling自体の利利用は無料料Oslash  Auto Scalingによって起動されるEC2インスタンスの起動料料金金

EC2インスタンスを負荷またはスケジュールに応じて自動増減

Auto Scaling group13

Desired Capacity

必要に応じて追加されるCapacity

起動設定bull  インスタンスタイプbull  AMI など

Automation35

Amazon CloudWatch

bull  特徴 (httpawsamazoncomjpcloudwatch)Oslash  AWSリソースの死活性能ログ監視Oslash  取得メトリックスのグラフ化Oslash  各メトリックスに対してアラーム作成

bull  価格体系 (httpawsamazoncomjpcloudwatchpricing)Oslash  基本モニタリング(5分間隔)は無料料Oslash  (利利用する場合) 詳細モニタリングOslash  (利利用する場合)カスタムメトリックスAPIリクエストアラームログ等

AWSの各種リソースを監視するサービス

Automation36

AWS Lambda

bull  特徴 (httpawsamazoncomjplambda)Oslash  OSキャパシティ等インフラの管理理不不要Oslash  S3KinesisSNS等でのイベント発生を元にユーザが用意したコード(Nodejs)を実行行

Oslash  ユーザアプリからの同期非同期呼び出し

bull  価格体系 (httpawsamazoncomjplambdapricing)Oslash  コード実行行時間(100ms単位)Oslash  Lambdaファンクションへのリクエスト回数Oslash  1月あたり100万リクエスト400000GB秒が無料料で利利用可能

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

AWS Lambda Amazon S3 Bucket イベント

元画像 サムネイル画像 1

2

3

AWS Lambda Amazon DynamoDB Table and Stream

プッシュ通知

別テーブルを更更新

イメージのリサイズやサムネイルの作成

値チェックや別テーブルへのコピー

Automation37

水平スケーリングの自動化

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

bull  システムの状況を監視し自動的にスケールアウトイン

38 Automation

水平スケーリングの自動化bull  システムの状況を監視し自動的にスケールアウトインbull  スケールアウトしたインスタンスはユーザーデータのカスタムスクリプトなどで自動設定

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

39 Automation

インスタンスの復復旧も自動化

Automation

bull  Auto Scaling による自動復復旧(Auto Healing)

bull  EC2 Auto Recovery による自動復復旧

サーバークラッシュ

代替リソースが自動的に起動

Auto Scaling group min = 1

40

運用も自動化

Automation

bull  Amazon CloudWatch Events を利利用した運用自動化Oslash Amazon EBS の自動スナップショットOslash  EC2 インスタンスの停止削除

bull  AWS Lambda のスケジュール実行行Oslash プログラムを書いてカスタムな運用項目を自動化

41

疎結合

Loose Coupling

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 16: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

水平スケーリングを行行うために心がけることbull  ステートレスアプリケーションコンポーネント

Oslash ステートフルになる要素を水平スケールするリソースの外部に配置-  セッション情報はDynamoDBElastiCache へ-  バイナリファイル ログなどは Amazon S3 へ

bull  ステートフルになるコンポーネントをどう扱うかOslash 水平スケールするマネージドサービスの利利用Oslash 水平スケールができない場合に注意すべき制約を洗い出す

bull  分散処理理(今までのやり方を見見直す)Oslash 長時間かかっていた単一のタスクを分割できないか検討

-  1台のサーバで4時間かかるタスクを4台のサーバで1時間でこなすbull  商用ライセンスの扱い

Oslash ライセンスの提供元に確認 Scalability16

ステートレスにするためのセッション情報の扱い

Oslash  スケールアウト時-  スケールアウトしたリソースが使われにくい

Oslash  スケールイン時-  セッションも一緒に落落とすことになるので困難

WebApp

Auto Scaling

ELBClient13

WebApp

Scalability

bull  セッション情報を水平スケールさせたいコンポーネントで持つと

WebApp

セッション 既存ユーザのセッションは既存のコンポーネントにあるためリクエストは同じリソースへ

Sticky Session

スケールアウトしたリソースを活かしにくい

WebApp

Auto Scaling

ELBClient13

WebApp

セッション インスタンスを削除すると既存ユーザのセッション情報も失われてしまう(ログアウトされた挙動となる)

Sticky Session

17

ステートレスにするためのセッション情報の扱いbull  スケールさせやすくするためにセッション情報は外だし

WebApp

Auto Scaling

ELBClient13 WebApp

DynamoDBセッション情報

ElastiCache

or

書き換えられても問題ない情報肥大化の恐れがない情報はClient-‐‑‒Side で保持することも可能

Client-‐‑‒Side で書き換えられると困る情報はServer-‐‑‒Side で保持

Scalability

各リソースに固有の情報がないのでいつでも増減しやすい

18

固定資産から可処分資産へ

Disposable Resources Instead of Fixed Servers

今まで(オンプレミス)bull  固定のリソースで運用

Oslash  リソース購入は前払いOslash  リソース追加には長いリードタイムrarr 事前のサイジングが必須

リソースに対する考え方

AWSbull  固定資産ではない

Oslash  使い捨て可能なソフトウェア (いつでも増減変更更可能)rarr 事前のサイジングは不不要

Disposable Resources Instead of Fixed Servers

タスクが増えたらインスタンスを増やして対応

タスクが完了了したらシャットダウン

サイジングにより決まった台数スペック

追加には長時間かかる

20

マインドセットを変える

AWSbull  リソースが常に存在する変更更しない前提の設計運用を止めるOslash  自動化Oslash  DNS によるアクセスOslash  バッチスケジュールの見見直しOslash  利利用時間帯の確認

Disposable Resources Instead of Fixed Servers

今まで(オンプレミス)bull  固定リソース運用により助長されがちなプラクティスOslash  手作業による設定変更更Oslash  IP アドレスのハードコードOslash  シーケンシャルな処理理Oslash  常に電源 ON

21

自動化

bull  水平スケールも自動的にbull  水平スケールしたインスタンスに対する設定も自動的に

Oslash  EC2 ユーザーデータメタデータ-  httpdocsawsamazoncomja_jpAWSEC2latestUserGuideec2-‐‑‒instance-‐‑‒metadatahtml

Oslash 構成管理理ツール(Chef Puppet などの3rd party ツール)

bull  次のプリンシプルも参照

Disposable Resources Instead of Fixed Servers 22

DNS によるアクセス

bull  固定 IP アドレスアクセスによる弊害の例例

Disposable Resources Instead of Fixed Servers 23

スケールイン時

100051 100052 100051 100052

100052直打ちでのアクセス

使用率率率が低くなったのでスケールイン

バッチスケジュールの見見直し

bull  並列列化で早く終わらせるOslash  1台で n 時間もn台で 1時間も料料金金は同じ

Disposable Resources Instead of Fixed Servers 24

時間1h 2h 3h

タスク1

タスク2

タスク3

タスク1

タスク2

タスク3

時間1h 2h 3h

利利用時間帯の確認

bull  固定資産ではないので常に稼働させる必要はないbull  実際のワークロード利利用時間帯に合わせて稼働させる必要がない時間は落落としてコスト節約につなげる

Disposable Resources Instead of Fixed Servers 25

可処分所得にするためのポイント

bull  AMI スナップショット戦略略(いつでもリソースを作成できるように準備)Oslash 全部入り AMIOslash BootstrappingOslash Hybrid(AMI と Bootstrapping の組み合わせ)

bull  Infrastructure as CodeOslash 個々のリソースだけでなくシステム全体をいつでも作成できるよう準備(例例)バッチシステムを CloudFormation で作成し完了了したら削除

Disposable Resources Instead of Fixed Servers 26

AMI 戦略略

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

EC2

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

アプリコード

Amazon S3

Log4JSpring

Struts

Linux

J2EE

Hibernate

Tomcat

Apache

Linux

J2EE

アプリコード

Amazon S3

Hibernate

TomcatLog4J

Spring

StrutsApache

EC2

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

EC2

Linux

JEE

Linux

JEE

Chef

Chef

スクリプト

Java AMIJavaスタック Java AMI AMI

起動時取得

起動時取得 起動時取得

[1]全部入りAMI [2]部分設定済 AMI [3]最小構成AMI

27 Disposable Resources Instead of Fixed Servers

AMI 戦略略 ProsCons

方式 利利点 欠点[1]全部入りAMI 同一性の確保

起動時間が早いデプロイ毎にAMIを作り直す必要がある(作成プロセスを自動化すれば欠点とはならない)

[2]部分設定済AMI あとはアプリコードのみ最新を取得すれば良良く扱いやすい

[3]最小構成AMI 柔軟に中身を変更更できる 起動処理理に時間がかかる場合によっては外部ライブラリが取得できないことも

28 Disposable Resources Instead of Fixed Servers

AWS CloudFormation

bull  特徴 (httpawsamazoncomjpcloudformation)Oslash テンプレートを元にEC2やELBといったAWSリソースの環境構築を自動化

Oslash  JSON YAMLフォーマットのテキストでテンプレートを自由に記述可能

Oslash  Microsoft Windows Server や SAP HANA などのリファレンス実装を用意(httpawsamazoncomquickstart)

bull  価格体系 (httpawsamazoncomjpcloudformationpricing)Oslash  追加料料金金はありません

AWS リソース(Amazon EC2 インスタンスや Elastic Load Balancing ロードバランサーなど)に対してお支払いいただきます

設定管理理 amp クラウドのオーケストレーション サービス

スタック

EC2Auto Scaling

テンプレート(設定ファイル)

テンプレートに基づき各リソースが自動起動

EC2

Cloud Formation

29 Disposable Resources Instead of Fixed Servers

自動化

Automation

自動化

bull  自動化を意識識することで得られるメリットOslash オペミス防止などの安定した運用Oslash 運用負荷の軽減Oslash 可用性の向上

bull  AWS と自動化Oslash API で動作するので自動化しやすいOslash 自動化をサポートするサービスが豊富

Automation31

自動化をサポートする代表的なサービス機能

Automation

bull  AWS Elastic Beanstalkbull  AWS OpsWorksbull  Auto Scalingbull  Amazon EC2 Auto Recoverybull  Amazon CloudWatch Alarmsbull  Amazon CloudWatch Eventsbull  AWS Lambda Scheduled events

32

AWS ElasticBeanstalk

bull  特徴 (httpawsamazoncomjpelasticbeanstalk)Oslash  速く簡単にアプリケーションをデプロイ可能Oslash  インフラストラクチャの準備運営からアプリケーションスタックの管理理まで自動化

Oslash  Auto Scaling によりコストを抑えながらスケーラビリティを確保

Oslash  Java PHP Ruby Python Nodejs NET Docker などに対応

bull  価格体系 (httpawsamazoncomjpelasticbeanstalkpricing)Oslash  追加料料金金なしOslash  アプリケーションの保存実行行に必要なAWSリソース (EC2 S3 RDS DynamoDB など) に対してのみ課金金

インフラ構成の構築アプリデプロイの自動化サービス

Automation33

AWS OpsWorks

bull  特徴 (httpawsamazoncomjpopsworks)Oslash  Chefのレシピを使ってデプロイや運用タスクを自動化可能

Oslash  ライフサイクルイベントにより動的な構成変更更への対応が可能

Oslash  継続的な構成管理理bull  価格体系 (httpawsamazoncomjpelasticloadbalancingpricing)

Oslash  AWS OpsWorks自体の利利用は無料料Oslash  (OpsWorksエージェントをオンプレミスサーバで利利用する場合はその起動時間)

アプリケーションのデプロイ管理理サービス

AWS OpsWorks13

スタック

LBレイヤー

Webレイヤー

DBレイヤー

EC2インスタンス上のOpsWorksエージェント

Automation34

Auto Scaling

bull  特徴 (httpawsamazoncomjpautoscaling)Oslash  Amazon EC2インスタンス群を自動的にスケール

Oslash  耐障害性の向上(インスタンスの異異常を検知して新しいインスタンスを起動)

Oslash  EC2インスタンスの起動料料金金の最適化bull  価格体系 (httpawsamazoncomjpautoscalingpricing)

Oslash  Auto Scaling自体の利利用は無料料Oslash  Auto Scalingによって起動されるEC2インスタンスの起動料料金金

EC2インスタンスを負荷またはスケジュールに応じて自動増減

Auto Scaling group13

Desired Capacity

必要に応じて追加されるCapacity

起動設定bull  インスタンスタイプbull  AMI など

Automation35

Amazon CloudWatch

bull  特徴 (httpawsamazoncomjpcloudwatch)Oslash  AWSリソースの死活性能ログ監視Oslash  取得メトリックスのグラフ化Oslash  各メトリックスに対してアラーム作成

bull  価格体系 (httpawsamazoncomjpcloudwatchpricing)Oslash  基本モニタリング(5分間隔)は無料料Oslash  (利利用する場合) 詳細モニタリングOslash  (利利用する場合)カスタムメトリックスAPIリクエストアラームログ等

AWSの各種リソースを監視するサービス

Automation36

AWS Lambda

bull  特徴 (httpawsamazoncomjplambda)Oslash  OSキャパシティ等インフラの管理理不不要Oslash  S3KinesisSNS等でのイベント発生を元にユーザが用意したコード(Nodejs)を実行行

Oslash  ユーザアプリからの同期非同期呼び出し

bull  価格体系 (httpawsamazoncomjplambdapricing)Oslash  コード実行行時間(100ms単位)Oslash  Lambdaファンクションへのリクエスト回数Oslash  1月あたり100万リクエスト400000GB秒が無料料で利利用可能

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

AWS Lambda Amazon S3 Bucket イベント

元画像 サムネイル画像 1

2

3

AWS Lambda Amazon DynamoDB Table and Stream

プッシュ通知

別テーブルを更更新

イメージのリサイズやサムネイルの作成

値チェックや別テーブルへのコピー

Automation37

水平スケーリングの自動化

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

bull  システムの状況を監視し自動的にスケールアウトイン

38 Automation

水平スケーリングの自動化bull  システムの状況を監視し自動的にスケールアウトインbull  スケールアウトしたインスタンスはユーザーデータのカスタムスクリプトなどで自動設定

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

39 Automation

インスタンスの復復旧も自動化

Automation

bull  Auto Scaling による自動復復旧(Auto Healing)

bull  EC2 Auto Recovery による自動復復旧

サーバークラッシュ

代替リソースが自動的に起動

Auto Scaling group min = 1

40

運用も自動化

Automation

bull  Amazon CloudWatch Events を利利用した運用自動化Oslash Amazon EBS の自動スナップショットOslash  EC2 インスタンスの停止削除

bull  AWS Lambda のスケジュール実行行Oslash プログラムを書いてカスタムな運用項目を自動化

41

疎結合

Loose Coupling

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 17: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

ステートレスにするためのセッション情報の扱い

Oslash  スケールアウト時-  スケールアウトしたリソースが使われにくい

Oslash  スケールイン時-  セッションも一緒に落落とすことになるので困難

WebApp

Auto Scaling

ELBClient13

WebApp

Scalability

bull  セッション情報を水平スケールさせたいコンポーネントで持つと

WebApp

セッション 既存ユーザのセッションは既存のコンポーネントにあるためリクエストは同じリソースへ

Sticky Session

スケールアウトしたリソースを活かしにくい

WebApp

Auto Scaling

ELBClient13

WebApp

セッション インスタンスを削除すると既存ユーザのセッション情報も失われてしまう(ログアウトされた挙動となる)

Sticky Session

17

ステートレスにするためのセッション情報の扱いbull  スケールさせやすくするためにセッション情報は外だし

WebApp

Auto Scaling

ELBClient13 WebApp

DynamoDBセッション情報

ElastiCache

or

書き換えられても問題ない情報肥大化の恐れがない情報はClient-‐‑‒Side で保持することも可能

Client-‐‑‒Side で書き換えられると困る情報はServer-‐‑‒Side で保持

Scalability

各リソースに固有の情報がないのでいつでも増減しやすい

18

固定資産から可処分資産へ

Disposable Resources Instead of Fixed Servers

今まで(オンプレミス)bull  固定のリソースで運用

Oslash  リソース購入は前払いOslash  リソース追加には長いリードタイムrarr 事前のサイジングが必須

リソースに対する考え方

AWSbull  固定資産ではない

Oslash  使い捨て可能なソフトウェア (いつでも増減変更更可能)rarr 事前のサイジングは不不要

Disposable Resources Instead of Fixed Servers

タスクが増えたらインスタンスを増やして対応

タスクが完了了したらシャットダウン

サイジングにより決まった台数スペック

追加には長時間かかる

20

マインドセットを変える

AWSbull  リソースが常に存在する変更更しない前提の設計運用を止めるOslash  自動化Oslash  DNS によるアクセスOslash  バッチスケジュールの見見直しOslash  利利用時間帯の確認

Disposable Resources Instead of Fixed Servers

今まで(オンプレミス)bull  固定リソース運用により助長されがちなプラクティスOslash  手作業による設定変更更Oslash  IP アドレスのハードコードOslash  シーケンシャルな処理理Oslash  常に電源 ON

21

自動化

bull  水平スケールも自動的にbull  水平スケールしたインスタンスに対する設定も自動的に

Oslash  EC2 ユーザーデータメタデータ-  httpdocsawsamazoncomja_jpAWSEC2latestUserGuideec2-‐‑‒instance-‐‑‒metadatahtml

Oslash 構成管理理ツール(Chef Puppet などの3rd party ツール)

bull  次のプリンシプルも参照

Disposable Resources Instead of Fixed Servers 22

DNS によるアクセス

bull  固定 IP アドレスアクセスによる弊害の例例

Disposable Resources Instead of Fixed Servers 23

スケールイン時

100051 100052 100051 100052

100052直打ちでのアクセス

使用率率率が低くなったのでスケールイン

バッチスケジュールの見見直し

bull  並列列化で早く終わらせるOslash  1台で n 時間もn台で 1時間も料料金金は同じ

Disposable Resources Instead of Fixed Servers 24

時間1h 2h 3h

タスク1

タスク2

タスク3

タスク1

タスク2

タスク3

時間1h 2h 3h

利利用時間帯の確認

bull  固定資産ではないので常に稼働させる必要はないbull  実際のワークロード利利用時間帯に合わせて稼働させる必要がない時間は落落としてコスト節約につなげる

Disposable Resources Instead of Fixed Servers 25

可処分所得にするためのポイント

bull  AMI スナップショット戦略略(いつでもリソースを作成できるように準備)Oslash 全部入り AMIOslash BootstrappingOslash Hybrid(AMI と Bootstrapping の組み合わせ)

bull  Infrastructure as CodeOslash 個々のリソースだけでなくシステム全体をいつでも作成できるよう準備(例例)バッチシステムを CloudFormation で作成し完了了したら削除

Disposable Resources Instead of Fixed Servers 26

AMI 戦略略

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

EC2

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

アプリコード

Amazon S3

Log4JSpring

Struts

Linux

J2EE

Hibernate

Tomcat

Apache

Linux

J2EE

アプリコード

Amazon S3

Hibernate

TomcatLog4J

Spring

StrutsApache

EC2

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

EC2

Linux

JEE

Linux

JEE

Chef

Chef

スクリプト

Java AMIJavaスタック Java AMI AMI

起動時取得

起動時取得 起動時取得

[1]全部入りAMI [2]部分設定済 AMI [3]最小構成AMI

27 Disposable Resources Instead of Fixed Servers

AMI 戦略略 ProsCons

方式 利利点 欠点[1]全部入りAMI 同一性の確保

起動時間が早いデプロイ毎にAMIを作り直す必要がある(作成プロセスを自動化すれば欠点とはならない)

[2]部分設定済AMI あとはアプリコードのみ最新を取得すれば良良く扱いやすい

[3]最小構成AMI 柔軟に中身を変更更できる 起動処理理に時間がかかる場合によっては外部ライブラリが取得できないことも

28 Disposable Resources Instead of Fixed Servers

AWS CloudFormation

bull  特徴 (httpawsamazoncomjpcloudformation)Oslash テンプレートを元にEC2やELBといったAWSリソースの環境構築を自動化

Oslash  JSON YAMLフォーマットのテキストでテンプレートを自由に記述可能

Oslash  Microsoft Windows Server や SAP HANA などのリファレンス実装を用意(httpawsamazoncomquickstart)

bull  価格体系 (httpawsamazoncomjpcloudformationpricing)Oslash  追加料料金金はありません

AWS リソース(Amazon EC2 インスタンスや Elastic Load Balancing ロードバランサーなど)に対してお支払いいただきます

設定管理理 amp クラウドのオーケストレーション サービス

スタック

EC2Auto Scaling

テンプレート(設定ファイル)

テンプレートに基づき各リソースが自動起動

EC2

Cloud Formation

29 Disposable Resources Instead of Fixed Servers

自動化

Automation

自動化

bull  自動化を意識識することで得られるメリットOslash オペミス防止などの安定した運用Oslash 運用負荷の軽減Oslash 可用性の向上

bull  AWS と自動化Oslash API で動作するので自動化しやすいOslash 自動化をサポートするサービスが豊富

Automation31

自動化をサポートする代表的なサービス機能

Automation

bull  AWS Elastic Beanstalkbull  AWS OpsWorksbull  Auto Scalingbull  Amazon EC2 Auto Recoverybull  Amazon CloudWatch Alarmsbull  Amazon CloudWatch Eventsbull  AWS Lambda Scheduled events

32

AWS ElasticBeanstalk

bull  特徴 (httpawsamazoncomjpelasticbeanstalk)Oslash  速く簡単にアプリケーションをデプロイ可能Oslash  インフラストラクチャの準備運営からアプリケーションスタックの管理理まで自動化

Oslash  Auto Scaling によりコストを抑えながらスケーラビリティを確保

Oslash  Java PHP Ruby Python Nodejs NET Docker などに対応

bull  価格体系 (httpawsamazoncomjpelasticbeanstalkpricing)Oslash  追加料料金金なしOslash  アプリケーションの保存実行行に必要なAWSリソース (EC2 S3 RDS DynamoDB など) に対してのみ課金金

インフラ構成の構築アプリデプロイの自動化サービス

Automation33

AWS OpsWorks

bull  特徴 (httpawsamazoncomjpopsworks)Oslash  Chefのレシピを使ってデプロイや運用タスクを自動化可能

Oslash  ライフサイクルイベントにより動的な構成変更更への対応が可能

Oslash  継続的な構成管理理bull  価格体系 (httpawsamazoncomjpelasticloadbalancingpricing)

Oslash  AWS OpsWorks自体の利利用は無料料Oslash  (OpsWorksエージェントをオンプレミスサーバで利利用する場合はその起動時間)

アプリケーションのデプロイ管理理サービス

AWS OpsWorks13

スタック

LBレイヤー

Webレイヤー

DBレイヤー

EC2インスタンス上のOpsWorksエージェント

Automation34

Auto Scaling

bull  特徴 (httpawsamazoncomjpautoscaling)Oslash  Amazon EC2インスタンス群を自動的にスケール

Oslash  耐障害性の向上(インスタンスの異異常を検知して新しいインスタンスを起動)

Oslash  EC2インスタンスの起動料料金金の最適化bull  価格体系 (httpawsamazoncomjpautoscalingpricing)

Oslash  Auto Scaling自体の利利用は無料料Oslash  Auto Scalingによって起動されるEC2インスタンスの起動料料金金

EC2インスタンスを負荷またはスケジュールに応じて自動増減

Auto Scaling group13

Desired Capacity

必要に応じて追加されるCapacity

起動設定bull  インスタンスタイプbull  AMI など

Automation35

Amazon CloudWatch

bull  特徴 (httpawsamazoncomjpcloudwatch)Oslash  AWSリソースの死活性能ログ監視Oslash  取得メトリックスのグラフ化Oslash  各メトリックスに対してアラーム作成

bull  価格体系 (httpawsamazoncomjpcloudwatchpricing)Oslash  基本モニタリング(5分間隔)は無料料Oslash  (利利用する場合) 詳細モニタリングOslash  (利利用する場合)カスタムメトリックスAPIリクエストアラームログ等

AWSの各種リソースを監視するサービス

Automation36

AWS Lambda

bull  特徴 (httpawsamazoncomjplambda)Oslash  OSキャパシティ等インフラの管理理不不要Oslash  S3KinesisSNS等でのイベント発生を元にユーザが用意したコード(Nodejs)を実行行

Oslash  ユーザアプリからの同期非同期呼び出し

bull  価格体系 (httpawsamazoncomjplambdapricing)Oslash  コード実行行時間(100ms単位)Oslash  Lambdaファンクションへのリクエスト回数Oslash  1月あたり100万リクエスト400000GB秒が無料料で利利用可能

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

AWS Lambda Amazon S3 Bucket イベント

元画像 サムネイル画像 1

2

3

AWS Lambda Amazon DynamoDB Table and Stream

プッシュ通知

別テーブルを更更新

イメージのリサイズやサムネイルの作成

値チェックや別テーブルへのコピー

Automation37

水平スケーリングの自動化

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

bull  システムの状況を監視し自動的にスケールアウトイン

38 Automation

水平スケーリングの自動化bull  システムの状況を監視し自動的にスケールアウトインbull  スケールアウトしたインスタンスはユーザーデータのカスタムスクリプトなどで自動設定

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

39 Automation

インスタンスの復復旧も自動化

Automation

bull  Auto Scaling による自動復復旧(Auto Healing)

bull  EC2 Auto Recovery による自動復復旧

サーバークラッシュ

代替リソースが自動的に起動

Auto Scaling group min = 1

40

運用も自動化

Automation

bull  Amazon CloudWatch Events を利利用した運用自動化Oslash Amazon EBS の自動スナップショットOslash  EC2 インスタンスの停止削除

bull  AWS Lambda のスケジュール実行行Oslash プログラムを書いてカスタムな運用項目を自動化

41

疎結合

Loose Coupling

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 18: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

ステートレスにするためのセッション情報の扱いbull  スケールさせやすくするためにセッション情報は外だし

WebApp

Auto Scaling

ELBClient13 WebApp

DynamoDBセッション情報

ElastiCache

or

書き換えられても問題ない情報肥大化の恐れがない情報はClient-‐‑‒Side で保持することも可能

Client-‐‑‒Side で書き換えられると困る情報はServer-‐‑‒Side で保持

Scalability

各リソースに固有の情報がないのでいつでも増減しやすい

18

固定資産から可処分資産へ

Disposable Resources Instead of Fixed Servers

今まで(オンプレミス)bull  固定のリソースで運用

Oslash  リソース購入は前払いOslash  リソース追加には長いリードタイムrarr 事前のサイジングが必須

リソースに対する考え方

AWSbull  固定資産ではない

Oslash  使い捨て可能なソフトウェア (いつでも増減変更更可能)rarr 事前のサイジングは不不要

Disposable Resources Instead of Fixed Servers

タスクが増えたらインスタンスを増やして対応

タスクが完了了したらシャットダウン

サイジングにより決まった台数スペック

追加には長時間かかる

20

マインドセットを変える

AWSbull  リソースが常に存在する変更更しない前提の設計運用を止めるOslash  自動化Oslash  DNS によるアクセスOslash  バッチスケジュールの見見直しOslash  利利用時間帯の確認

Disposable Resources Instead of Fixed Servers

今まで(オンプレミス)bull  固定リソース運用により助長されがちなプラクティスOslash  手作業による設定変更更Oslash  IP アドレスのハードコードOslash  シーケンシャルな処理理Oslash  常に電源 ON

21

自動化

bull  水平スケールも自動的にbull  水平スケールしたインスタンスに対する設定も自動的に

Oslash  EC2 ユーザーデータメタデータ-  httpdocsawsamazoncomja_jpAWSEC2latestUserGuideec2-‐‑‒instance-‐‑‒metadatahtml

Oslash 構成管理理ツール(Chef Puppet などの3rd party ツール)

bull  次のプリンシプルも参照

Disposable Resources Instead of Fixed Servers 22

DNS によるアクセス

bull  固定 IP アドレスアクセスによる弊害の例例

Disposable Resources Instead of Fixed Servers 23

スケールイン時

100051 100052 100051 100052

100052直打ちでのアクセス

使用率率率が低くなったのでスケールイン

バッチスケジュールの見見直し

bull  並列列化で早く終わらせるOslash  1台で n 時間もn台で 1時間も料料金金は同じ

Disposable Resources Instead of Fixed Servers 24

時間1h 2h 3h

タスク1

タスク2

タスク3

タスク1

タスク2

タスク3

時間1h 2h 3h

利利用時間帯の確認

bull  固定資産ではないので常に稼働させる必要はないbull  実際のワークロード利利用時間帯に合わせて稼働させる必要がない時間は落落としてコスト節約につなげる

Disposable Resources Instead of Fixed Servers 25

可処分所得にするためのポイント

bull  AMI スナップショット戦略略(いつでもリソースを作成できるように準備)Oslash 全部入り AMIOslash BootstrappingOslash Hybrid(AMI と Bootstrapping の組み合わせ)

bull  Infrastructure as CodeOslash 個々のリソースだけでなくシステム全体をいつでも作成できるよう準備(例例)バッチシステムを CloudFormation で作成し完了了したら削除

Disposable Resources Instead of Fixed Servers 26

AMI 戦略略

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

EC2

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

アプリコード

Amazon S3

Log4JSpring

Struts

Linux

J2EE

Hibernate

Tomcat

Apache

Linux

J2EE

アプリコード

Amazon S3

Hibernate

TomcatLog4J

Spring

StrutsApache

EC2

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

EC2

Linux

JEE

Linux

JEE

Chef

Chef

スクリプト

Java AMIJavaスタック Java AMI AMI

起動時取得

起動時取得 起動時取得

[1]全部入りAMI [2]部分設定済 AMI [3]最小構成AMI

27 Disposable Resources Instead of Fixed Servers

AMI 戦略略 ProsCons

方式 利利点 欠点[1]全部入りAMI 同一性の確保

起動時間が早いデプロイ毎にAMIを作り直す必要がある(作成プロセスを自動化すれば欠点とはならない)

[2]部分設定済AMI あとはアプリコードのみ最新を取得すれば良良く扱いやすい

[3]最小構成AMI 柔軟に中身を変更更できる 起動処理理に時間がかかる場合によっては外部ライブラリが取得できないことも

28 Disposable Resources Instead of Fixed Servers

AWS CloudFormation

bull  特徴 (httpawsamazoncomjpcloudformation)Oslash テンプレートを元にEC2やELBといったAWSリソースの環境構築を自動化

Oslash  JSON YAMLフォーマットのテキストでテンプレートを自由に記述可能

Oslash  Microsoft Windows Server や SAP HANA などのリファレンス実装を用意(httpawsamazoncomquickstart)

bull  価格体系 (httpawsamazoncomjpcloudformationpricing)Oslash  追加料料金金はありません

AWS リソース(Amazon EC2 インスタンスや Elastic Load Balancing ロードバランサーなど)に対してお支払いいただきます

設定管理理 amp クラウドのオーケストレーション サービス

スタック

EC2Auto Scaling

テンプレート(設定ファイル)

テンプレートに基づき各リソースが自動起動

EC2

Cloud Formation

29 Disposable Resources Instead of Fixed Servers

自動化

Automation

自動化

bull  自動化を意識識することで得られるメリットOslash オペミス防止などの安定した運用Oslash 運用負荷の軽減Oslash 可用性の向上

bull  AWS と自動化Oslash API で動作するので自動化しやすいOslash 自動化をサポートするサービスが豊富

Automation31

自動化をサポートする代表的なサービス機能

Automation

bull  AWS Elastic Beanstalkbull  AWS OpsWorksbull  Auto Scalingbull  Amazon EC2 Auto Recoverybull  Amazon CloudWatch Alarmsbull  Amazon CloudWatch Eventsbull  AWS Lambda Scheduled events

32

AWS ElasticBeanstalk

bull  特徴 (httpawsamazoncomjpelasticbeanstalk)Oslash  速く簡単にアプリケーションをデプロイ可能Oslash  インフラストラクチャの準備運営からアプリケーションスタックの管理理まで自動化

Oslash  Auto Scaling によりコストを抑えながらスケーラビリティを確保

Oslash  Java PHP Ruby Python Nodejs NET Docker などに対応

bull  価格体系 (httpawsamazoncomjpelasticbeanstalkpricing)Oslash  追加料料金金なしOslash  アプリケーションの保存実行行に必要なAWSリソース (EC2 S3 RDS DynamoDB など) に対してのみ課金金

インフラ構成の構築アプリデプロイの自動化サービス

Automation33

AWS OpsWorks

bull  特徴 (httpawsamazoncomjpopsworks)Oslash  Chefのレシピを使ってデプロイや運用タスクを自動化可能

Oslash  ライフサイクルイベントにより動的な構成変更更への対応が可能

Oslash  継続的な構成管理理bull  価格体系 (httpawsamazoncomjpelasticloadbalancingpricing)

Oslash  AWS OpsWorks自体の利利用は無料料Oslash  (OpsWorksエージェントをオンプレミスサーバで利利用する場合はその起動時間)

アプリケーションのデプロイ管理理サービス

AWS OpsWorks13

スタック

LBレイヤー

Webレイヤー

DBレイヤー

EC2インスタンス上のOpsWorksエージェント

Automation34

Auto Scaling

bull  特徴 (httpawsamazoncomjpautoscaling)Oslash  Amazon EC2インスタンス群を自動的にスケール

Oslash  耐障害性の向上(インスタンスの異異常を検知して新しいインスタンスを起動)

Oslash  EC2インスタンスの起動料料金金の最適化bull  価格体系 (httpawsamazoncomjpautoscalingpricing)

Oslash  Auto Scaling自体の利利用は無料料Oslash  Auto Scalingによって起動されるEC2インスタンスの起動料料金金

EC2インスタンスを負荷またはスケジュールに応じて自動増減

Auto Scaling group13

Desired Capacity

必要に応じて追加されるCapacity

起動設定bull  インスタンスタイプbull  AMI など

Automation35

Amazon CloudWatch

bull  特徴 (httpawsamazoncomjpcloudwatch)Oslash  AWSリソースの死活性能ログ監視Oslash  取得メトリックスのグラフ化Oslash  各メトリックスに対してアラーム作成

bull  価格体系 (httpawsamazoncomjpcloudwatchpricing)Oslash  基本モニタリング(5分間隔)は無料料Oslash  (利利用する場合) 詳細モニタリングOslash  (利利用する場合)カスタムメトリックスAPIリクエストアラームログ等

AWSの各種リソースを監視するサービス

Automation36

AWS Lambda

bull  特徴 (httpawsamazoncomjplambda)Oslash  OSキャパシティ等インフラの管理理不不要Oslash  S3KinesisSNS等でのイベント発生を元にユーザが用意したコード(Nodejs)を実行行

Oslash  ユーザアプリからの同期非同期呼び出し

bull  価格体系 (httpawsamazoncomjplambdapricing)Oslash  コード実行行時間(100ms単位)Oslash  Lambdaファンクションへのリクエスト回数Oslash  1月あたり100万リクエスト400000GB秒が無料料で利利用可能

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

AWS Lambda Amazon S3 Bucket イベント

元画像 サムネイル画像 1

2

3

AWS Lambda Amazon DynamoDB Table and Stream

プッシュ通知

別テーブルを更更新

イメージのリサイズやサムネイルの作成

値チェックや別テーブルへのコピー

Automation37

水平スケーリングの自動化

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

bull  システムの状況を監視し自動的にスケールアウトイン

38 Automation

水平スケーリングの自動化bull  システムの状況を監視し自動的にスケールアウトインbull  スケールアウトしたインスタンスはユーザーデータのカスタムスクリプトなどで自動設定

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

39 Automation

インスタンスの復復旧も自動化

Automation

bull  Auto Scaling による自動復復旧(Auto Healing)

bull  EC2 Auto Recovery による自動復復旧

サーバークラッシュ

代替リソースが自動的に起動

Auto Scaling group min = 1

40

運用も自動化

Automation

bull  Amazon CloudWatch Events を利利用した運用自動化Oslash Amazon EBS の自動スナップショットOslash  EC2 インスタンスの停止削除

bull  AWS Lambda のスケジュール実行行Oslash プログラムを書いてカスタムな運用項目を自動化

41

疎結合

Loose Coupling

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 19: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

固定資産から可処分資産へ

Disposable Resources Instead of Fixed Servers

今まで(オンプレミス)bull  固定のリソースで運用

Oslash  リソース購入は前払いOslash  リソース追加には長いリードタイムrarr 事前のサイジングが必須

リソースに対する考え方

AWSbull  固定資産ではない

Oslash  使い捨て可能なソフトウェア (いつでも増減変更更可能)rarr 事前のサイジングは不不要

Disposable Resources Instead of Fixed Servers

タスクが増えたらインスタンスを増やして対応

タスクが完了了したらシャットダウン

サイジングにより決まった台数スペック

追加には長時間かかる

20

マインドセットを変える

AWSbull  リソースが常に存在する変更更しない前提の設計運用を止めるOslash  自動化Oslash  DNS によるアクセスOslash  バッチスケジュールの見見直しOslash  利利用時間帯の確認

Disposable Resources Instead of Fixed Servers

今まで(オンプレミス)bull  固定リソース運用により助長されがちなプラクティスOslash  手作業による設定変更更Oslash  IP アドレスのハードコードOslash  シーケンシャルな処理理Oslash  常に電源 ON

21

自動化

bull  水平スケールも自動的にbull  水平スケールしたインスタンスに対する設定も自動的に

Oslash  EC2 ユーザーデータメタデータ-  httpdocsawsamazoncomja_jpAWSEC2latestUserGuideec2-‐‑‒instance-‐‑‒metadatahtml

Oslash 構成管理理ツール(Chef Puppet などの3rd party ツール)

bull  次のプリンシプルも参照

Disposable Resources Instead of Fixed Servers 22

DNS によるアクセス

bull  固定 IP アドレスアクセスによる弊害の例例

Disposable Resources Instead of Fixed Servers 23

スケールイン時

100051 100052 100051 100052

100052直打ちでのアクセス

使用率率率が低くなったのでスケールイン

バッチスケジュールの見見直し

bull  並列列化で早く終わらせるOslash  1台で n 時間もn台で 1時間も料料金金は同じ

Disposable Resources Instead of Fixed Servers 24

時間1h 2h 3h

タスク1

タスク2

タスク3

タスク1

タスク2

タスク3

時間1h 2h 3h

利利用時間帯の確認

bull  固定資産ではないので常に稼働させる必要はないbull  実際のワークロード利利用時間帯に合わせて稼働させる必要がない時間は落落としてコスト節約につなげる

Disposable Resources Instead of Fixed Servers 25

可処分所得にするためのポイント

bull  AMI スナップショット戦略略(いつでもリソースを作成できるように準備)Oslash 全部入り AMIOslash BootstrappingOslash Hybrid(AMI と Bootstrapping の組み合わせ)

bull  Infrastructure as CodeOslash 個々のリソースだけでなくシステム全体をいつでも作成できるよう準備(例例)バッチシステムを CloudFormation で作成し完了了したら削除

Disposable Resources Instead of Fixed Servers 26

AMI 戦略略

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

EC2

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

アプリコード

Amazon S3

Log4JSpring

Struts

Linux

J2EE

Hibernate

Tomcat

Apache

Linux

J2EE

アプリコード

Amazon S3

Hibernate

TomcatLog4J

Spring

StrutsApache

EC2

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

EC2

Linux

JEE

Linux

JEE

Chef

Chef

スクリプト

Java AMIJavaスタック Java AMI AMI

起動時取得

起動時取得 起動時取得

[1]全部入りAMI [2]部分設定済 AMI [3]最小構成AMI

27 Disposable Resources Instead of Fixed Servers

AMI 戦略略 ProsCons

方式 利利点 欠点[1]全部入りAMI 同一性の確保

起動時間が早いデプロイ毎にAMIを作り直す必要がある(作成プロセスを自動化すれば欠点とはならない)

[2]部分設定済AMI あとはアプリコードのみ最新を取得すれば良良く扱いやすい

[3]最小構成AMI 柔軟に中身を変更更できる 起動処理理に時間がかかる場合によっては外部ライブラリが取得できないことも

28 Disposable Resources Instead of Fixed Servers

AWS CloudFormation

bull  特徴 (httpawsamazoncomjpcloudformation)Oslash テンプレートを元にEC2やELBといったAWSリソースの環境構築を自動化

Oslash  JSON YAMLフォーマットのテキストでテンプレートを自由に記述可能

Oslash  Microsoft Windows Server や SAP HANA などのリファレンス実装を用意(httpawsamazoncomquickstart)

bull  価格体系 (httpawsamazoncomjpcloudformationpricing)Oslash  追加料料金金はありません

AWS リソース(Amazon EC2 インスタンスや Elastic Load Balancing ロードバランサーなど)に対してお支払いいただきます

設定管理理 amp クラウドのオーケストレーション サービス

スタック

EC2Auto Scaling

テンプレート(設定ファイル)

テンプレートに基づき各リソースが自動起動

EC2

Cloud Formation

29 Disposable Resources Instead of Fixed Servers

自動化

Automation

自動化

bull  自動化を意識識することで得られるメリットOslash オペミス防止などの安定した運用Oslash 運用負荷の軽減Oslash 可用性の向上

bull  AWS と自動化Oslash API で動作するので自動化しやすいOslash 自動化をサポートするサービスが豊富

Automation31

自動化をサポートする代表的なサービス機能

Automation

bull  AWS Elastic Beanstalkbull  AWS OpsWorksbull  Auto Scalingbull  Amazon EC2 Auto Recoverybull  Amazon CloudWatch Alarmsbull  Amazon CloudWatch Eventsbull  AWS Lambda Scheduled events

32

AWS ElasticBeanstalk

bull  特徴 (httpawsamazoncomjpelasticbeanstalk)Oslash  速く簡単にアプリケーションをデプロイ可能Oslash  インフラストラクチャの準備運営からアプリケーションスタックの管理理まで自動化

Oslash  Auto Scaling によりコストを抑えながらスケーラビリティを確保

Oslash  Java PHP Ruby Python Nodejs NET Docker などに対応

bull  価格体系 (httpawsamazoncomjpelasticbeanstalkpricing)Oslash  追加料料金金なしOslash  アプリケーションの保存実行行に必要なAWSリソース (EC2 S3 RDS DynamoDB など) に対してのみ課金金

インフラ構成の構築アプリデプロイの自動化サービス

Automation33

AWS OpsWorks

bull  特徴 (httpawsamazoncomjpopsworks)Oslash  Chefのレシピを使ってデプロイや運用タスクを自動化可能

Oslash  ライフサイクルイベントにより動的な構成変更更への対応が可能

Oslash  継続的な構成管理理bull  価格体系 (httpawsamazoncomjpelasticloadbalancingpricing)

Oslash  AWS OpsWorks自体の利利用は無料料Oslash  (OpsWorksエージェントをオンプレミスサーバで利利用する場合はその起動時間)

アプリケーションのデプロイ管理理サービス

AWS OpsWorks13

スタック

LBレイヤー

Webレイヤー

DBレイヤー

EC2インスタンス上のOpsWorksエージェント

Automation34

Auto Scaling

bull  特徴 (httpawsamazoncomjpautoscaling)Oslash  Amazon EC2インスタンス群を自動的にスケール

Oslash  耐障害性の向上(インスタンスの異異常を検知して新しいインスタンスを起動)

Oslash  EC2インスタンスの起動料料金金の最適化bull  価格体系 (httpawsamazoncomjpautoscalingpricing)

Oslash  Auto Scaling自体の利利用は無料料Oslash  Auto Scalingによって起動されるEC2インスタンスの起動料料金金

EC2インスタンスを負荷またはスケジュールに応じて自動増減

Auto Scaling group13

Desired Capacity

必要に応じて追加されるCapacity

起動設定bull  インスタンスタイプbull  AMI など

Automation35

Amazon CloudWatch

bull  特徴 (httpawsamazoncomjpcloudwatch)Oslash  AWSリソースの死活性能ログ監視Oslash  取得メトリックスのグラフ化Oslash  各メトリックスに対してアラーム作成

bull  価格体系 (httpawsamazoncomjpcloudwatchpricing)Oslash  基本モニタリング(5分間隔)は無料料Oslash  (利利用する場合) 詳細モニタリングOslash  (利利用する場合)カスタムメトリックスAPIリクエストアラームログ等

AWSの各種リソースを監視するサービス

Automation36

AWS Lambda

bull  特徴 (httpawsamazoncomjplambda)Oslash  OSキャパシティ等インフラの管理理不不要Oslash  S3KinesisSNS等でのイベント発生を元にユーザが用意したコード(Nodejs)を実行行

Oslash  ユーザアプリからの同期非同期呼び出し

bull  価格体系 (httpawsamazoncomjplambdapricing)Oslash  コード実行行時間(100ms単位)Oslash  Lambdaファンクションへのリクエスト回数Oslash  1月あたり100万リクエスト400000GB秒が無料料で利利用可能

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

AWS Lambda Amazon S3 Bucket イベント

元画像 サムネイル画像 1

2

3

AWS Lambda Amazon DynamoDB Table and Stream

プッシュ通知

別テーブルを更更新

イメージのリサイズやサムネイルの作成

値チェックや別テーブルへのコピー

Automation37

水平スケーリングの自動化

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

bull  システムの状況を監視し自動的にスケールアウトイン

38 Automation

水平スケーリングの自動化bull  システムの状況を監視し自動的にスケールアウトインbull  スケールアウトしたインスタンスはユーザーデータのカスタムスクリプトなどで自動設定

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

39 Automation

インスタンスの復復旧も自動化

Automation

bull  Auto Scaling による自動復復旧(Auto Healing)

bull  EC2 Auto Recovery による自動復復旧

サーバークラッシュ

代替リソースが自動的に起動

Auto Scaling group min = 1

40

運用も自動化

Automation

bull  Amazon CloudWatch Events を利利用した運用自動化Oslash Amazon EBS の自動スナップショットOslash  EC2 インスタンスの停止削除

bull  AWS Lambda のスケジュール実行行Oslash プログラムを書いてカスタムな運用項目を自動化

41

疎結合

Loose Coupling

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 20: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

今まで(オンプレミス)bull  固定のリソースで運用

Oslash  リソース購入は前払いOslash  リソース追加には長いリードタイムrarr 事前のサイジングが必須

リソースに対する考え方

AWSbull  固定資産ではない

Oslash  使い捨て可能なソフトウェア (いつでも増減変更更可能)rarr 事前のサイジングは不不要

Disposable Resources Instead of Fixed Servers

タスクが増えたらインスタンスを増やして対応

タスクが完了了したらシャットダウン

サイジングにより決まった台数スペック

追加には長時間かかる

20

マインドセットを変える

AWSbull  リソースが常に存在する変更更しない前提の設計運用を止めるOslash  自動化Oslash  DNS によるアクセスOslash  バッチスケジュールの見見直しOslash  利利用時間帯の確認

Disposable Resources Instead of Fixed Servers

今まで(オンプレミス)bull  固定リソース運用により助長されがちなプラクティスOslash  手作業による設定変更更Oslash  IP アドレスのハードコードOslash  シーケンシャルな処理理Oslash  常に電源 ON

21

自動化

bull  水平スケールも自動的にbull  水平スケールしたインスタンスに対する設定も自動的に

Oslash  EC2 ユーザーデータメタデータ-  httpdocsawsamazoncomja_jpAWSEC2latestUserGuideec2-‐‑‒instance-‐‑‒metadatahtml

Oslash 構成管理理ツール(Chef Puppet などの3rd party ツール)

bull  次のプリンシプルも参照

Disposable Resources Instead of Fixed Servers 22

DNS によるアクセス

bull  固定 IP アドレスアクセスによる弊害の例例

Disposable Resources Instead of Fixed Servers 23

スケールイン時

100051 100052 100051 100052

100052直打ちでのアクセス

使用率率率が低くなったのでスケールイン

バッチスケジュールの見見直し

bull  並列列化で早く終わらせるOslash  1台で n 時間もn台で 1時間も料料金金は同じ

Disposable Resources Instead of Fixed Servers 24

時間1h 2h 3h

タスク1

タスク2

タスク3

タスク1

タスク2

タスク3

時間1h 2h 3h

利利用時間帯の確認

bull  固定資産ではないので常に稼働させる必要はないbull  実際のワークロード利利用時間帯に合わせて稼働させる必要がない時間は落落としてコスト節約につなげる

Disposable Resources Instead of Fixed Servers 25

可処分所得にするためのポイント

bull  AMI スナップショット戦略略(いつでもリソースを作成できるように準備)Oslash 全部入り AMIOslash BootstrappingOslash Hybrid(AMI と Bootstrapping の組み合わせ)

bull  Infrastructure as CodeOslash 個々のリソースだけでなくシステム全体をいつでも作成できるよう準備(例例)バッチシステムを CloudFormation で作成し完了了したら削除

Disposable Resources Instead of Fixed Servers 26

AMI 戦略略

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

EC2

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

アプリコード

Amazon S3

Log4JSpring

Struts

Linux

J2EE

Hibernate

Tomcat

Apache

Linux

J2EE

アプリコード

Amazon S3

Hibernate

TomcatLog4J

Spring

StrutsApache

EC2

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

EC2

Linux

JEE

Linux

JEE

Chef

Chef

スクリプト

Java AMIJavaスタック Java AMI AMI

起動時取得

起動時取得 起動時取得

[1]全部入りAMI [2]部分設定済 AMI [3]最小構成AMI

27 Disposable Resources Instead of Fixed Servers

AMI 戦略略 ProsCons

方式 利利点 欠点[1]全部入りAMI 同一性の確保

起動時間が早いデプロイ毎にAMIを作り直す必要がある(作成プロセスを自動化すれば欠点とはならない)

[2]部分設定済AMI あとはアプリコードのみ最新を取得すれば良良く扱いやすい

[3]最小構成AMI 柔軟に中身を変更更できる 起動処理理に時間がかかる場合によっては外部ライブラリが取得できないことも

28 Disposable Resources Instead of Fixed Servers

AWS CloudFormation

bull  特徴 (httpawsamazoncomjpcloudformation)Oslash テンプレートを元にEC2やELBといったAWSリソースの環境構築を自動化

Oslash  JSON YAMLフォーマットのテキストでテンプレートを自由に記述可能

Oslash  Microsoft Windows Server や SAP HANA などのリファレンス実装を用意(httpawsamazoncomquickstart)

bull  価格体系 (httpawsamazoncomjpcloudformationpricing)Oslash  追加料料金金はありません

AWS リソース(Amazon EC2 インスタンスや Elastic Load Balancing ロードバランサーなど)に対してお支払いいただきます

設定管理理 amp クラウドのオーケストレーション サービス

スタック

EC2Auto Scaling

テンプレート(設定ファイル)

テンプレートに基づき各リソースが自動起動

EC2

Cloud Formation

29 Disposable Resources Instead of Fixed Servers

自動化

Automation

自動化

bull  自動化を意識識することで得られるメリットOslash オペミス防止などの安定した運用Oslash 運用負荷の軽減Oslash 可用性の向上

bull  AWS と自動化Oslash API で動作するので自動化しやすいOslash 自動化をサポートするサービスが豊富

Automation31

自動化をサポートする代表的なサービス機能

Automation

bull  AWS Elastic Beanstalkbull  AWS OpsWorksbull  Auto Scalingbull  Amazon EC2 Auto Recoverybull  Amazon CloudWatch Alarmsbull  Amazon CloudWatch Eventsbull  AWS Lambda Scheduled events

32

AWS ElasticBeanstalk

bull  特徴 (httpawsamazoncomjpelasticbeanstalk)Oslash  速く簡単にアプリケーションをデプロイ可能Oslash  インフラストラクチャの準備運営からアプリケーションスタックの管理理まで自動化

Oslash  Auto Scaling によりコストを抑えながらスケーラビリティを確保

Oslash  Java PHP Ruby Python Nodejs NET Docker などに対応

bull  価格体系 (httpawsamazoncomjpelasticbeanstalkpricing)Oslash  追加料料金金なしOslash  アプリケーションの保存実行行に必要なAWSリソース (EC2 S3 RDS DynamoDB など) に対してのみ課金金

インフラ構成の構築アプリデプロイの自動化サービス

Automation33

AWS OpsWorks

bull  特徴 (httpawsamazoncomjpopsworks)Oslash  Chefのレシピを使ってデプロイや運用タスクを自動化可能

Oslash  ライフサイクルイベントにより動的な構成変更更への対応が可能

Oslash  継続的な構成管理理bull  価格体系 (httpawsamazoncomjpelasticloadbalancingpricing)

Oslash  AWS OpsWorks自体の利利用は無料料Oslash  (OpsWorksエージェントをオンプレミスサーバで利利用する場合はその起動時間)

アプリケーションのデプロイ管理理サービス

AWS OpsWorks13

スタック

LBレイヤー

Webレイヤー

DBレイヤー

EC2インスタンス上のOpsWorksエージェント

Automation34

Auto Scaling

bull  特徴 (httpawsamazoncomjpautoscaling)Oslash  Amazon EC2インスタンス群を自動的にスケール

Oslash  耐障害性の向上(インスタンスの異異常を検知して新しいインスタンスを起動)

Oslash  EC2インスタンスの起動料料金金の最適化bull  価格体系 (httpawsamazoncomjpautoscalingpricing)

Oslash  Auto Scaling自体の利利用は無料料Oslash  Auto Scalingによって起動されるEC2インスタンスの起動料料金金

EC2インスタンスを負荷またはスケジュールに応じて自動増減

Auto Scaling group13

Desired Capacity

必要に応じて追加されるCapacity

起動設定bull  インスタンスタイプbull  AMI など

Automation35

Amazon CloudWatch

bull  特徴 (httpawsamazoncomjpcloudwatch)Oslash  AWSリソースの死活性能ログ監視Oslash  取得メトリックスのグラフ化Oslash  各メトリックスに対してアラーム作成

bull  価格体系 (httpawsamazoncomjpcloudwatchpricing)Oslash  基本モニタリング(5分間隔)は無料料Oslash  (利利用する場合) 詳細モニタリングOslash  (利利用する場合)カスタムメトリックスAPIリクエストアラームログ等

AWSの各種リソースを監視するサービス

Automation36

AWS Lambda

bull  特徴 (httpawsamazoncomjplambda)Oslash  OSキャパシティ等インフラの管理理不不要Oslash  S3KinesisSNS等でのイベント発生を元にユーザが用意したコード(Nodejs)を実行行

Oslash  ユーザアプリからの同期非同期呼び出し

bull  価格体系 (httpawsamazoncomjplambdapricing)Oslash  コード実行行時間(100ms単位)Oslash  Lambdaファンクションへのリクエスト回数Oslash  1月あたり100万リクエスト400000GB秒が無料料で利利用可能

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

AWS Lambda Amazon S3 Bucket イベント

元画像 サムネイル画像 1

2

3

AWS Lambda Amazon DynamoDB Table and Stream

プッシュ通知

別テーブルを更更新

イメージのリサイズやサムネイルの作成

値チェックや別テーブルへのコピー

Automation37

水平スケーリングの自動化

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

bull  システムの状況を監視し自動的にスケールアウトイン

38 Automation

水平スケーリングの自動化bull  システムの状況を監視し自動的にスケールアウトインbull  スケールアウトしたインスタンスはユーザーデータのカスタムスクリプトなどで自動設定

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

39 Automation

インスタンスの復復旧も自動化

Automation

bull  Auto Scaling による自動復復旧(Auto Healing)

bull  EC2 Auto Recovery による自動復復旧

サーバークラッシュ

代替リソースが自動的に起動

Auto Scaling group min = 1

40

運用も自動化

Automation

bull  Amazon CloudWatch Events を利利用した運用自動化Oslash Amazon EBS の自動スナップショットOslash  EC2 インスタンスの停止削除

bull  AWS Lambda のスケジュール実行行Oslash プログラムを書いてカスタムな運用項目を自動化

41

疎結合

Loose Coupling

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 21: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

マインドセットを変える

AWSbull  リソースが常に存在する変更更しない前提の設計運用を止めるOslash  自動化Oslash  DNS によるアクセスOslash  バッチスケジュールの見見直しOslash  利利用時間帯の確認

Disposable Resources Instead of Fixed Servers

今まで(オンプレミス)bull  固定リソース運用により助長されがちなプラクティスOslash  手作業による設定変更更Oslash  IP アドレスのハードコードOslash  シーケンシャルな処理理Oslash  常に電源 ON

21

自動化

bull  水平スケールも自動的にbull  水平スケールしたインスタンスに対する設定も自動的に

Oslash  EC2 ユーザーデータメタデータ-  httpdocsawsamazoncomja_jpAWSEC2latestUserGuideec2-‐‑‒instance-‐‑‒metadatahtml

Oslash 構成管理理ツール(Chef Puppet などの3rd party ツール)

bull  次のプリンシプルも参照

Disposable Resources Instead of Fixed Servers 22

DNS によるアクセス

bull  固定 IP アドレスアクセスによる弊害の例例

Disposable Resources Instead of Fixed Servers 23

スケールイン時

100051 100052 100051 100052

100052直打ちでのアクセス

使用率率率が低くなったのでスケールイン

バッチスケジュールの見見直し

bull  並列列化で早く終わらせるOslash  1台で n 時間もn台で 1時間も料料金金は同じ

Disposable Resources Instead of Fixed Servers 24

時間1h 2h 3h

タスク1

タスク2

タスク3

タスク1

タスク2

タスク3

時間1h 2h 3h

利利用時間帯の確認

bull  固定資産ではないので常に稼働させる必要はないbull  実際のワークロード利利用時間帯に合わせて稼働させる必要がない時間は落落としてコスト節約につなげる

Disposable Resources Instead of Fixed Servers 25

可処分所得にするためのポイント

bull  AMI スナップショット戦略略(いつでもリソースを作成できるように準備)Oslash 全部入り AMIOslash BootstrappingOslash Hybrid(AMI と Bootstrapping の組み合わせ)

bull  Infrastructure as CodeOslash 個々のリソースだけでなくシステム全体をいつでも作成できるよう準備(例例)バッチシステムを CloudFormation で作成し完了了したら削除

Disposable Resources Instead of Fixed Servers 26

AMI 戦略略

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

EC2

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

アプリコード

Amazon S3

Log4JSpring

Struts

Linux

J2EE

Hibernate

Tomcat

Apache

Linux

J2EE

アプリコード

Amazon S3

Hibernate

TomcatLog4J

Spring

StrutsApache

EC2

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

EC2

Linux

JEE

Linux

JEE

Chef

Chef

スクリプト

Java AMIJavaスタック Java AMI AMI

起動時取得

起動時取得 起動時取得

[1]全部入りAMI [2]部分設定済 AMI [3]最小構成AMI

27 Disposable Resources Instead of Fixed Servers

AMI 戦略略 ProsCons

方式 利利点 欠点[1]全部入りAMI 同一性の確保

起動時間が早いデプロイ毎にAMIを作り直す必要がある(作成プロセスを自動化すれば欠点とはならない)

[2]部分設定済AMI あとはアプリコードのみ最新を取得すれば良良く扱いやすい

[3]最小構成AMI 柔軟に中身を変更更できる 起動処理理に時間がかかる場合によっては外部ライブラリが取得できないことも

28 Disposable Resources Instead of Fixed Servers

AWS CloudFormation

bull  特徴 (httpawsamazoncomjpcloudformation)Oslash テンプレートを元にEC2やELBといったAWSリソースの環境構築を自動化

Oslash  JSON YAMLフォーマットのテキストでテンプレートを自由に記述可能

Oslash  Microsoft Windows Server や SAP HANA などのリファレンス実装を用意(httpawsamazoncomquickstart)

bull  価格体系 (httpawsamazoncomjpcloudformationpricing)Oslash  追加料料金金はありません

AWS リソース(Amazon EC2 インスタンスや Elastic Load Balancing ロードバランサーなど)に対してお支払いいただきます

設定管理理 amp クラウドのオーケストレーション サービス

スタック

EC2Auto Scaling

テンプレート(設定ファイル)

テンプレートに基づき各リソースが自動起動

EC2

Cloud Formation

29 Disposable Resources Instead of Fixed Servers

自動化

Automation

自動化

bull  自動化を意識識することで得られるメリットOslash オペミス防止などの安定した運用Oslash 運用負荷の軽減Oslash 可用性の向上

bull  AWS と自動化Oslash API で動作するので自動化しやすいOslash 自動化をサポートするサービスが豊富

Automation31

自動化をサポートする代表的なサービス機能

Automation

bull  AWS Elastic Beanstalkbull  AWS OpsWorksbull  Auto Scalingbull  Amazon EC2 Auto Recoverybull  Amazon CloudWatch Alarmsbull  Amazon CloudWatch Eventsbull  AWS Lambda Scheduled events

32

AWS ElasticBeanstalk

bull  特徴 (httpawsamazoncomjpelasticbeanstalk)Oslash  速く簡単にアプリケーションをデプロイ可能Oslash  インフラストラクチャの準備運営からアプリケーションスタックの管理理まで自動化

Oslash  Auto Scaling によりコストを抑えながらスケーラビリティを確保

Oslash  Java PHP Ruby Python Nodejs NET Docker などに対応

bull  価格体系 (httpawsamazoncomjpelasticbeanstalkpricing)Oslash  追加料料金金なしOslash  アプリケーションの保存実行行に必要なAWSリソース (EC2 S3 RDS DynamoDB など) に対してのみ課金金

インフラ構成の構築アプリデプロイの自動化サービス

Automation33

AWS OpsWorks

bull  特徴 (httpawsamazoncomjpopsworks)Oslash  Chefのレシピを使ってデプロイや運用タスクを自動化可能

Oslash  ライフサイクルイベントにより動的な構成変更更への対応が可能

Oslash  継続的な構成管理理bull  価格体系 (httpawsamazoncomjpelasticloadbalancingpricing)

Oslash  AWS OpsWorks自体の利利用は無料料Oslash  (OpsWorksエージェントをオンプレミスサーバで利利用する場合はその起動時間)

アプリケーションのデプロイ管理理サービス

AWS OpsWorks13

スタック

LBレイヤー

Webレイヤー

DBレイヤー

EC2インスタンス上のOpsWorksエージェント

Automation34

Auto Scaling

bull  特徴 (httpawsamazoncomjpautoscaling)Oslash  Amazon EC2インスタンス群を自動的にスケール

Oslash  耐障害性の向上(インスタンスの異異常を検知して新しいインスタンスを起動)

Oslash  EC2インスタンスの起動料料金金の最適化bull  価格体系 (httpawsamazoncomjpautoscalingpricing)

Oslash  Auto Scaling自体の利利用は無料料Oslash  Auto Scalingによって起動されるEC2インスタンスの起動料料金金

EC2インスタンスを負荷またはスケジュールに応じて自動増減

Auto Scaling group13

Desired Capacity

必要に応じて追加されるCapacity

起動設定bull  インスタンスタイプbull  AMI など

Automation35

Amazon CloudWatch

bull  特徴 (httpawsamazoncomjpcloudwatch)Oslash  AWSリソースの死活性能ログ監視Oslash  取得メトリックスのグラフ化Oslash  各メトリックスに対してアラーム作成

bull  価格体系 (httpawsamazoncomjpcloudwatchpricing)Oslash  基本モニタリング(5分間隔)は無料料Oslash  (利利用する場合) 詳細モニタリングOslash  (利利用する場合)カスタムメトリックスAPIリクエストアラームログ等

AWSの各種リソースを監視するサービス

Automation36

AWS Lambda

bull  特徴 (httpawsamazoncomjplambda)Oslash  OSキャパシティ等インフラの管理理不不要Oslash  S3KinesisSNS等でのイベント発生を元にユーザが用意したコード(Nodejs)を実行行

Oslash  ユーザアプリからの同期非同期呼び出し

bull  価格体系 (httpawsamazoncomjplambdapricing)Oslash  コード実行行時間(100ms単位)Oslash  Lambdaファンクションへのリクエスト回数Oslash  1月あたり100万リクエスト400000GB秒が無料料で利利用可能

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

AWS Lambda Amazon S3 Bucket イベント

元画像 サムネイル画像 1

2

3

AWS Lambda Amazon DynamoDB Table and Stream

プッシュ通知

別テーブルを更更新

イメージのリサイズやサムネイルの作成

値チェックや別テーブルへのコピー

Automation37

水平スケーリングの自動化

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

bull  システムの状況を監視し自動的にスケールアウトイン

38 Automation

水平スケーリングの自動化bull  システムの状況を監視し自動的にスケールアウトインbull  スケールアウトしたインスタンスはユーザーデータのカスタムスクリプトなどで自動設定

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

39 Automation

インスタンスの復復旧も自動化

Automation

bull  Auto Scaling による自動復復旧(Auto Healing)

bull  EC2 Auto Recovery による自動復復旧

サーバークラッシュ

代替リソースが自動的に起動

Auto Scaling group min = 1

40

運用も自動化

Automation

bull  Amazon CloudWatch Events を利利用した運用自動化Oslash Amazon EBS の自動スナップショットOslash  EC2 インスタンスの停止削除

bull  AWS Lambda のスケジュール実行行Oslash プログラムを書いてカスタムな運用項目を自動化

41

疎結合

Loose Coupling

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 22: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

自動化

bull  水平スケールも自動的にbull  水平スケールしたインスタンスに対する設定も自動的に

Oslash  EC2 ユーザーデータメタデータ-  httpdocsawsamazoncomja_jpAWSEC2latestUserGuideec2-‐‑‒instance-‐‑‒metadatahtml

Oslash 構成管理理ツール(Chef Puppet などの3rd party ツール)

bull  次のプリンシプルも参照

Disposable Resources Instead of Fixed Servers 22

DNS によるアクセス

bull  固定 IP アドレスアクセスによる弊害の例例

Disposable Resources Instead of Fixed Servers 23

スケールイン時

100051 100052 100051 100052

100052直打ちでのアクセス

使用率率率が低くなったのでスケールイン

バッチスケジュールの見見直し

bull  並列列化で早く終わらせるOslash  1台で n 時間もn台で 1時間も料料金金は同じ

Disposable Resources Instead of Fixed Servers 24

時間1h 2h 3h

タスク1

タスク2

タスク3

タスク1

タスク2

タスク3

時間1h 2h 3h

利利用時間帯の確認

bull  固定資産ではないので常に稼働させる必要はないbull  実際のワークロード利利用時間帯に合わせて稼働させる必要がない時間は落落としてコスト節約につなげる

Disposable Resources Instead of Fixed Servers 25

可処分所得にするためのポイント

bull  AMI スナップショット戦略略(いつでもリソースを作成できるように準備)Oslash 全部入り AMIOslash BootstrappingOslash Hybrid(AMI と Bootstrapping の組み合わせ)

bull  Infrastructure as CodeOslash 個々のリソースだけでなくシステム全体をいつでも作成できるよう準備(例例)バッチシステムを CloudFormation で作成し完了了したら削除

Disposable Resources Instead of Fixed Servers 26

AMI 戦略略

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

EC2

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

アプリコード

Amazon S3

Log4JSpring

Struts

Linux

J2EE

Hibernate

Tomcat

Apache

Linux

J2EE

アプリコード

Amazon S3

Hibernate

TomcatLog4J

Spring

StrutsApache

EC2

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

EC2

Linux

JEE

Linux

JEE

Chef

Chef

スクリプト

Java AMIJavaスタック Java AMI AMI

起動時取得

起動時取得 起動時取得

[1]全部入りAMI [2]部分設定済 AMI [3]最小構成AMI

27 Disposable Resources Instead of Fixed Servers

AMI 戦略略 ProsCons

方式 利利点 欠点[1]全部入りAMI 同一性の確保

起動時間が早いデプロイ毎にAMIを作り直す必要がある(作成プロセスを自動化すれば欠点とはならない)

[2]部分設定済AMI あとはアプリコードのみ最新を取得すれば良良く扱いやすい

[3]最小構成AMI 柔軟に中身を変更更できる 起動処理理に時間がかかる場合によっては外部ライブラリが取得できないことも

28 Disposable Resources Instead of Fixed Servers

AWS CloudFormation

bull  特徴 (httpawsamazoncomjpcloudformation)Oslash テンプレートを元にEC2やELBといったAWSリソースの環境構築を自動化

Oslash  JSON YAMLフォーマットのテキストでテンプレートを自由に記述可能

Oslash  Microsoft Windows Server や SAP HANA などのリファレンス実装を用意(httpawsamazoncomquickstart)

bull  価格体系 (httpawsamazoncomjpcloudformationpricing)Oslash  追加料料金金はありません

AWS リソース(Amazon EC2 インスタンスや Elastic Load Balancing ロードバランサーなど)に対してお支払いいただきます

設定管理理 amp クラウドのオーケストレーション サービス

スタック

EC2Auto Scaling

テンプレート(設定ファイル)

テンプレートに基づき各リソースが自動起動

EC2

Cloud Formation

29 Disposable Resources Instead of Fixed Servers

自動化

Automation

自動化

bull  自動化を意識識することで得られるメリットOslash オペミス防止などの安定した運用Oslash 運用負荷の軽減Oslash 可用性の向上

bull  AWS と自動化Oslash API で動作するので自動化しやすいOslash 自動化をサポートするサービスが豊富

Automation31

自動化をサポートする代表的なサービス機能

Automation

bull  AWS Elastic Beanstalkbull  AWS OpsWorksbull  Auto Scalingbull  Amazon EC2 Auto Recoverybull  Amazon CloudWatch Alarmsbull  Amazon CloudWatch Eventsbull  AWS Lambda Scheduled events

32

AWS ElasticBeanstalk

bull  特徴 (httpawsamazoncomjpelasticbeanstalk)Oslash  速く簡単にアプリケーションをデプロイ可能Oslash  インフラストラクチャの準備運営からアプリケーションスタックの管理理まで自動化

Oslash  Auto Scaling によりコストを抑えながらスケーラビリティを確保

Oslash  Java PHP Ruby Python Nodejs NET Docker などに対応

bull  価格体系 (httpawsamazoncomjpelasticbeanstalkpricing)Oslash  追加料料金金なしOslash  アプリケーションの保存実行行に必要なAWSリソース (EC2 S3 RDS DynamoDB など) に対してのみ課金金

インフラ構成の構築アプリデプロイの自動化サービス

Automation33

AWS OpsWorks

bull  特徴 (httpawsamazoncomjpopsworks)Oslash  Chefのレシピを使ってデプロイや運用タスクを自動化可能

Oslash  ライフサイクルイベントにより動的な構成変更更への対応が可能

Oslash  継続的な構成管理理bull  価格体系 (httpawsamazoncomjpelasticloadbalancingpricing)

Oslash  AWS OpsWorks自体の利利用は無料料Oslash  (OpsWorksエージェントをオンプレミスサーバで利利用する場合はその起動時間)

アプリケーションのデプロイ管理理サービス

AWS OpsWorks13

スタック

LBレイヤー

Webレイヤー

DBレイヤー

EC2インスタンス上のOpsWorksエージェント

Automation34

Auto Scaling

bull  特徴 (httpawsamazoncomjpautoscaling)Oslash  Amazon EC2インスタンス群を自動的にスケール

Oslash  耐障害性の向上(インスタンスの異異常を検知して新しいインスタンスを起動)

Oslash  EC2インスタンスの起動料料金金の最適化bull  価格体系 (httpawsamazoncomjpautoscalingpricing)

Oslash  Auto Scaling自体の利利用は無料料Oslash  Auto Scalingによって起動されるEC2インスタンスの起動料料金金

EC2インスタンスを負荷またはスケジュールに応じて自動増減

Auto Scaling group13

Desired Capacity

必要に応じて追加されるCapacity

起動設定bull  インスタンスタイプbull  AMI など

Automation35

Amazon CloudWatch

bull  特徴 (httpawsamazoncomjpcloudwatch)Oslash  AWSリソースの死活性能ログ監視Oslash  取得メトリックスのグラフ化Oslash  各メトリックスに対してアラーム作成

bull  価格体系 (httpawsamazoncomjpcloudwatchpricing)Oslash  基本モニタリング(5分間隔)は無料料Oslash  (利利用する場合) 詳細モニタリングOslash  (利利用する場合)カスタムメトリックスAPIリクエストアラームログ等

AWSの各種リソースを監視するサービス

Automation36

AWS Lambda

bull  特徴 (httpawsamazoncomjplambda)Oslash  OSキャパシティ等インフラの管理理不不要Oslash  S3KinesisSNS等でのイベント発生を元にユーザが用意したコード(Nodejs)を実行行

Oslash  ユーザアプリからの同期非同期呼び出し

bull  価格体系 (httpawsamazoncomjplambdapricing)Oslash  コード実行行時間(100ms単位)Oslash  Lambdaファンクションへのリクエスト回数Oslash  1月あたり100万リクエスト400000GB秒が無料料で利利用可能

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

AWS Lambda Amazon S3 Bucket イベント

元画像 サムネイル画像 1

2

3

AWS Lambda Amazon DynamoDB Table and Stream

プッシュ通知

別テーブルを更更新

イメージのリサイズやサムネイルの作成

値チェックや別テーブルへのコピー

Automation37

水平スケーリングの自動化

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

bull  システムの状況を監視し自動的にスケールアウトイン

38 Automation

水平スケーリングの自動化bull  システムの状況を監視し自動的にスケールアウトインbull  スケールアウトしたインスタンスはユーザーデータのカスタムスクリプトなどで自動設定

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

39 Automation

インスタンスの復復旧も自動化

Automation

bull  Auto Scaling による自動復復旧(Auto Healing)

bull  EC2 Auto Recovery による自動復復旧

サーバークラッシュ

代替リソースが自動的に起動

Auto Scaling group min = 1

40

運用も自動化

Automation

bull  Amazon CloudWatch Events を利利用した運用自動化Oslash Amazon EBS の自動スナップショットOslash  EC2 インスタンスの停止削除

bull  AWS Lambda のスケジュール実行行Oslash プログラムを書いてカスタムな運用項目を自動化

41

疎結合

Loose Coupling

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 23: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

DNS によるアクセス

bull  固定 IP アドレスアクセスによる弊害の例例

Disposable Resources Instead of Fixed Servers 23

スケールイン時

100051 100052 100051 100052

100052直打ちでのアクセス

使用率率率が低くなったのでスケールイン

バッチスケジュールの見見直し

bull  並列列化で早く終わらせるOslash  1台で n 時間もn台で 1時間も料料金金は同じ

Disposable Resources Instead of Fixed Servers 24

時間1h 2h 3h

タスク1

タスク2

タスク3

タスク1

タスク2

タスク3

時間1h 2h 3h

利利用時間帯の確認

bull  固定資産ではないので常に稼働させる必要はないbull  実際のワークロード利利用時間帯に合わせて稼働させる必要がない時間は落落としてコスト節約につなげる

Disposable Resources Instead of Fixed Servers 25

可処分所得にするためのポイント

bull  AMI スナップショット戦略略(いつでもリソースを作成できるように準備)Oslash 全部入り AMIOslash BootstrappingOslash Hybrid(AMI と Bootstrapping の組み合わせ)

bull  Infrastructure as CodeOslash 個々のリソースだけでなくシステム全体をいつでも作成できるよう準備(例例)バッチシステムを CloudFormation で作成し完了了したら削除

Disposable Resources Instead of Fixed Servers 26

AMI 戦略略

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

EC2

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

アプリコード

Amazon S3

Log4JSpring

Struts

Linux

J2EE

Hibernate

Tomcat

Apache

Linux

J2EE

アプリコード

Amazon S3

Hibernate

TomcatLog4J

Spring

StrutsApache

EC2

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

EC2

Linux

JEE

Linux

JEE

Chef

Chef

スクリプト

Java AMIJavaスタック Java AMI AMI

起動時取得

起動時取得 起動時取得

[1]全部入りAMI [2]部分設定済 AMI [3]最小構成AMI

27 Disposable Resources Instead of Fixed Servers

AMI 戦略略 ProsCons

方式 利利点 欠点[1]全部入りAMI 同一性の確保

起動時間が早いデプロイ毎にAMIを作り直す必要がある(作成プロセスを自動化すれば欠点とはならない)

[2]部分設定済AMI あとはアプリコードのみ最新を取得すれば良良く扱いやすい

[3]最小構成AMI 柔軟に中身を変更更できる 起動処理理に時間がかかる場合によっては外部ライブラリが取得できないことも

28 Disposable Resources Instead of Fixed Servers

AWS CloudFormation

bull  特徴 (httpawsamazoncomjpcloudformation)Oslash テンプレートを元にEC2やELBといったAWSリソースの環境構築を自動化

Oslash  JSON YAMLフォーマットのテキストでテンプレートを自由に記述可能

Oslash  Microsoft Windows Server や SAP HANA などのリファレンス実装を用意(httpawsamazoncomquickstart)

bull  価格体系 (httpawsamazoncomjpcloudformationpricing)Oslash  追加料料金金はありません

AWS リソース(Amazon EC2 インスタンスや Elastic Load Balancing ロードバランサーなど)に対してお支払いいただきます

設定管理理 amp クラウドのオーケストレーション サービス

スタック

EC2Auto Scaling

テンプレート(設定ファイル)

テンプレートに基づき各リソースが自動起動

EC2

Cloud Formation

29 Disposable Resources Instead of Fixed Servers

自動化

Automation

自動化

bull  自動化を意識識することで得られるメリットOslash オペミス防止などの安定した運用Oslash 運用負荷の軽減Oslash 可用性の向上

bull  AWS と自動化Oslash API で動作するので自動化しやすいOslash 自動化をサポートするサービスが豊富

Automation31

自動化をサポートする代表的なサービス機能

Automation

bull  AWS Elastic Beanstalkbull  AWS OpsWorksbull  Auto Scalingbull  Amazon EC2 Auto Recoverybull  Amazon CloudWatch Alarmsbull  Amazon CloudWatch Eventsbull  AWS Lambda Scheduled events

32

AWS ElasticBeanstalk

bull  特徴 (httpawsamazoncomjpelasticbeanstalk)Oslash  速く簡単にアプリケーションをデプロイ可能Oslash  インフラストラクチャの準備運営からアプリケーションスタックの管理理まで自動化

Oslash  Auto Scaling によりコストを抑えながらスケーラビリティを確保

Oslash  Java PHP Ruby Python Nodejs NET Docker などに対応

bull  価格体系 (httpawsamazoncomjpelasticbeanstalkpricing)Oslash  追加料料金金なしOslash  アプリケーションの保存実行行に必要なAWSリソース (EC2 S3 RDS DynamoDB など) に対してのみ課金金

インフラ構成の構築アプリデプロイの自動化サービス

Automation33

AWS OpsWorks

bull  特徴 (httpawsamazoncomjpopsworks)Oslash  Chefのレシピを使ってデプロイや運用タスクを自動化可能

Oslash  ライフサイクルイベントにより動的な構成変更更への対応が可能

Oslash  継続的な構成管理理bull  価格体系 (httpawsamazoncomjpelasticloadbalancingpricing)

Oslash  AWS OpsWorks自体の利利用は無料料Oslash  (OpsWorksエージェントをオンプレミスサーバで利利用する場合はその起動時間)

アプリケーションのデプロイ管理理サービス

AWS OpsWorks13

スタック

LBレイヤー

Webレイヤー

DBレイヤー

EC2インスタンス上のOpsWorksエージェント

Automation34

Auto Scaling

bull  特徴 (httpawsamazoncomjpautoscaling)Oslash  Amazon EC2インスタンス群を自動的にスケール

Oslash  耐障害性の向上(インスタンスの異異常を検知して新しいインスタンスを起動)

Oslash  EC2インスタンスの起動料料金金の最適化bull  価格体系 (httpawsamazoncomjpautoscalingpricing)

Oslash  Auto Scaling自体の利利用は無料料Oslash  Auto Scalingによって起動されるEC2インスタンスの起動料料金金

EC2インスタンスを負荷またはスケジュールに応じて自動増減

Auto Scaling group13

Desired Capacity

必要に応じて追加されるCapacity

起動設定bull  インスタンスタイプbull  AMI など

Automation35

Amazon CloudWatch

bull  特徴 (httpawsamazoncomjpcloudwatch)Oslash  AWSリソースの死活性能ログ監視Oslash  取得メトリックスのグラフ化Oslash  各メトリックスに対してアラーム作成

bull  価格体系 (httpawsamazoncomjpcloudwatchpricing)Oslash  基本モニタリング(5分間隔)は無料料Oslash  (利利用する場合) 詳細モニタリングOslash  (利利用する場合)カスタムメトリックスAPIリクエストアラームログ等

AWSの各種リソースを監視するサービス

Automation36

AWS Lambda

bull  特徴 (httpawsamazoncomjplambda)Oslash  OSキャパシティ等インフラの管理理不不要Oslash  S3KinesisSNS等でのイベント発生を元にユーザが用意したコード(Nodejs)を実行行

Oslash  ユーザアプリからの同期非同期呼び出し

bull  価格体系 (httpawsamazoncomjplambdapricing)Oslash  コード実行行時間(100ms単位)Oslash  Lambdaファンクションへのリクエスト回数Oslash  1月あたり100万リクエスト400000GB秒が無料料で利利用可能

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

AWS Lambda Amazon S3 Bucket イベント

元画像 サムネイル画像 1

2

3

AWS Lambda Amazon DynamoDB Table and Stream

プッシュ通知

別テーブルを更更新

イメージのリサイズやサムネイルの作成

値チェックや別テーブルへのコピー

Automation37

水平スケーリングの自動化

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

bull  システムの状況を監視し自動的にスケールアウトイン

38 Automation

水平スケーリングの自動化bull  システムの状況を監視し自動的にスケールアウトインbull  スケールアウトしたインスタンスはユーザーデータのカスタムスクリプトなどで自動設定

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

39 Automation

インスタンスの復復旧も自動化

Automation

bull  Auto Scaling による自動復復旧(Auto Healing)

bull  EC2 Auto Recovery による自動復復旧

サーバークラッシュ

代替リソースが自動的に起動

Auto Scaling group min = 1

40

運用も自動化

Automation

bull  Amazon CloudWatch Events を利利用した運用自動化Oslash Amazon EBS の自動スナップショットOslash  EC2 インスタンスの停止削除

bull  AWS Lambda のスケジュール実行行Oslash プログラムを書いてカスタムな運用項目を自動化

41

疎結合

Loose Coupling

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 24: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

バッチスケジュールの見見直し

bull  並列列化で早く終わらせるOslash  1台で n 時間もn台で 1時間も料料金金は同じ

Disposable Resources Instead of Fixed Servers 24

時間1h 2h 3h

タスク1

タスク2

タスク3

タスク1

タスク2

タスク3

時間1h 2h 3h

利利用時間帯の確認

bull  固定資産ではないので常に稼働させる必要はないbull  実際のワークロード利利用時間帯に合わせて稼働させる必要がない時間は落落としてコスト節約につなげる

Disposable Resources Instead of Fixed Servers 25

可処分所得にするためのポイント

bull  AMI スナップショット戦略略(いつでもリソースを作成できるように準備)Oslash 全部入り AMIOslash BootstrappingOslash Hybrid(AMI と Bootstrapping の組み合わせ)

bull  Infrastructure as CodeOslash 個々のリソースだけでなくシステム全体をいつでも作成できるよう準備(例例)バッチシステムを CloudFormation で作成し完了了したら削除

Disposable Resources Instead of Fixed Servers 26

AMI 戦略略

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

EC2

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

アプリコード

Amazon S3

Log4JSpring

Struts

Linux

J2EE

Hibernate

Tomcat

Apache

Linux

J2EE

アプリコード

Amazon S3

Hibernate

TomcatLog4J

Spring

StrutsApache

EC2

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

EC2

Linux

JEE

Linux

JEE

Chef

Chef

スクリプト

Java AMIJavaスタック Java AMI AMI

起動時取得

起動時取得 起動時取得

[1]全部入りAMI [2]部分設定済 AMI [3]最小構成AMI

27 Disposable Resources Instead of Fixed Servers

AMI 戦略略 ProsCons

方式 利利点 欠点[1]全部入りAMI 同一性の確保

起動時間が早いデプロイ毎にAMIを作り直す必要がある(作成プロセスを自動化すれば欠点とはならない)

[2]部分設定済AMI あとはアプリコードのみ最新を取得すれば良良く扱いやすい

[3]最小構成AMI 柔軟に中身を変更更できる 起動処理理に時間がかかる場合によっては外部ライブラリが取得できないことも

28 Disposable Resources Instead of Fixed Servers

AWS CloudFormation

bull  特徴 (httpawsamazoncomjpcloudformation)Oslash テンプレートを元にEC2やELBといったAWSリソースの環境構築を自動化

Oslash  JSON YAMLフォーマットのテキストでテンプレートを自由に記述可能

Oslash  Microsoft Windows Server や SAP HANA などのリファレンス実装を用意(httpawsamazoncomquickstart)

bull  価格体系 (httpawsamazoncomjpcloudformationpricing)Oslash  追加料料金金はありません

AWS リソース(Amazon EC2 インスタンスや Elastic Load Balancing ロードバランサーなど)に対してお支払いいただきます

設定管理理 amp クラウドのオーケストレーション サービス

スタック

EC2Auto Scaling

テンプレート(設定ファイル)

テンプレートに基づき各リソースが自動起動

EC2

Cloud Formation

29 Disposable Resources Instead of Fixed Servers

自動化

Automation

自動化

bull  自動化を意識識することで得られるメリットOslash オペミス防止などの安定した運用Oslash 運用負荷の軽減Oslash 可用性の向上

bull  AWS と自動化Oslash API で動作するので自動化しやすいOslash 自動化をサポートするサービスが豊富

Automation31

自動化をサポートする代表的なサービス機能

Automation

bull  AWS Elastic Beanstalkbull  AWS OpsWorksbull  Auto Scalingbull  Amazon EC2 Auto Recoverybull  Amazon CloudWatch Alarmsbull  Amazon CloudWatch Eventsbull  AWS Lambda Scheduled events

32

AWS ElasticBeanstalk

bull  特徴 (httpawsamazoncomjpelasticbeanstalk)Oslash  速く簡単にアプリケーションをデプロイ可能Oslash  インフラストラクチャの準備運営からアプリケーションスタックの管理理まで自動化

Oslash  Auto Scaling によりコストを抑えながらスケーラビリティを確保

Oslash  Java PHP Ruby Python Nodejs NET Docker などに対応

bull  価格体系 (httpawsamazoncomjpelasticbeanstalkpricing)Oslash  追加料料金金なしOslash  アプリケーションの保存実行行に必要なAWSリソース (EC2 S3 RDS DynamoDB など) に対してのみ課金金

インフラ構成の構築アプリデプロイの自動化サービス

Automation33

AWS OpsWorks

bull  特徴 (httpawsamazoncomjpopsworks)Oslash  Chefのレシピを使ってデプロイや運用タスクを自動化可能

Oslash  ライフサイクルイベントにより動的な構成変更更への対応が可能

Oslash  継続的な構成管理理bull  価格体系 (httpawsamazoncomjpelasticloadbalancingpricing)

Oslash  AWS OpsWorks自体の利利用は無料料Oslash  (OpsWorksエージェントをオンプレミスサーバで利利用する場合はその起動時間)

アプリケーションのデプロイ管理理サービス

AWS OpsWorks13

スタック

LBレイヤー

Webレイヤー

DBレイヤー

EC2インスタンス上のOpsWorksエージェント

Automation34

Auto Scaling

bull  特徴 (httpawsamazoncomjpautoscaling)Oslash  Amazon EC2インスタンス群を自動的にスケール

Oslash  耐障害性の向上(インスタンスの異異常を検知して新しいインスタンスを起動)

Oslash  EC2インスタンスの起動料料金金の最適化bull  価格体系 (httpawsamazoncomjpautoscalingpricing)

Oslash  Auto Scaling自体の利利用は無料料Oslash  Auto Scalingによって起動されるEC2インスタンスの起動料料金金

EC2インスタンスを負荷またはスケジュールに応じて自動増減

Auto Scaling group13

Desired Capacity

必要に応じて追加されるCapacity

起動設定bull  インスタンスタイプbull  AMI など

Automation35

Amazon CloudWatch

bull  特徴 (httpawsamazoncomjpcloudwatch)Oslash  AWSリソースの死活性能ログ監視Oslash  取得メトリックスのグラフ化Oslash  各メトリックスに対してアラーム作成

bull  価格体系 (httpawsamazoncomjpcloudwatchpricing)Oslash  基本モニタリング(5分間隔)は無料料Oslash  (利利用する場合) 詳細モニタリングOslash  (利利用する場合)カスタムメトリックスAPIリクエストアラームログ等

AWSの各種リソースを監視するサービス

Automation36

AWS Lambda

bull  特徴 (httpawsamazoncomjplambda)Oslash  OSキャパシティ等インフラの管理理不不要Oslash  S3KinesisSNS等でのイベント発生を元にユーザが用意したコード(Nodejs)を実行行

Oslash  ユーザアプリからの同期非同期呼び出し

bull  価格体系 (httpawsamazoncomjplambdapricing)Oslash  コード実行行時間(100ms単位)Oslash  Lambdaファンクションへのリクエスト回数Oslash  1月あたり100万リクエスト400000GB秒が無料料で利利用可能

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

AWS Lambda Amazon S3 Bucket イベント

元画像 サムネイル画像 1

2

3

AWS Lambda Amazon DynamoDB Table and Stream

プッシュ通知

別テーブルを更更新

イメージのリサイズやサムネイルの作成

値チェックや別テーブルへのコピー

Automation37

水平スケーリングの自動化

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

bull  システムの状況を監視し自動的にスケールアウトイン

38 Automation

水平スケーリングの自動化bull  システムの状況を監視し自動的にスケールアウトインbull  スケールアウトしたインスタンスはユーザーデータのカスタムスクリプトなどで自動設定

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

39 Automation

インスタンスの復復旧も自動化

Automation

bull  Auto Scaling による自動復復旧(Auto Healing)

bull  EC2 Auto Recovery による自動復復旧

サーバークラッシュ

代替リソースが自動的に起動

Auto Scaling group min = 1

40

運用も自動化

Automation

bull  Amazon CloudWatch Events を利利用した運用自動化Oslash Amazon EBS の自動スナップショットOslash  EC2 インスタンスの停止削除

bull  AWS Lambda のスケジュール実行行Oslash プログラムを書いてカスタムな運用項目を自動化

41

疎結合

Loose Coupling

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 25: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

利利用時間帯の確認

bull  固定資産ではないので常に稼働させる必要はないbull  実際のワークロード利利用時間帯に合わせて稼働させる必要がない時間は落落としてコスト節約につなげる

Disposable Resources Instead of Fixed Servers 25

可処分所得にするためのポイント

bull  AMI スナップショット戦略略(いつでもリソースを作成できるように準備)Oslash 全部入り AMIOslash BootstrappingOslash Hybrid(AMI と Bootstrapping の組み合わせ)

bull  Infrastructure as CodeOslash 個々のリソースだけでなくシステム全体をいつでも作成できるよう準備(例例)バッチシステムを CloudFormation で作成し完了了したら削除

Disposable Resources Instead of Fixed Servers 26

AMI 戦略略

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

EC2

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

アプリコード

Amazon S3

Log4JSpring

Struts

Linux

J2EE

Hibernate

Tomcat

Apache

Linux

J2EE

アプリコード

Amazon S3

Hibernate

TomcatLog4J

Spring

StrutsApache

EC2

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

EC2

Linux

JEE

Linux

JEE

Chef

Chef

スクリプト

Java AMIJavaスタック Java AMI AMI

起動時取得

起動時取得 起動時取得

[1]全部入りAMI [2]部分設定済 AMI [3]最小構成AMI

27 Disposable Resources Instead of Fixed Servers

AMI 戦略略 ProsCons

方式 利利点 欠点[1]全部入りAMI 同一性の確保

起動時間が早いデプロイ毎にAMIを作り直す必要がある(作成プロセスを自動化すれば欠点とはならない)

[2]部分設定済AMI あとはアプリコードのみ最新を取得すれば良良く扱いやすい

[3]最小構成AMI 柔軟に中身を変更更できる 起動処理理に時間がかかる場合によっては外部ライブラリが取得できないことも

28 Disposable Resources Instead of Fixed Servers

AWS CloudFormation

bull  特徴 (httpawsamazoncomjpcloudformation)Oslash テンプレートを元にEC2やELBといったAWSリソースの環境構築を自動化

Oslash  JSON YAMLフォーマットのテキストでテンプレートを自由に記述可能

Oslash  Microsoft Windows Server や SAP HANA などのリファレンス実装を用意(httpawsamazoncomquickstart)

bull  価格体系 (httpawsamazoncomjpcloudformationpricing)Oslash  追加料料金金はありません

AWS リソース(Amazon EC2 インスタンスや Elastic Load Balancing ロードバランサーなど)に対してお支払いいただきます

設定管理理 amp クラウドのオーケストレーション サービス

スタック

EC2Auto Scaling

テンプレート(設定ファイル)

テンプレートに基づき各リソースが自動起動

EC2

Cloud Formation

29 Disposable Resources Instead of Fixed Servers

自動化

Automation

自動化

bull  自動化を意識識することで得られるメリットOslash オペミス防止などの安定した運用Oslash 運用負荷の軽減Oslash 可用性の向上

bull  AWS と自動化Oslash API で動作するので自動化しやすいOslash 自動化をサポートするサービスが豊富

Automation31

自動化をサポートする代表的なサービス機能

Automation

bull  AWS Elastic Beanstalkbull  AWS OpsWorksbull  Auto Scalingbull  Amazon EC2 Auto Recoverybull  Amazon CloudWatch Alarmsbull  Amazon CloudWatch Eventsbull  AWS Lambda Scheduled events

32

AWS ElasticBeanstalk

bull  特徴 (httpawsamazoncomjpelasticbeanstalk)Oslash  速く簡単にアプリケーションをデプロイ可能Oslash  インフラストラクチャの準備運営からアプリケーションスタックの管理理まで自動化

Oslash  Auto Scaling によりコストを抑えながらスケーラビリティを確保

Oslash  Java PHP Ruby Python Nodejs NET Docker などに対応

bull  価格体系 (httpawsamazoncomjpelasticbeanstalkpricing)Oslash  追加料料金金なしOslash  アプリケーションの保存実行行に必要なAWSリソース (EC2 S3 RDS DynamoDB など) に対してのみ課金金

インフラ構成の構築アプリデプロイの自動化サービス

Automation33

AWS OpsWorks

bull  特徴 (httpawsamazoncomjpopsworks)Oslash  Chefのレシピを使ってデプロイや運用タスクを自動化可能

Oslash  ライフサイクルイベントにより動的な構成変更更への対応が可能

Oslash  継続的な構成管理理bull  価格体系 (httpawsamazoncomjpelasticloadbalancingpricing)

Oslash  AWS OpsWorks自体の利利用は無料料Oslash  (OpsWorksエージェントをオンプレミスサーバで利利用する場合はその起動時間)

アプリケーションのデプロイ管理理サービス

AWS OpsWorks13

スタック

LBレイヤー

Webレイヤー

DBレイヤー

EC2インスタンス上のOpsWorksエージェント

Automation34

Auto Scaling

bull  特徴 (httpawsamazoncomjpautoscaling)Oslash  Amazon EC2インスタンス群を自動的にスケール

Oslash  耐障害性の向上(インスタンスの異異常を検知して新しいインスタンスを起動)

Oslash  EC2インスタンスの起動料料金金の最適化bull  価格体系 (httpawsamazoncomjpautoscalingpricing)

Oslash  Auto Scaling自体の利利用は無料料Oslash  Auto Scalingによって起動されるEC2インスタンスの起動料料金金

EC2インスタンスを負荷またはスケジュールに応じて自動増減

Auto Scaling group13

Desired Capacity

必要に応じて追加されるCapacity

起動設定bull  インスタンスタイプbull  AMI など

Automation35

Amazon CloudWatch

bull  特徴 (httpawsamazoncomjpcloudwatch)Oslash  AWSリソースの死活性能ログ監視Oslash  取得メトリックスのグラフ化Oslash  各メトリックスに対してアラーム作成

bull  価格体系 (httpawsamazoncomjpcloudwatchpricing)Oslash  基本モニタリング(5分間隔)は無料料Oslash  (利利用する場合) 詳細モニタリングOslash  (利利用する場合)カスタムメトリックスAPIリクエストアラームログ等

AWSの各種リソースを監視するサービス

Automation36

AWS Lambda

bull  特徴 (httpawsamazoncomjplambda)Oslash  OSキャパシティ等インフラの管理理不不要Oslash  S3KinesisSNS等でのイベント発生を元にユーザが用意したコード(Nodejs)を実行行

Oslash  ユーザアプリからの同期非同期呼び出し

bull  価格体系 (httpawsamazoncomjplambdapricing)Oslash  コード実行行時間(100ms単位)Oslash  Lambdaファンクションへのリクエスト回数Oslash  1月あたり100万リクエスト400000GB秒が無料料で利利用可能

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

AWS Lambda Amazon S3 Bucket イベント

元画像 サムネイル画像 1

2

3

AWS Lambda Amazon DynamoDB Table and Stream

プッシュ通知

別テーブルを更更新

イメージのリサイズやサムネイルの作成

値チェックや別テーブルへのコピー

Automation37

水平スケーリングの自動化

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

bull  システムの状況を監視し自動的にスケールアウトイン

38 Automation

水平スケーリングの自動化bull  システムの状況を監視し自動的にスケールアウトインbull  スケールアウトしたインスタンスはユーザーデータのカスタムスクリプトなどで自動設定

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

39 Automation

インスタンスの復復旧も自動化

Automation

bull  Auto Scaling による自動復復旧(Auto Healing)

bull  EC2 Auto Recovery による自動復復旧

サーバークラッシュ

代替リソースが自動的に起動

Auto Scaling group min = 1

40

運用も自動化

Automation

bull  Amazon CloudWatch Events を利利用した運用自動化Oslash Amazon EBS の自動スナップショットOslash  EC2 インスタンスの停止削除

bull  AWS Lambda のスケジュール実行行Oslash プログラムを書いてカスタムな運用項目を自動化

41

疎結合

Loose Coupling

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 26: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

可処分所得にするためのポイント

bull  AMI スナップショット戦略略(いつでもリソースを作成できるように準備)Oslash 全部入り AMIOslash BootstrappingOslash Hybrid(AMI と Bootstrapping の組み合わせ)

bull  Infrastructure as CodeOslash 個々のリソースだけでなくシステム全体をいつでも作成できるよう準備(例例)バッチシステムを CloudFormation で作成し完了了したら削除

Disposable Resources Instead of Fixed Servers 26

AMI 戦略略

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

EC2

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

アプリコード

Amazon S3

Log4JSpring

Struts

Linux

J2EE

Hibernate

Tomcat

Apache

Linux

J2EE

アプリコード

Amazon S3

Hibernate

TomcatLog4J

Spring

StrutsApache

EC2

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

EC2

Linux

JEE

Linux

JEE

Chef

Chef

スクリプト

Java AMIJavaスタック Java AMI AMI

起動時取得

起動時取得 起動時取得

[1]全部入りAMI [2]部分設定済 AMI [3]最小構成AMI

27 Disposable Resources Instead of Fixed Servers

AMI 戦略略 ProsCons

方式 利利点 欠点[1]全部入りAMI 同一性の確保

起動時間が早いデプロイ毎にAMIを作り直す必要がある(作成プロセスを自動化すれば欠点とはならない)

[2]部分設定済AMI あとはアプリコードのみ最新を取得すれば良良く扱いやすい

[3]最小構成AMI 柔軟に中身を変更更できる 起動処理理に時間がかかる場合によっては外部ライブラリが取得できないことも

28 Disposable Resources Instead of Fixed Servers

AWS CloudFormation

bull  特徴 (httpawsamazoncomjpcloudformation)Oslash テンプレートを元にEC2やELBといったAWSリソースの環境構築を自動化

Oslash  JSON YAMLフォーマットのテキストでテンプレートを自由に記述可能

Oslash  Microsoft Windows Server や SAP HANA などのリファレンス実装を用意(httpawsamazoncomquickstart)

bull  価格体系 (httpawsamazoncomjpcloudformationpricing)Oslash  追加料料金金はありません

AWS リソース(Amazon EC2 インスタンスや Elastic Load Balancing ロードバランサーなど)に対してお支払いいただきます

設定管理理 amp クラウドのオーケストレーション サービス

スタック

EC2Auto Scaling

テンプレート(設定ファイル)

テンプレートに基づき各リソースが自動起動

EC2

Cloud Formation

29 Disposable Resources Instead of Fixed Servers

自動化

Automation

自動化

bull  自動化を意識識することで得られるメリットOslash オペミス防止などの安定した運用Oslash 運用負荷の軽減Oslash 可用性の向上

bull  AWS と自動化Oslash API で動作するので自動化しやすいOslash 自動化をサポートするサービスが豊富

Automation31

自動化をサポートする代表的なサービス機能

Automation

bull  AWS Elastic Beanstalkbull  AWS OpsWorksbull  Auto Scalingbull  Amazon EC2 Auto Recoverybull  Amazon CloudWatch Alarmsbull  Amazon CloudWatch Eventsbull  AWS Lambda Scheduled events

32

AWS ElasticBeanstalk

bull  特徴 (httpawsamazoncomjpelasticbeanstalk)Oslash  速く簡単にアプリケーションをデプロイ可能Oslash  インフラストラクチャの準備運営からアプリケーションスタックの管理理まで自動化

Oslash  Auto Scaling によりコストを抑えながらスケーラビリティを確保

Oslash  Java PHP Ruby Python Nodejs NET Docker などに対応

bull  価格体系 (httpawsamazoncomjpelasticbeanstalkpricing)Oslash  追加料料金金なしOslash  アプリケーションの保存実行行に必要なAWSリソース (EC2 S3 RDS DynamoDB など) に対してのみ課金金

インフラ構成の構築アプリデプロイの自動化サービス

Automation33

AWS OpsWorks

bull  特徴 (httpawsamazoncomjpopsworks)Oslash  Chefのレシピを使ってデプロイや運用タスクを自動化可能

Oslash  ライフサイクルイベントにより動的な構成変更更への対応が可能

Oslash  継続的な構成管理理bull  価格体系 (httpawsamazoncomjpelasticloadbalancingpricing)

Oslash  AWS OpsWorks自体の利利用は無料料Oslash  (OpsWorksエージェントをオンプレミスサーバで利利用する場合はその起動時間)

アプリケーションのデプロイ管理理サービス

AWS OpsWorks13

スタック

LBレイヤー

Webレイヤー

DBレイヤー

EC2インスタンス上のOpsWorksエージェント

Automation34

Auto Scaling

bull  特徴 (httpawsamazoncomjpautoscaling)Oslash  Amazon EC2インスタンス群を自動的にスケール

Oslash  耐障害性の向上(インスタンスの異異常を検知して新しいインスタンスを起動)

Oslash  EC2インスタンスの起動料料金金の最適化bull  価格体系 (httpawsamazoncomjpautoscalingpricing)

Oslash  Auto Scaling自体の利利用は無料料Oslash  Auto Scalingによって起動されるEC2インスタンスの起動料料金金

EC2インスタンスを負荷またはスケジュールに応じて自動増減

Auto Scaling group13

Desired Capacity

必要に応じて追加されるCapacity

起動設定bull  インスタンスタイプbull  AMI など

Automation35

Amazon CloudWatch

bull  特徴 (httpawsamazoncomjpcloudwatch)Oslash  AWSリソースの死活性能ログ監視Oslash  取得メトリックスのグラフ化Oslash  各メトリックスに対してアラーム作成

bull  価格体系 (httpawsamazoncomjpcloudwatchpricing)Oslash  基本モニタリング(5分間隔)は無料料Oslash  (利利用する場合) 詳細モニタリングOslash  (利利用する場合)カスタムメトリックスAPIリクエストアラームログ等

AWSの各種リソースを監視するサービス

Automation36

AWS Lambda

bull  特徴 (httpawsamazoncomjplambda)Oslash  OSキャパシティ等インフラの管理理不不要Oslash  S3KinesisSNS等でのイベント発生を元にユーザが用意したコード(Nodejs)を実行行

Oslash  ユーザアプリからの同期非同期呼び出し

bull  価格体系 (httpawsamazoncomjplambdapricing)Oslash  コード実行行時間(100ms単位)Oslash  Lambdaファンクションへのリクエスト回数Oslash  1月あたり100万リクエスト400000GB秒が無料料で利利用可能

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

AWS Lambda Amazon S3 Bucket イベント

元画像 サムネイル画像 1

2

3

AWS Lambda Amazon DynamoDB Table and Stream

プッシュ通知

別テーブルを更更新

イメージのリサイズやサムネイルの作成

値チェックや別テーブルへのコピー

Automation37

水平スケーリングの自動化

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

bull  システムの状況を監視し自動的にスケールアウトイン

38 Automation

水平スケーリングの自動化bull  システムの状況を監視し自動的にスケールアウトインbull  スケールアウトしたインスタンスはユーザーデータのカスタムスクリプトなどで自動設定

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

39 Automation

インスタンスの復復旧も自動化

Automation

bull  Auto Scaling による自動復復旧(Auto Healing)

bull  EC2 Auto Recovery による自動復復旧

サーバークラッシュ

代替リソースが自動的に起動

Auto Scaling group min = 1

40

運用も自動化

Automation

bull  Amazon CloudWatch Events を利利用した運用自動化Oslash Amazon EBS の自動スナップショットOslash  EC2 インスタンスの停止削除

bull  AWS Lambda のスケジュール実行行Oslash プログラムを書いてカスタムな運用項目を自動化

41

疎結合

Loose Coupling

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 27: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

AMI 戦略略

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

J2EE

アプリコード

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

EC2

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

Linux

JEE

Your Code

Log4J

Spring

Hibernate

Struts

Tomcat

Apache

アプリコード

Amazon S3

Log4JSpring

Struts

Linux

J2EE

Hibernate

Tomcat

Apache

Linux

J2EE

アプリコード

Amazon S3

Hibernate

TomcatLog4J

Spring

StrutsApache

EC2

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

Linux

JEE

Hiber

nate

Tomca

t

Apach

e

EC2

Linux

JEE

Linux

JEE

Chef

Chef

スクリプト

Java AMIJavaスタック Java AMI AMI

起動時取得

起動時取得 起動時取得

[1]全部入りAMI [2]部分設定済 AMI [3]最小構成AMI

27 Disposable Resources Instead of Fixed Servers

AMI 戦略略 ProsCons

方式 利利点 欠点[1]全部入りAMI 同一性の確保

起動時間が早いデプロイ毎にAMIを作り直す必要がある(作成プロセスを自動化すれば欠点とはならない)

[2]部分設定済AMI あとはアプリコードのみ最新を取得すれば良良く扱いやすい

[3]最小構成AMI 柔軟に中身を変更更できる 起動処理理に時間がかかる場合によっては外部ライブラリが取得できないことも

28 Disposable Resources Instead of Fixed Servers

AWS CloudFormation

bull  特徴 (httpawsamazoncomjpcloudformation)Oslash テンプレートを元にEC2やELBといったAWSリソースの環境構築を自動化

Oslash  JSON YAMLフォーマットのテキストでテンプレートを自由に記述可能

Oslash  Microsoft Windows Server や SAP HANA などのリファレンス実装を用意(httpawsamazoncomquickstart)

bull  価格体系 (httpawsamazoncomjpcloudformationpricing)Oslash  追加料料金金はありません

AWS リソース(Amazon EC2 インスタンスや Elastic Load Balancing ロードバランサーなど)に対してお支払いいただきます

設定管理理 amp クラウドのオーケストレーション サービス

スタック

EC2Auto Scaling

テンプレート(設定ファイル)

テンプレートに基づき各リソースが自動起動

EC2

Cloud Formation

29 Disposable Resources Instead of Fixed Servers

自動化

Automation

自動化

bull  自動化を意識識することで得られるメリットOslash オペミス防止などの安定した運用Oslash 運用負荷の軽減Oslash 可用性の向上

bull  AWS と自動化Oslash API で動作するので自動化しやすいOslash 自動化をサポートするサービスが豊富

Automation31

自動化をサポートする代表的なサービス機能

Automation

bull  AWS Elastic Beanstalkbull  AWS OpsWorksbull  Auto Scalingbull  Amazon EC2 Auto Recoverybull  Amazon CloudWatch Alarmsbull  Amazon CloudWatch Eventsbull  AWS Lambda Scheduled events

32

AWS ElasticBeanstalk

bull  特徴 (httpawsamazoncomjpelasticbeanstalk)Oslash  速く簡単にアプリケーションをデプロイ可能Oslash  インフラストラクチャの準備運営からアプリケーションスタックの管理理まで自動化

Oslash  Auto Scaling によりコストを抑えながらスケーラビリティを確保

Oslash  Java PHP Ruby Python Nodejs NET Docker などに対応

bull  価格体系 (httpawsamazoncomjpelasticbeanstalkpricing)Oslash  追加料料金金なしOslash  アプリケーションの保存実行行に必要なAWSリソース (EC2 S3 RDS DynamoDB など) に対してのみ課金金

インフラ構成の構築アプリデプロイの自動化サービス

Automation33

AWS OpsWorks

bull  特徴 (httpawsamazoncomjpopsworks)Oslash  Chefのレシピを使ってデプロイや運用タスクを自動化可能

Oslash  ライフサイクルイベントにより動的な構成変更更への対応が可能

Oslash  継続的な構成管理理bull  価格体系 (httpawsamazoncomjpelasticloadbalancingpricing)

Oslash  AWS OpsWorks自体の利利用は無料料Oslash  (OpsWorksエージェントをオンプレミスサーバで利利用する場合はその起動時間)

アプリケーションのデプロイ管理理サービス

AWS OpsWorks13

スタック

LBレイヤー

Webレイヤー

DBレイヤー

EC2インスタンス上のOpsWorksエージェント

Automation34

Auto Scaling

bull  特徴 (httpawsamazoncomjpautoscaling)Oslash  Amazon EC2インスタンス群を自動的にスケール

Oslash  耐障害性の向上(インスタンスの異異常を検知して新しいインスタンスを起動)

Oslash  EC2インスタンスの起動料料金金の最適化bull  価格体系 (httpawsamazoncomjpautoscalingpricing)

Oslash  Auto Scaling自体の利利用は無料料Oslash  Auto Scalingによって起動されるEC2インスタンスの起動料料金金

EC2インスタンスを負荷またはスケジュールに応じて自動増減

Auto Scaling group13

Desired Capacity

必要に応じて追加されるCapacity

起動設定bull  インスタンスタイプbull  AMI など

Automation35

Amazon CloudWatch

bull  特徴 (httpawsamazoncomjpcloudwatch)Oslash  AWSリソースの死活性能ログ監視Oslash  取得メトリックスのグラフ化Oslash  各メトリックスに対してアラーム作成

bull  価格体系 (httpawsamazoncomjpcloudwatchpricing)Oslash  基本モニタリング(5分間隔)は無料料Oslash  (利利用する場合) 詳細モニタリングOslash  (利利用する場合)カスタムメトリックスAPIリクエストアラームログ等

AWSの各種リソースを監視するサービス

Automation36

AWS Lambda

bull  特徴 (httpawsamazoncomjplambda)Oslash  OSキャパシティ等インフラの管理理不不要Oslash  S3KinesisSNS等でのイベント発生を元にユーザが用意したコード(Nodejs)を実行行

Oslash  ユーザアプリからの同期非同期呼び出し

bull  価格体系 (httpawsamazoncomjplambdapricing)Oslash  コード実行行時間(100ms単位)Oslash  Lambdaファンクションへのリクエスト回数Oslash  1月あたり100万リクエスト400000GB秒が無料料で利利用可能

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

AWS Lambda Amazon S3 Bucket イベント

元画像 サムネイル画像 1

2

3

AWS Lambda Amazon DynamoDB Table and Stream

プッシュ通知

別テーブルを更更新

イメージのリサイズやサムネイルの作成

値チェックや別テーブルへのコピー

Automation37

水平スケーリングの自動化

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

bull  システムの状況を監視し自動的にスケールアウトイン

38 Automation

水平スケーリングの自動化bull  システムの状況を監視し自動的にスケールアウトインbull  スケールアウトしたインスタンスはユーザーデータのカスタムスクリプトなどで自動設定

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

39 Automation

インスタンスの復復旧も自動化

Automation

bull  Auto Scaling による自動復復旧(Auto Healing)

bull  EC2 Auto Recovery による自動復復旧

サーバークラッシュ

代替リソースが自動的に起動

Auto Scaling group min = 1

40

運用も自動化

Automation

bull  Amazon CloudWatch Events を利利用した運用自動化Oslash Amazon EBS の自動スナップショットOslash  EC2 インスタンスの停止削除

bull  AWS Lambda のスケジュール実行行Oslash プログラムを書いてカスタムな運用項目を自動化

41

疎結合

Loose Coupling

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 28: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

AMI 戦略略 ProsCons

方式 利利点 欠点[1]全部入りAMI 同一性の確保

起動時間が早いデプロイ毎にAMIを作り直す必要がある(作成プロセスを自動化すれば欠点とはならない)

[2]部分設定済AMI あとはアプリコードのみ最新を取得すれば良良く扱いやすい

[3]最小構成AMI 柔軟に中身を変更更できる 起動処理理に時間がかかる場合によっては外部ライブラリが取得できないことも

28 Disposable Resources Instead of Fixed Servers

AWS CloudFormation

bull  特徴 (httpawsamazoncomjpcloudformation)Oslash テンプレートを元にEC2やELBといったAWSリソースの環境構築を自動化

Oslash  JSON YAMLフォーマットのテキストでテンプレートを自由に記述可能

Oslash  Microsoft Windows Server や SAP HANA などのリファレンス実装を用意(httpawsamazoncomquickstart)

bull  価格体系 (httpawsamazoncomjpcloudformationpricing)Oslash  追加料料金金はありません

AWS リソース(Amazon EC2 インスタンスや Elastic Load Balancing ロードバランサーなど)に対してお支払いいただきます

設定管理理 amp クラウドのオーケストレーション サービス

スタック

EC2Auto Scaling

テンプレート(設定ファイル)

テンプレートに基づき各リソースが自動起動

EC2

Cloud Formation

29 Disposable Resources Instead of Fixed Servers

自動化

Automation

自動化

bull  自動化を意識識することで得られるメリットOslash オペミス防止などの安定した運用Oslash 運用負荷の軽減Oslash 可用性の向上

bull  AWS と自動化Oslash API で動作するので自動化しやすいOslash 自動化をサポートするサービスが豊富

Automation31

自動化をサポートする代表的なサービス機能

Automation

bull  AWS Elastic Beanstalkbull  AWS OpsWorksbull  Auto Scalingbull  Amazon EC2 Auto Recoverybull  Amazon CloudWatch Alarmsbull  Amazon CloudWatch Eventsbull  AWS Lambda Scheduled events

32

AWS ElasticBeanstalk

bull  特徴 (httpawsamazoncomjpelasticbeanstalk)Oslash  速く簡単にアプリケーションをデプロイ可能Oslash  インフラストラクチャの準備運営からアプリケーションスタックの管理理まで自動化

Oslash  Auto Scaling によりコストを抑えながらスケーラビリティを確保

Oslash  Java PHP Ruby Python Nodejs NET Docker などに対応

bull  価格体系 (httpawsamazoncomjpelasticbeanstalkpricing)Oslash  追加料料金金なしOslash  アプリケーションの保存実行行に必要なAWSリソース (EC2 S3 RDS DynamoDB など) に対してのみ課金金

インフラ構成の構築アプリデプロイの自動化サービス

Automation33

AWS OpsWorks

bull  特徴 (httpawsamazoncomjpopsworks)Oslash  Chefのレシピを使ってデプロイや運用タスクを自動化可能

Oslash  ライフサイクルイベントにより動的な構成変更更への対応が可能

Oslash  継続的な構成管理理bull  価格体系 (httpawsamazoncomjpelasticloadbalancingpricing)

Oslash  AWS OpsWorks自体の利利用は無料料Oslash  (OpsWorksエージェントをオンプレミスサーバで利利用する場合はその起動時間)

アプリケーションのデプロイ管理理サービス

AWS OpsWorks13

スタック

LBレイヤー

Webレイヤー

DBレイヤー

EC2インスタンス上のOpsWorksエージェント

Automation34

Auto Scaling

bull  特徴 (httpawsamazoncomjpautoscaling)Oslash  Amazon EC2インスタンス群を自動的にスケール

Oslash  耐障害性の向上(インスタンスの異異常を検知して新しいインスタンスを起動)

Oslash  EC2インスタンスの起動料料金金の最適化bull  価格体系 (httpawsamazoncomjpautoscalingpricing)

Oslash  Auto Scaling自体の利利用は無料料Oslash  Auto Scalingによって起動されるEC2インスタンスの起動料料金金

EC2インスタンスを負荷またはスケジュールに応じて自動増減

Auto Scaling group13

Desired Capacity

必要に応じて追加されるCapacity

起動設定bull  インスタンスタイプbull  AMI など

Automation35

Amazon CloudWatch

bull  特徴 (httpawsamazoncomjpcloudwatch)Oslash  AWSリソースの死活性能ログ監視Oslash  取得メトリックスのグラフ化Oslash  各メトリックスに対してアラーム作成

bull  価格体系 (httpawsamazoncomjpcloudwatchpricing)Oslash  基本モニタリング(5分間隔)は無料料Oslash  (利利用する場合) 詳細モニタリングOslash  (利利用する場合)カスタムメトリックスAPIリクエストアラームログ等

AWSの各種リソースを監視するサービス

Automation36

AWS Lambda

bull  特徴 (httpawsamazoncomjplambda)Oslash  OSキャパシティ等インフラの管理理不不要Oslash  S3KinesisSNS等でのイベント発生を元にユーザが用意したコード(Nodejs)を実行行

Oslash  ユーザアプリからの同期非同期呼び出し

bull  価格体系 (httpawsamazoncomjplambdapricing)Oslash  コード実行行時間(100ms単位)Oslash  Lambdaファンクションへのリクエスト回数Oslash  1月あたり100万リクエスト400000GB秒が無料料で利利用可能

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

AWS Lambda Amazon S3 Bucket イベント

元画像 サムネイル画像 1

2

3

AWS Lambda Amazon DynamoDB Table and Stream

プッシュ通知

別テーブルを更更新

イメージのリサイズやサムネイルの作成

値チェックや別テーブルへのコピー

Automation37

水平スケーリングの自動化

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

bull  システムの状況を監視し自動的にスケールアウトイン

38 Automation

水平スケーリングの自動化bull  システムの状況を監視し自動的にスケールアウトインbull  スケールアウトしたインスタンスはユーザーデータのカスタムスクリプトなどで自動設定

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

39 Automation

インスタンスの復復旧も自動化

Automation

bull  Auto Scaling による自動復復旧(Auto Healing)

bull  EC2 Auto Recovery による自動復復旧

サーバークラッシュ

代替リソースが自動的に起動

Auto Scaling group min = 1

40

運用も自動化

Automation

bull  Amazon CloudWatch Events を利利用した運用自動化Oslash Amazon EBS の自動スナップショットOslash  EC2 インスタンスの停止削除

bull  AWS Lambda のスケジュール実行行Oslash プログラムを書いてカスタムな運用項目を自動化

41

疎結合

Loose Coupling

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 29: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

AWS CloudFormation

bull  特徴 (httpawsamazoncomjpcloudformation)Oslash テンプレートを元にEC2やELBといったAWSリソースの環境構築を自動化

Oslash  JSON YAMLフォーマットのテキストでテンプレートを自由に記述可能

Oslash  Microsoft Windows Server や SAP HANA などのリファレンス実装を用意(httpawsamazoncomquickstart)

bull  価格体系 (httpawsamazoncomjpcloudformationpricing)Oslash  追加料料金金はありません

AWS リソース(Amazon EC2 インスタンスや Elastic Load Balancing ロードバランサーなど)に対してお支払いいただきます

設定管理理 amp クラウドのオーケストレーション サービス

スタック

EC2Auto Scaling

テンプレート(設定ファイル)

テンプレートに基づき各リソースが自動起動

EC2

Cloud Formation

29 Disposable Resources Instead of Fixed Servers

自動化

Automation

自動化

bull  自動化を意識識することで得られるメリットOslash オペミス防止などの安定した運用Oslash 運用負荷の軽減Oslash 可用性の向上

bull  AWS と自動化Oslash API で動作するので自動化しやすいOslash 自動化をサポートするサービスが豊富

Automation31

自動化をサポートする代表的なサービス機能

Automation

bull  AWS Elastic Beanstalkbull  AWS OpsWorksbull  Auto Scalingbull  Amazon EC2 Auto Recoverybull  Amazon CloudWatch Alarmsbull  Amazon CloudWatch Eventsbull  AWS Lambda Scheduled events

32

AWS ElasticBeanstalk

bull  特徴 (httpawsamazoncomjpelasticbeanstalk)Oslash  速く簡単にアプリケーションをデプロイ可能Oslash  インフラストラクチャの準備運営からアプリケーションスタックの管理理まで自動化

Oslash  Auto Scaling によりコストを抑えながらスケーラビリティを確保

Oslash  Java PHP Ruby Python Nodejs NET Docker などに対応

bull  価格体系 (httpawsamazoncomjpelasticbeanstalkpricing)Oslash  追加料料金金なしOslash  アプリケーションの保存実行行に必要なAWSリソース (EC2 S3 RDS DynamoDB など) に対してのみ課金金

インフラ構成の構築アプリデプロイの自動化サービス

Automation33

AWS OpsWorks

bull  特徴 (httpawsamazoncomjpopsworks)Oslash  Chefのレシピを使ってデプロイや運用タスクを自動化可能

Oslash  ライフサイクルイベントにより動的な構成変更更への対応が可能

Oslash  継続的な構成管理理bull  価格体系 (httpawsamazoncomjpelasticloadbalancingpricing)

Oslash  AWS OpsWorks自体の利利用は無料料Oslash  (OpsWorksエージェントをオンプレミスサーバで利利用する場合はその起動時間)

アプリケーションのデプロイ管理理サービス

AWS OpsWorks13

スタック

LBレイヤー

Webレイヤー

DBレイヤー

EC2インスタンス上のOpsWorksエージェント

Automation34

Auto Scaling

bull  特徴 (httpawsamazoncomjpautoscaling)Oslash  Amazon EC2インスタンス群を自動的にスケール

Oslash  耐障害性の向上(インスタンスの異異常を検知して新しいインスタンスを起動)

Oslash  EC2インスタンスの起動料料金金の最適化bull  価格体系 (httpawsamazoncomjpautoscalingpricing)

Oslash  Auto Scaling自体の利利用は無料料Oslash  Auto Scalingによって起動されるEC2インスタンスの起動料料金金

EC2インスタンスを負荷またはスケジュールに応じて自動増減

Auto Scaling group13

Desired Capacity

必要に応じて追加されるCapacity

起動設定bull  インスタンスタイプbull  AMI など

Automation35

Amazon CloudWatch

bull  特徴 (httpawsamazoncomjpcloudwatch)Oslash  AWSリソースの死活性能ログ監視Oslash  取得メトリックスのグラフ化Oslash  各メトリックスに対してアラーム作成

bull  価格体系 (httpawsamazoncomjpcloudwatchpricing)Oslash  基本モニタリング(5分間隔)は無料料Oslash  (利利用する場合) 詳細モニタリングOslash  (利利用する場合)カスタムメトリックスAPIリクエストアラームログ等

AWSの各種リソースを監視するサービス

Automation36

AWS Lambda

bull  特徴 (httpawsamazoncomjplambda)Oslash  OSキャパシティ等インフラの管理理不不要Oslash  S3KinesisSNS等でのイベント発生を元にユーザが用意したコード(Nodejs)を実行行

Oslash  ユーザアプリからの同期非同期呼び出し

bull  価格体系 (httpawsamazoncomjplambdapricing)Oslash  コード実行行時間(100ms単位)Oslash  Lambdaファンクションへのリクエスト回数Oslash  1月あたり100万リクエスト400000GB秒が無料料で利利用可能

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

AWS Lambda Amazon S3 Bucket イベント

元画像 サムネイル画像 1

2

3

AWS Lambda Amazon DynamoDB Table and Stream

プッシュ通知

別テーブルを更更新

イメージのリサイズやサムネイルの作成

値チェックや別テーブルへのコピー

Automation37

水平スケーリングの自動化

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

bull  システムの状況を監視し自動的にスケールアウトイン

38 Automation

水平スケーリングの自動化bull  システムの状況を監視し自動的にスケールアウトインbull  スケールアウトしたインスタンスはユーザーデータのカスタムスクリプトなどで自動設定

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

39 Automation

インスタンスの復復旧も自動化

Automation

bull  Auto Scaling による自動復復旧(Auto Healing)

bull  EC2 Auto Recovery による自動復復旧

サーバークラッシュ

代替リソースが自動的に起動

Auto Scaling group min = 1

40

運用も自動化

Automation

bull  Amazon CloudWatch Events を利利用した運用自動化Oslash Amazon EBS の自動スナップショットOslash  EC2 インスタンスの停止削除

bull  AWS Lambda のスケジュール実行行Oslash プログラムを書いてカスタムな運用項目を自動化

41

疎結合

Loose Coupling

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 30: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

自動化

Automation

自動化

bull  自動化を意識識することで得られるメリットOslash オペミス防止などの安定した運用Oslash 運用負荷の軽減Oslash 可用性の向上

bull  AWS と自動化Oslash API で動作するので自動化しやすいOslash 自動化をサポートするサービスが豊富

Automation31

自動化をサポートする代表的なサービス機能

Automation

bull  AWS Elastic Beanstalkbull  AWS OpsWorksbull  Auto Scalingbull  Amazon EC2 Auto Recoverybull  Amazon CloudWatch Alarmsbull  Amazon CloudWatch Eventsbull  AWS Lambda Scheduled events

32

AWS ElasticBeanstalk

bull  特徴 (httpawsamazoncomjpelasticbeanstalk)Oslash  速く簡単にアプリケーションをデプロイ可能Oslash  インフラストラクチャの準備運営からアプリケーションスタックの管理理まで自動化

Oslash  Auto Scaling によりコストを抑えながらスケーラビリティを確保

Oslash  Java PHP Ruby Python Nodejs NET Docker などに対応

bull  価格体系 (httpawsamazoncomjpelasticbeanstalkpricing)Oslash  追加料料金金なしOslash  アプリケーションの保存実行行に必要なAWSリソース (EC2 S3 RDS DynamoDB など) に対してのみ課金金

インフラ構成の構築アプリデプロイの自動化サービス

Automation33

AWS OpsWorks

bull  特徴 (httpawsamazoncomjpopsworks)Oslash  Chefのレシピを使ってデプロイや運用タスクを自動化可能

Oslash  ライフサイクルイベントにより動的な構成変更更への対応が可能

Oslash  継続的な構成管理理bull  価格体系 (httpawsamazoncomjpelasticloadbalancingpricing)

Oslash  AWS OpsWorks自体の利利用は無料料Oslash  (OpsWorksエージェントをオンプレミスサーバで利利用する場合はその起動時間)

アプリケーションのデプロイ管理理サービス

AWS OpsWorks13

スタック

LBレイヤー

Webレイヤー

DBレイヤー

EC2インスタンス上のOpsWorksエージェント

Automation34

Auto Scaling

bull  特徴 (httpawsamazoncomjpautoscaling)Oslash  Amazon EC2インスタンス群を自動的にスケール

Oslash  耐障害性の向上(インスタンスの異異常を検知して新しいインスタンスを起動)

Oslash  EC2インスタンスの起動料料金金の最適化bull  価格体系 (httpawsamazoncomjpautoscalingpricing)

Oslash  Auto Scaling自体の利利用は無料料Oslash  Auto Scalingによって起動されるEC2インスタンスの起動料料金金

EC2インスタンスを負荷またはスケジュールに応じて自動増減

Auto Scaling group13

Desired Capacity

必要に応じて追加されるCapacity

起動設定bull  インスタンスタイプbull  AMI など

Automation35

Amazon CloudWatch

bull  特徴 (httpawsamazoncomjpcloudwatch)Oslash  AWSリソースの死活性能ログ監視Oslash  取得メトリックスのグラフ化Oslash  各メトリックスに対してアラーム作成

bull  価格体系 (httpawsamazoncomjpcloudwatchpricing)Oslash  基本モニタリング(5分間隔)は無料料Oslash  (利利用する場合) 詳細モニタリングOslash  (利利用する場合)カスタムメトリックスAPIリクエストアラームログ等

AWSの各種リソースを監視するサービス

Automation36

AWS Lambda

bull  特徴 (httpawsamazoncomjplambda)Oslash  OSキャパシティ等インフラの管理理不不要Oslash  S3KinesisSNS等でのイベント発生を元にユーザが用意したコード(Nodejs)を実行行

Oslash  ユーザアプリからの同期非同期呼び出し

bull  価格体系 (httpawsamazoncomjplambdapricing)Oslash  コード実行行時間(100ms単位)Oslash  Lambdaファンクションへのリクエスト回数Oslash  1月あたり100万リクエスト400000GB秒が無料料で利利用可能

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

AWS Lambda Amazon S3 Bucket イベント

元画像 サムネイル画像 1

2

3

AWS Lambda Amazon DynamoDB Table and Stream

プッシュ通知

別テーブルを更更新

イメージのリサイズやサムネイルの作成

値チェックや別テーブルへのコピー

Automation37

水平スケーリングの自動化

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

bull  システムの状況を監視し自動的にスケールアウトイン

38 Automation

水平スケーリングの自動化bull  システムの状況を監視し自動的にスケールアウトインbull  スケールアウトしたインスタンスはユーザーデータのカスタムスクリプトなどで自動設定

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

39 Automation

インスタンスの復復旧も自動化

Automation

bull  Auto Scaling による自動復復旧(Auto Healing)

bull  EC2 Auto Recovery による自動復復旧

サーバークラッシュ

代替リソースが自動的に起動

Auto Scaling group min = 1

40

運用も自動化

Automation

bull  Amazon CloudWatch Events を利利用した運用自動化Oslash Amazon EBS の自動スナップショットOslash  EC2 インスタンスの停止削除

bull  AWS Lambda のスケジュール実行行Oslash プログラムを書いてカスタムな運用項目を自動化

41

疎結合

Loose Coupling

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 31: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

自動化

bull  自動化を意識識することで得られるメリットOslash オペミス防止などの安定した運用Oslash 運用負荷の軽減Oslash 可用性の向上

bull  AWS と自動化Oslash API で動作するので自動化しやすいOslash 自動化をサポートするサービスが豊富

Automation31

自動化をサポートする代表的なサービス機能

Automation

bull  AWS Elastic Beanstalkbull  AWS OpsWorksbull  Auto Scalingbull  Amazon EC2 Auto Recoverybull  Amazon CloudWatch Alarmsbull  Amazon CloudWatch Eventsbull  AWS Lambda Scheduled events

32

AWS ElasticBeanstalk

bull  特徴 (httpawsamazoncomjpelasticbeanstalk)Oslash  速く簡単にアプリケーションをデプロイ可能Oslash  インフラストラクチャの準備運営からアプリケーションスタックの管理理まで自動化

Oslash  Auto Scaling によりコストを抑えながらスケーラビリティを確保

Oslash  Java PHP Ruby Python Nodejs NET Docker などに対応

bull  価格体系 (httpawsamazoncomjpelasticbeanstalkpricing)Oslash  追加料料金金なしOslash  アプリケーションの保存実行行に必要なAWSリソース (EC2 S3 RDS DynamoDB など) に対してのみ課金金

インフラ構成の構築アプリデプロイの自動化サービス

Automation33

AWS OpsWorks

bull  特徴 (httpawsamazoncomjpopsworks)Oslash  Chefのレシピを使ってデプロイや運用タスクを自動化可能

Oslash  ライフサイクルイベントにより動的な構成変更更への対応が可能

Oslash  継続的な構成管理理bull  価格体系 (httpawsamazoncomjpelasticloadbalancingpricing)

Oslash  AWS OpsWorks自体の利利用は無料料Oslash  (OpsWorksエージェントをオンプレミスサーバで利利用する場合はその起動時間)

アプリケーションのデプロイ管理理サービス

AWS OpsWorks13

スタック

LBレイヤー

Webレイヤー

DBレイヤー

EC2インスタンス上のOpsWorksエージェント

Automation34

Auto Scaling

bull  特徴 (httpawsamazoncomjpautoscaling)Oslash  Amazon EC2インスタンス群を自動的にスケール

Oslash  耐障害性の向上(インスタンスの異異常を検知して新しいインスタンスを起動)

Oslash  EC2インスタンスの起動料料金金の最適化bull  価格体系 (httpawsamazoncomjpautoscalingpricing)

Oslash  Auto Scaling自体の利利用は無料料Oslash  Auto Scalingによって起動されるEC2インスタンスの起動料料金金

EC2インスタンスを負荷またはスケジュールに応じて自動増減

Auto Scaling group13

Desired Capacity

必要に応じて追加されるCapacity

起動設定bull  インスタンスタイプbull  AMI など

Automation35

Amazon CloudWatch

bull  特徴 (httpawsamazoncomjpcloudwatch)Oslash  AWSリソースの死活性能ログ監視Oslash  取得メトリックスのグラフ化Oslash  各メトリックスに対してアラーム作成

bull  価格体系 (httpawsamazoncomjpcloudwatchpricing)Oslash  基本モニタリング(5分間隔)は無料料Oslash  (利利用する場合) 詳細モニタリングOslash  (利利用する場合)カスタムメトリックスAPIリクエストアラームログ等

AWSの各種リソースを監視するサービス

Automation36

AWS Lambda

bull  特徴 (httpawsamazoncomjplambda)Oslash  OSキャパシティ等インフラの管理理不不要Oslash  S3KinesisSNS等でのイベント発生を元にユーザが用意したコード(Nodejs)を実行行

Oslash  ユーザアプリからの同期非同期呼び出し

bull  価格体系 (httpawsamazoncomjplambdapricing)Oslash  コード実行行時間(100ms単位)Oslash  Lambdaファンクションへのリクエスト回数Oslash  1月あたり100万リクエスト400000GB秒が無料料で利利用可能

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

AWS Lambda Amazon S3 Bucket イベント

元画像 サムネイル画像 1

2

3

AWS Lambda Amazon DynamoDB Table and Stream

プッシュ通知

別テーブルを更更新

イメージのリサイズやサムネイルの作成

値チェックや別テーブルへのコピー

Automation37

水平スケーリングの自動化

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

bull  システムの状況を監視し自動的にスケールアウトイン

38 Automation

水平スケーリングの自動化bull  システムの状況を監視し自動的にスケールアウトインbull  スケールアウトしたインスタンスはユーザーデータのカスタムスクリプトなどで自動設定

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

39 Automation

インスタンスの復復旧も自動化

Automation

bull  Auto Scaling による自動復復旧(Auto Healing)

bull  EC2 Auto Recovery による自動復復旧

サーバークラッシュ

代替リソースが自動的に起動

Auto Scaling group min = 1

40

運用も自動化

Automation

bull  Amazon CloudWatch Events を利利用した運用自動化Oslash Amazon EBS の自動スナップショットOslash  EC2 インスタンスの停止削除

bull  AWS Lambda のスケジュール実行行Oslash プログラムを書いてカスタムな運用項目を自動化

41

疎結合

Loose Coupling

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 32: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

自動化をサポートする代表的なサービス機能

Automation

bull  AWS Elastic Beanstalkbull  AWS OpsWorksbull  Auto Scalingbull  Amazon EC2 Auto Recoverybull  Amazon CloudWatch Alarmsbull  Amazon CloudWatch Eventsbull  AWS Lambda Scheduled events

32

AWS ElasticBeanstalk

bull  特徴 (httpawsamazoncomjpelasticbeanstalk)Oslash  速く簡単にアプリケーションをデプロイ可能Oslash  インフラストラクチャの準備運営からアプリケーションスタックの管理理まで自動化

Oslash  Auto Scaling によりコストを抑えながらスケーラビリティを確保

Oslash  Java PHP Ruby Python Nodejs NET Docker などに対応

bull  価格体系 (httpawsamazoncomjpelasticbeanstalkpricing)Oslash  追加料料金金なしOslash  アプリケーションの保存実行行に必要なAWSリソース (EC2 S3 RDS DynamoDB など) に対してのみ課金金

インフラ構成の構築アプリデプロイの自動化サービス

Automation33

AWS OpsWorks

bull  特徴 (httpawsamazoncomjpopsworks)Oslash  Chefのレシピを使ってデプロイや運用タスクを自動化可能

Oslash  ライフサイクルイベントにより動的な構成変更更への対応が可能

Oslash  継続的な構成管理理bull  価格体系 (httpawsamazoncomjpelasticloadbalancingpricing)

Oslash  AWS OpsWorks自体の利利用は無料料Oslash  (OpsWorksエージェントをオンプレミスサーバで利利用する場合はその起動時間)

アプリケーションのデプロイ管理理サービス

AWS OpsWorks13

スタック

LBレイヤー

Webレイヤー

DBレイヤー

EC2インスタンス上のOpsWorksエージェント

Automation34

Auto Scaling

bull  特徴 (httpawsamazoncomjpautoscaling)Oslash  Amazon EC2インスタンス群を自動的にスケール

Oslash  耐障害性の向上(インスタンスの異異常を検知して新しいインスタンスを起動)

Oslash  EC2インスタンスの起動料料金金の最適化bull  価格体系 (httpawsamazoncomjpautoscalingpricing)

Oslash  Auto Scaling自体の利利用は無料料Oslash  Auto Scalingによって起動されるEC2インスタンスの起動料料金金

EC2インスタンスを負荷またはスケジュールに応じて自動増減

Auto Scaling group13

Desired Capacity

必要に応じて追加されるCapacity

起動設定bull  インスタンスタイプbull  AMI など

Automation35

Amazon CloudWatch

bull  特徴 (httpawsamazoncomjpcloudwatch)Oslash  AWSリソースの死活性能ログ監視Oslash  取得メトリックスのグラフ化Oslash  各メトリックスに対してアラーム作成

bull  価格体系 (httpawsamazoncomjpcloudwatchpricing)Oslash  基本モニタリング(5分間隔)は無料料Oslash  (利利用する場合) 詳細モニタリングOslash  (利利用する場合)カスタムメトリックスAPIリクエストアラームログ等

AWSの各種リソースを監視するサービス

Automation36

AWS Lambda

bull  特徴 (httpawsamazoncomjplambda)Oslash  OSキャパシティ等インフラの管理理不不要Oslash  S3KinesisSNS等でのイベント発生を元にユーザが用意したコード(Nodejs)を実行行

Oslash  ユーザアプリからの同期非同期呼び出し

bull  価格体系 (httpawsamazoncomjplambdapricing)Oslash  コード実行行時間(100ms単位)Oslash  Lambdaファンクションへのリクエスト回数Oslash  1月あたり100万リクエスト400000GB秒が無料料で利利用可能

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

AWS Lambda Amazon S3 Bucket イベント

元画像 サムネイル画像 1

2

3

AWS Lambda Amazon DynamoDB Table and Stream

プッシュ通知

別テーブルを更更新

イメージのリサイズやサムネイルの作成

値チェックや別テーブルへのコピー

Automation37

水平スケーリングの自動化

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

bull  システムの状況を監視し自動的にスケールアウトイン

38 Automation

水平スケーリングの自動化bull  システムの状況を監視し自動的にスケールアウトインbull  スケールアウトしたインスタンスはユーザーデータのカスタムスクリプトなどで自動設定

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

39 Automation

インスタンスの復復旧も自動化

Automation

bull  Auto Scaling による自動復復旧(Auto Healing)

bull  EC2 Auto Recovery による自動復復旧

サーバークラッシュ

代替リソースが自動的に起動

Auto Scaling group min = 1

40

運用も自動化

Automation

bull  Amazon CloudWatch Events を利利用した運用自動化Oslash Amazon EBS の自動スナップショットOslash  EC2 インスタンスの停止削除

bull  AWS Lambda のスケジュール実行行Oslash プログラムを書いてカスタムな運用項目を自動化

41

疎結合

Loose Coupling

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 33: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

AWS ElasticBeanstalk

bull  特徴 (httpawsamazoncomjpelasticbeanstalk)Oslash  速く簡単にアプリケーションをデプロイ可能Oslash  インフラストラクチャの準備運営からアプリケーションスタックの管理理まで自動化

Oslash  Auto Scaling によりコストを抑えながらスケーラビリティを確保

Oslash  Java PHP Ruby Python Nodejs NET Docker などに対応

bull  価格体系 (httpawsamazoncomjpelasticbeanstalkpricing)Oslash  追加料料金金なしOslash  アプリケーションの保存実行行に必要なAWSリソース (EC2 S3 RDS DynamoDB など) に対してのみ課金金

インフラ構成の構築アプリデプロイの自動化サービス

Automation33

AWS OpsWorks

bull  特徴 (httpawsamazoncomjpopsworks)Oslash  Chefのレシピを使ってデプロイや運用タスクを自動化可能

Oslash  ライフサイクルイベントにより動的な構成変更更への対応が可能

Oslash  継続的な構成管理理bull  価格体系 (httpawsamazoncomjpelasticloadbalancingpricing)

Oslash  AWS OpsWorks自体の利利用は無料料Oslash  (OpsWorksエージェントをオンプレミスサーバで利利用する場合はその起動時間)

アプリケーションのデプロイ管理理サービス

AWS OpsWorks13

スタック

LBレイヤー

Webレイヤー

DBレイヤー

EC2インスタンス上のOpsWorksエージェント

Automation34

Auto Scaling

bull  特徴 (httpawsamazoncomjpautoscaling)Oslash  Amazon EC2インスタンス群を自動的にスケール

Oslash  耐障害性の向上(インスタンスの異異常を検知して新しいインスタンスを起動)

Oslash  EC2インスタンスの起動料料金金の最適化bull  価格体系 (httpawsamazoncomjpautoscalingpricing)

Oslash  Auto Scaling自体の利利用は無料料Oslash  Auto Scalingによって起動されるEC2インスタンスの起動料料金金

EC2インスタンスを負荷またはスケジュールに応じて自動増減

Auto Scaling group13

Desired Capacity

必要に応じて追加されるCapacity

起動設定bull  インスタンスタイプbull  AMI など

Automation35

Amazon CloudWatch

bull  特徴 (httpawsamazoncomjpcloudwatch)Oslash  AWSリソースの死活性能ログ監視Oslash  取得メトリックスのグラフ化Oslash  各メトリックスに対してアラーム作成

bull  価格体系 (httpawsamazoncomjpcloudwatchpricing)Oslash  基本モニタリング(5分間隔)は無料料Oslash  (利利用する場合) 詳細モニタリングOslash  (利利用する場合)カスタムメトリックスAPIリクエストアラームログ等

AWSの各種リソースを監視するサービス

Automation36

AWS Lambda

bull  特徴 (httpawsamazoncomjplambda)Oslash  OSキャパシティ等インフラの管理理不不要Oslash  S3KinesisSNS等でのイベント発生を元にユーザが用意したコード(Nodejs)を実行行

Oslash  ユーザアプリからの同期非同期呼び出し

bull  価格体系 (httpawsamazoncomjplambdapricing)Oslash  コード実行行時間(100ms単位)Oslash  Lambdaファンクションへのリクエスト回数Oslash  1月あたり100万リクエスト400000GB秒が無料料で利利用可能

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

AWS Lambda Amazon S3 Bucket イベント

元画像 サムネイル画像 1

2

3

AWS Lambda Amazon DynamoDB Table and Stream

プッシュ通知

別テーブルを更更新

イメージのリサイズやサムネイルの作成

値チェックや別テーブルへのコピー

Automation37

水平スケーリングの自動化

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

bull  システムの状況を監視し自動的にスケールアウトイン

38 Automation

水平スケーリングの自動化bull  システムの状況を監視し自動的にスケールアウトインbull  スケールアウトしたインスタンスはユーザーデータのカスタムスクリプトなどで自動設定

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

39 Automation

インスタンスの復復旧も自動化

Automation

bull  Auto Scaling による自動復復旧(Auto Healing)

bull  EC2 Auto Recovery による自動復復旧

サーバークラッシュ

代替リソースが自動的に起動

Auto Scaling group min = 1

40

運用も自動化

Automation

bull  Amazon CloudWatch Events を利利用した運用自動化Oslash Amazon EBS の自動スナップショットOslash  EC2 インスタンスの停止削除

bull  AWS Lambda のスケジュール実行行Oslash プログラムを書いてカスタムな運用項目を自動化

41

疎結合

Loose Coupling

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 34: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

AWS OpsWorks

bull  特徴 (httpawsamazoncomjpopsworks)Oslash  Chefのレシピを使ってデプロイや運用タスクを自動化可能

Oslash  ライフサイクルイベントにより動的な構成変更更への対応が可能

Oslash  継続的な構成管理理bull  価格体系 (httpawsamazoncomjpelasticloadbalancingpricing)

Oslash  AWS OpsWorks自体の利利用は無料料Oslash  (OpsWorksエージェントをオンプレミスサーバで利利用する場合はその起動時間)

アプリケーションのデプロイ管理理サービス

AWS OpsWorks13

スタック

LBレイヤー

Webレイヤー

DBレイヤー

EC2インスタンス上のOpsWorksエージェント

Automation34

Auto Scaling

bull  特徴 (httpawsamazoncomjpautoscaling)Oslash  Amazon EC2インスタンス群を自動的にスケール

Oslash  耐障害性の向上(インスタンスの異異常を検知して新しいインスタンスを起動)

Oslash  EC2インスタンスの起動料料金金の最適化bull  価格体系 (httpawsamazoncomjpautoscalingpricing)

Oslash  Auto Scaling自体の利利用は無料料Oslash  Auto Scalingによって起動されるEC2インスタンスの起動料料金金

EC2インスタンスを負荷またはスケジュールに応じて自動増減

Auto Scaling group13

Desired Capacity

必要に応じて追加されるCapacity

起動設定bull  インスタンスタイプbull  AMI など

Automation35

Amazon CloudWatch

bull  特徴 (httpawsamazoncomjpcloudwatch)Oslash  AWSリソースの死活性能ログ監視Oslash  取得メトリックスのグラフ化Oslash  各メトリックスに対してアラーム作成

bull  価格体系 (httpawsamazoncomjpcloudwatchpricing)Oslash  基本モニタリング(5分間隔)は無料料Oslash  (利利用する場合) 詳細モニタリングOslash  (利利用する場合)カスタムメトリックスAPIリクエストアラームログ等

AWSの各種リソースを監視するサービス

Automation36

AWS Lambda

bull  特徴 (httpawsamazoncomjplambda)Oslash  OSキャパシティ等インフラの管理理不不要Oslash  S3KinesisSNS等でのイベント発生を元にユーザが用意したコード(Nodejs)を実行行

Oslash  ユーザアプリからの同期非同期呼び出し

bull  価格体系 (httpawsamazoncomjplambdapricing)Oslash  コード実行行時間(100ms単位)Oslash  Lambdaファンクションへのリクエスト回数Oslash  1月あたり100万リクエスト400000GB秒が無料料で利利用可能

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

AWS Lambda Amazon S3 Bucket イベント

元画像 サムネイル画像 1

2

3

AWS Lambda Amazon DynamoDB Table and Stream

プッシュ通知

別テーブルを更更新

イメージのリサイズやサムネイルの作成

値チェックや別テーブルへのコピー

Automation37

水平スケーリングの自動化

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

bull  システムの状況を監視し自動的にスケールアウトイン

38 Automation

水平スケーリングの自動化bull  システムの状況を監視し自動的にスケールアウトインbull  スケールアウトしたインスタンスはユーザーデータのカスタムスクリプトなどで自動設定

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

39 Automation

インスタンスの復復旧も自動化

Automation

bull  Auto Scaling による自動復復旧(Auto Healing)

bull  EC2 Auto Recovery による自動復復旧

サーバークラッシュ

代替リソースが自動的に起動

Auto Scaling group min = 1

40

運用も自動化

Automation

bull  Amazon CloudWatch Events を利利用した運用自動化Oslash Amazon EBS の自動スナップショットOslash  EC2 インスタンスの停止削除

bull  AWS Lambda のスケジュール実行行Oslash プログラムを書いてカスタムな運用項目を自動化

41

疎結合

Loose Coupling

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 35: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

Auto Scaling

bull  特徴 (httpawsamazoncomjpautoscaling)Oslash  Amazon EC2インスタンス群を自動的にスケール

Oslash  耐障害性の向上(インスタンスの異異常を検知して新しいインスタンスを起動)

Oslash  EC2インスタンスの起動料料金金の最適化bull  価格体系 (httpawsamazoncomjpautoscalingpricing)

Oslash  Auto Scaling自体の利利用は無料料Oslash  Auto Scalingによって起動されるEC2インスタンスの起動料料金金

EC2インスタンスを負荷またはスケジュールに応じて自動増減

Auto Scaling group13

Desired Capacity

必要に応じて追加されるCapacity

起動設定bull  インスタンスタイプbull  AMI など

Automation35

Amazon CloudWatch

bull  特徴 (httpawsamazoncomjpcloudwatch)Oslash  AWSリソースの死活性能ログ監視Oslash  取得メトリックスのグラフ化Oslash  各メトリックスに対してアラーム作成

bull  価格体系 (httpawsamazoncomjpcloudwatchpricing)Oslash  基本モニタリング(5分間隔)は無料料Oslash  (利利用する場合) 詳細モニタリングOslash  (利利用する場合)カスタムメトリックスAPIリクエストアラームログ等

AWSの各種リソースを監視するサービス

Automation36

AWS Lambda

bull  特徴 (httpawsamazoncomjplambda)Oslash  OSキャパシティ等インフラの管理理不不要Oslash  S3KinesisSNS等でのイベント発生を元にユーザが用意したコード(Nodejs)を実行行

Oslash  ユーザアプリからの同期非同期呼び出し

bull  価格体系 (httpawsamazoncomjplambdapricing)Oslash  コード実行行時間(100ms単位)Oslash  Lambdaファンクションへのリクエスト回数Oslash  1月あたり100万リクエスト400000GB秒が無料料で利利用可能

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

AWS Lambda Amazon S3 Bucket イベント

元画像 サムネイル画像 1

2

3

AWS Lambda Amazon DynamoDB Table and Stream

プッシュ通知

別テーブルを更更新

イメージのリサイズやサムネイルの作成

値チェックや別テーブルへのコピー

Automation37

水平スケーリングの自動化

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

bull  システムの状況を監視し自動的にスケールアウトイン

38 Automation

水平スケーリングの自動化bull  システムの状況を監視し自動的にスケールアウトインbull  スケールアウトしたインスタンスはユーザーデータのカスタムスクリプトなどで自動設定

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

39 Automation

インスタンスの復復旧も自動化

Automation

bull  Auto Scaling による自動復復旧(Auto Healing)

bull  EC2 Auto Recovery による自動復復旧

サーバークラッシュ

代替リソースが自動的に起動

Auto Scaling group min = 1

40

運用も自動化

Automation

bull  Amazon CloudWatch Events を利利用した運用自動化Oslash Amazon EBS の自動スナップショットOslash  EC2 インスタンスの停止削除

bull  AWS Lambda のスケジュール実行行Oslash プログラムを書いてカスタムな運用項目を自動化

41

疎結合

Loose Coupling

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 36: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

Amazon CloudWatch

bull  特徴 (httpawsamazoncomjpcloudwatch)Oslash  AWSリソースの死活性能ログ監視Oslash  取得メトリックスのグラフ化Oslash  各メトリックスに対してアラーム作成

bull  価格体系 (httpawsamazoncomjpcloudwatchpricing)Oslash  基本モニタリング(5分間隔)は無料料Oslash  (利利用する場合) 詳細モニタリングOslash  (利利用する場合)カスタムメトリックスAPIリクエストアラームログ等

AWSの各種リソースを監視するサービス

Automation36

AWS Lambda

bull  特徴 (httpawsamazoncomjplambda)Oslash  OSキャパシティ等インフラの管理理不不要Oslash  S3KinesisSNS等でのイベント発生を元にユーザが用意したコード(Nodejs)を実行行

Oslash  ユーザアプリからの同期非同期呼び出し

bull  価格体系 (httpawsamazoncomjplambdapricing)Oslash  コード実行行時間(100ms単位)Oslash  Lambdaファンクションへのリクエスト回数Oslash  1月あたり100万リクエスト400000GB秒が無料料で利利用可能

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

AWS Lambda Amazon S3 Bucket イベント

元画像 サムネイル画像 1

2

3

AWS Lambda Amazon DynamoDB Table and Stream

プッシュ通知

別テーブルを更更新

イメージのリサイズやサムネイルの作成

値チェックや別テーブルへのコピー

Automation37

水平スケーリングの自動化

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

bull  システムの状況を監視し自動的にスケールアウトイン

38 Automation

水平スケーリングの自動化bull  システムの状況を監視し自動的にスケールアウトインbull  スケールアウトしたインスタンスはユーザーデータのカスタムスクリプトなどで自動設定

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

39 Automation

インスタンスの復復旧も自動化

Automation

bull  Auto Scaling による自動復復旧(Auto Healing)

bull  EC2 Auto Recovery による自動復復旧

サーバークラッシュ

代替リソースが自動的に起動

Auto Scaling group min = 1

40

運用も自動化

Automation

bull  Amazon CloudWatch Events を利利用した運用自動化Oslash Amazon EBS の自動スナップショットOslash  EC2 インスタンスの停止削除

bull  AWS Lambda のスケジュール実行行Oslash プログラムを書いてカスタムな運用項目を自動化

41

疎結合

Loose Coupling

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 37: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

AWS Lambda

bull  特徴 (httpawsamazoncomjplambda)Oslash  OSキャパシティ等インフラの管理理不不要Oslash  S3KinesisSNS等でのイベント発生を元にユーザが用意したコード(Nodejs)を実行行

Oslash  ユーザアプリからの同期非同期呼び出し

bull  価格体系 (httpawsamazoncomjplambdapricing)Oslash  コード実行行時間(100ms単位)Oslash  Lambdaファンクションへのリクエスト回数Oslash  1月あたり100万リクエスト400000GB秒が無料料で利利用可能

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

AWS Lambda Amazon S3 Bucket イベント

元画像 サムネイル画像 1

2

3

AWS Lambda Amazon DynamoDB Table and Stream

プッシュ通知

別テーブルを更更新

イメージのリサイズやサムネイルの作成

値チェックや別テーブルへのコピー

Automation37

水平スケーリングの自動化

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

bull  システムの状況を監視し自動的にスケールアウトイン

38 Automation

水平スケーリングの自動化bull  システムの状況を監視し自動的にスケールアウトインbull  スケールアウトしたインスタンスはユーザーデータのカスタムスクリプトなどで自動設定

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

39 Automation

インスタンスの復復旧も自動化

Automation

bull  Auto Scaling による自動復復旧(Auto Healing)

bull  EC2 Auto Recovery による自動復復旧

サーバークラッシュ

代替リソースが自動的に起動

Auto Scaling group min = 1

40

運用も自動化

Automation

bull  Amazon CloudWatch Events を利利用した運用自動化Oslash Amazon EBS の自動スナップショットOslash  EC2 インスタンスの停止削除

bull  AWS Lambda のスケジュール実行行Oslash プログラムを書いてカスタムな運用項目を自動化

41

疎結合

Loose Coupling

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 38: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

水平スケーリングの自動化

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

bull  システムの状況を監視し自動的にスケールアウトイン

38 Automation

水平スケーリングの自動化bull  システムの状況を監視し自動的にスケールアウトインbull  スケールアウトしたインスタンスはユーザーデータのカスタムスクリプトなどで自動設定

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

39 Automation

インスタンスの復復旧も自動化

Automation

bull  Auto Scaling による自動復復旧(Auto Healing)

bull  EC2 Auto Recovery による自動復復旧

サーバークラッシュ

代替リソースが自動的に起動

Auto Scaling group min = 1

40

運用も自動化

Automation

bull  Amazon CloudWatch Events を利利用した運用自動化Oslash Amazon EBS の自動スナップショットOslash  EC2 インスタンスの停止削除

bull  AWS Lambda のスケジュール実行行Oslash プログラムを書いてカスタムな運用項目を自動化

41

疎結合

Loose Coupling

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 39: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

水平スケーリングの自動化bull  システムの状況を監視し自動的にスケールアウトインbull  スケールアウトしたインスタンスはユーザーデータのカスタムスクリプトなどで自動設定

アベイラビリティーゾーンアベイラビリティーゾーン

アラーム

CloudWatch Alarms

Auto Scaling Group

39 Automation

インスタンスの復復旧も自動化

Automation

bull  Auto Scaling による自動復復旧(Auto Healing)

bull  EC2 Auto Recovery による自動復復旧

サーバークラッシュ

代替リソースが自動的に起動

Auto Scaling group min = 1

40

運用も自動化

Automation

bull  Amazon CloudWatch Events を利利用した運用自動化Oslash Amazon EBS の自動スナップショットOslash  EC2 インスタンスの停止削除

bull  AWS Lambda のスケジュール実行行Oslash プログラムを書いてカスタムな運用項目を自動化

41

疎結合

Loose Coupling

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 40: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

インスタンスの復復旧も自動化

Automation

bull  Auto Scaling による自動復復旧(Auto Healing)

bull  EC2 Auto Recovery による自動復復旧

サーバークラッシュ

代替リソースが自動的に起動

Auto Scaling group min = 1

40

運用も自動化

Automation

bull  Amazon CloudWatch Events を利利用した運用自動化Oslash Amazon EBS の自動スナップショットOslash  EC2 インスタンスの停止削除

bull  AWS Lambda のスケジュール実行行Oslash プログラムを書いてカスタムな運用項目を自動化

41

疎結合

Loose Coupling

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 41: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

運用も自動化

Automation

bull  Amazon CloudWatch Events を利利用した運用自動化Oslash Amazon EBS の自動スナップショットOslash  EC2 インスタンスの停止削除

bull  AWS Lambda のスケジュール実行行Oslash プログラムを書いてカスタムな運用項目を自動化

41

疎結合

Loose Coupling

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 42: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

疎結合

Loose Coupling

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 43: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

疎結合(Loose Coupling)

bull  結合度度(Coupling)は低いほど好ましいOslash 不不具合の影響範囲を最小限にとどめられるOslash スケーリングしやすい

bull  疎結合にするために心がけることOslash Well-‐‑‒Defined Interfaces Oslash  Service Discovery Oslash Asynchronous Integration Oslash Graceful Failure

Loose Coupling 43

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 44: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

Well-‐‑‒Defined Interfaces

bull  アクセス元から見見てアクセス先をブラックボックスにOslash 個々のリソースに固有の情報に依存しない-  必要な情報だけをわたしAPI でアクセス-  IP アドレスではなく DNS 名でアクセス-  処理理を実施するインスタンスへの直接アクセスを避けELB SQS へアクセスさせるよう設計

Loose Coupling 44

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 45: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

Service Discovery

bull  透過的にアクセスするために増えたリソース減ったリソースを検知することが必要

bull  Service Discovery の例例Oslash Auto Scaling を使ったインスタンスの ELB への自動登録Oslash  EC2 ユーザーデータ times Amazon Route 53Oslash Auto Scaling Life Cycle Hook times Amazon Route 53Oslash  3rd party solutions-  Netflix Eureka-  Airbnb Synapse-  HashiCorp Consul-  etc Loose Coupling 45

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 46: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

AWS のサービスを活用した疎結合の例例

Loose Coupling ウェブサーバーはアプリサーバーと密結合

Web Server

App Server

ELB を挟んで疎結合に

Web Server

App Server

ELBELB は Auto Scaling を組み合わせ増減する App Server を自動で登録解除可能

Web Server は単一の ELB の DNS 名だけを見見てれば良良い(App Server は Web Server にとってブラックボックス)

スケールアウトインするたびにWeb Server の設定ファイルの書き換えが必要

46

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 47: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

Asynchronous Integration

bull  同期処理理である必要がなければ非同期でつながるbull  非同期処理理の利利点

Oslash ユーザ側の利利点-  アプリケーションがブロックされない

Oslash サーバ側の利利点-  スケーラブルかつ高可用なバックエンド-  Frontend を停止させることなく Backend を容易易にメンテナンス可能-  少ないFrontend のキャパシティで多くのリクエストを受付可能-  リクエストの処理理順序やリトライ等の制御が容易易に

Loose Coupling 47

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 48: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS

Oslash メッセージキューを挟んでFrontend と Backend を疎結合にbull  Amazon Kinesis

Oslash ストリームデータの生成受け取りとそのデータ処理理部を疎結合にbull  Amazon Simple Workflow

Oslash 複雑なワークフローにのっとる複数のタスクワークフローの状態管理理を疎結合に

bull  AWS LambdaOslash DynamoDB へのアップデートS3 へのデータアップロードと後続の処理理を疎結合に

Loose Coupling 48

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 49: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

AWS のサービスを活用した非同期処理理の例例bull  Amazon SQS を挟んで Frontend と Backend を疎結合に

Loose Coupling

FrontendServers

ELBClient13

重たい処理理は Backend Servers に任せる

Sticky Session

Backend Servers

SQS キューから取得したメッセージを元にバッチ的に処理理を実行行していく

重たい処理理は Backend で非同期に行行われるのでClient へのレスポンスは迅速に

Amazon SQSQueue

49

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 50: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

Amazon Simple Queue Service (SQS)

bull  特徴 (httpawsamazoncomjpsqs)Oslash  高い信頼性 複数のサーバーデータセンターにメッセージを保持

Oslash  スケーラブル 多数の送信者受信者に対応Oslash  高スループット メッセージが増加しても高スループットを出し続ける

bull  価格体系 (httpawsamazoncomjpsqspricing)Oslash  無料料利利用枠 毎月100万Amazon SQSリクエストまで無料料

Oslash  その後Amazon SQSリクエスト100万件につき0476 USD(東京リージョン以外は05USD)

Oslash  複数のメッセージを1度度のリクエストで処理理することによりコスト効率率率をあげることも可能

高い可用性と信頼性を提供するフルマネージドなメッセージキューサービス

Producer Consumerpolling

Producer ConsumerはEC2やモバイルデバイスオンプレミスんサーバーなどで構成する実際のやりとりにはAmazon SQS APIを使って行う

message message

Loose Coupling 50

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 51: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

Amazon Kinesis

bull  特徴 (httpawsamazoncomjpkinesis)Oslash  生成されるデータをリアルタイムに近い状況でデータ処理理部に伝送

Oslash  預かったデータは3AZに24時間保存Oslash  AWSのサービスとの簡単インテグレーション

Oslash  目的に応じた処理理を並列列処理理することが可能

bull  価格体系 (httpawsamazoncomjpkinesispricing)Oslash  シャード数Oslash  Put APIコール数

フルマネージド型リアルタイム大規模ストリーミング処理理

大量量トランザクション処理理

複数データ処理理の容易易なインテグレーション

Loose Coupling 51

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 52: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

Graceful Failure

bull  安全に落落とすための戦略略Oslash リソースの停止削除障害時の クライアントや他のリソースへの影響を最小限にするように設定しておく

bull  Graceful Failure の例例Oslash  ELB Connection Draining -  新規割り振りは中止して処理理中のリクエストは終わるまで一定期間待つ

Oslash Route 53 による DNS Failover-  障害発生時はCloudFront + S3 で構築した Sorry Site へ誘導

Oslash 再試行行処理理の実装-  失敗した場合にはリトライで対応 Loose Coupling 52

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 53: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

サーバではなくサービスの利利用

Services Not Servers

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 54: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

サーバではなくサービスの利利用

bull  マネージドサービスの利利用によって得られるメリットOslash コア業務アプリケーション部分への集中Oslash 高可用性Oslash 運用負荷軽減Oslash 自動スケール(サイジング不不要)

bull  マネージドサービスの活用により Serverless での構築も可能Oslash AWS上でのサーバーレスアーキテクチャ入門

-  httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒2016-‐‑‒aws

Services Not Servers 54

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 55: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

責任共有モデルから見見るマネージドサービスの管理理負荷bull  責任共有モデルから見見るサービス区分

Oslash  Infrastructure Services-  コンピュートとそれに関わるサービス-  OS Apps などの設定を自由に行行うことが可能-  例例)Amazon EC2 Amazon EBSなど

Oslash  Container Services-  Amazon EC2などのインフラストラクチャ上で提供されるマネージドサービス-  オプション(例例RDS Multi-‐‑‒AZ)などの設定により簡単に可用性を確保可能-  例例)Amazon RDS ELBなど

Oslash  Abstracted Services -  プラットフォームが抽象化されたマネージドサービス(サーバレスサービス)-  可用性は AWS によって自動的に確保-  例例)Amazon S3 Amazon DynamoDBなど

Services Not Servers 詳細httpmediaamazonwebservicescomjpwpAWS_Security_Best_Practicespdf55

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 56: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

セキュリティ責任共有モデル (Infrastructure Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS

IAM

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5613

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 57: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

セキュリティ責任共有モデル (Container Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

5713

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 58: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

セキュリティ責任共有モデル (Abstracted Services)

基盤サービスコンピューティング ストレージ データベース ネットワーク

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

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

クライアント側のデータ暗号化とデータの整合性認証

サーバ側の暗号化 (ファイルシステムおよびデータ)

NWトラフィックの保護(暗号化整合性アイデンティティ)

プラットフォームアプリケーション

オペレーティングシステムネットワーク構成

顧客データ

AWSが管理理

アイデンティ

ティ

アクセス管理理

お客様による管理理

AWS IA

M

AWSが担当する範囲お客様が担当する範囲凡例例Services Not Servers

ファイアウォール構成

オプション機能として提供されるもの

5813

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 59: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

AWS では多くのサーバーレスオプションを用意

ストレージ データベースネットワーク

コンピューティング コンテンツ配信メッセージングとキューセキュリティ

ゲートウェイ

ユーザー管理理 モニタリングとログ記録

IoT

機械学習

ストリーミング分析

Services Not Servers 59

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 60: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

データベースの使い分け

Database

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 61: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

データベースの使い分けbull  万能なデータベースストレージは存在しないbull  データストアの特性(得意不不得意)に応じた使い分け

Database

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL bull  低レイテンシbull  インメモリ

bull  3拠点間でのレプリケーション

bull  SSDに永続化

bull  トランザクション処理理

bull  汎用用途

bull  集計分析処理理bull  大容量量データbull  DWH

61

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 62: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

単一障害点の排除

Removing Single Points of Failure

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 63: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

単一障害点の排除

bull  障害に備えておくことでその影響を極小化Oslash 下記のようにあらかじめ冗長化をしておくなどの準備が重要

Removing Single Points of Failure

アベイラビリティーゾーンアベイラビリティーゾーン

Auto Scaling Group

もしこの1台が落落ちてもシステムの全停止にはつながらない

63

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 64: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

単一障害点の排除bull  単一障害点排除のためのポイント

Oslash 冗長化Oslash 障害検知Oslash 堅牢牢なデータストレージOslash Multi-‐‑‒AZ の利利用Oslash 疎結合な構成による障害分離離

Removing Single Points of Failure 詳細httpsd0awsstaticcomwhitepapersaws-‐‑‒building-‐‑‒fault-‐‑‒tolerant-‐‑‒applicationspdf

64

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 65: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

コストの最適化

Optimize for Cost

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 66: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

コストの最適化

bull  単に既存システムをクラウドに移行行するだけでも初期投資を減少させAWS の規模の経済の恩恵を享受可能

bull  クラウド環境の特性を活かすことによりさらなるコスト最適化が可能Oslash 適切切なサイジングOslash 伸縮自在性Oslash 適切切な購入オプションの利利用

Optimize for Cost 66

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 67: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

適切切なサイジング

bull  オーバープロビジョニングの回避Oslash AWS のリソースはいつでも増減可能

bull  継続的な改善Oslash 適切切なインスタンスタイプを見見極めるために常に監視-  Amazon CloudWatch によるリソース監視-  AWS Trusted Advisor で使用率率率に低いリソース

Optimize for Cost Amazon CloudWatch

AWS Trusted Advisor

67

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 68: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

伸縮自在性

bull  水平スケーリングにより必要な時に必要なリソースを確保

bull  マネージドサービスのキャパシティを利利用Oslash  ELB CloudFront Amazon SQS AWS Lambda etc Oslash キャパシティを簡単に設定できるリソースの活用-  Amazon DynamoDB Amazon Kinesis Stream

Optimize for Cost

需要によって判断

68

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 69: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost 69

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 70: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

適切切な購入オプションの利利用bull  Amazon EC2 の購入オプション

Oslash リザーブドインスタンスOslash スポットインスタンス

bull  Amazon S3 のストレージ価格Oslash スタンダードストレージOslash 標準 ndash 低頻度度アクセスストレージOslash 低冗長化ストレージ

bull  その他のサービスの購入オプションOslash CloudFrontのリザーブドキャパシティOslash DynamoDBのリザーブドキャパシティ

Optimize for Cost

10月のオンラインセミナーもチェック「AWSのコスト削減オプション」httpsconnectawswebcastscomblackbelt-‐‑‒cost-‐‑‒reductioneventevent_infohtml

70

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 71: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

キャッシュの利利用

Caching

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 72: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

キャッシュの利利用

bull  繰り返し利利用されるデータをキャッシュOslash 性能向上Oslash コスト節約

Caching

オリジンサーバ

Amazon CloudFront オリジンサーバ台数の削減

レスポンス向上 負荷軽減

リクエスト配信

リクエストキャッシュから配信 キャッシュ

コンテンツ取得

CDNクライアント

72

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 73: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

Amazon ElastiCache による Application Data Caching

bull  特徴 (httpsawsamazoncomjpelasticache)Oslash  フルマネージド環境でMemcached Redisが利利用可能Oslash  RedisはMulti-‐‑‒AZ配置することで可用性向上Oslash  一部パラメータ以外はアプリケーション特性に応じて変更更可能

Oslash  フェイルオーバーやパッチの適用バックアップ(Redis)も自動で行行われる

Oslash  Memcached用のAuto Discovery対応Client Libraryも提供中

bull  価格体系 (httpsawsamazoncomjpelasticachepricing) Oslash  インスタンスタイプに応じてOslash  Redisを利利用しバックアップを有効にした場合はバックアップストレージの利利用量量に応じて

フルマネージド キャッシュサービス

73 Caching

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 74: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

Amazon CloudFront による Edge Caching

bull  特徴 (httpawsamazoncomjpcloudfront)Oslash  簡単にサイトの高速化が実現できると共にサーバの負荷も軽減

Oslash  様々な規模のアクセスを処理理することが可能Oslash  世界53箇所のエッジロケーション

bull  価格体系 (httpawsamazoncomjpcloudfrontpricing)Oslash  データ転送量量(OUT) Oslash  HTTPHTTPSリクエスト数Oslash  (利利用する場合)SSL独自証明書 など

マネージドCDN(Contents Delivery Network)サービス

クライアント

レスポンス向上 負荷軽減

Amazon CloudFront

キャッシュ

配信 オフロード

Webサーバ

74 Caching

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 75: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

セキュリティ

Security

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 76: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

セキュリティ

bull  すべてのレイヤーでセキュリティを確保Oslash 一箇所でもセキュリティホールがあればそこを突かれてしまう

bull  セキュリティ確保のためのポイントOslash AWS の機能の活用 Oslash AWS へセキュリティの担保をオフロードOslash 最小権限の原則Oslash  Security as Code Oslash リアルタイム監査

Security

詳細httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒56260969

76

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 77: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

すべてのレイヤーでセキュリティを確保

Web Web Web Web

Private

Segment

(Web)

Public

Segment

Log

Private

Segment

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化権限管理理

【サブネット】外部からアクセスできるサブネットと外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBSRDSといったストレージサービス上のデータを暗号化

【アクセス管理理】AWSアカウントIAMユーザーの管理理AWSリソースへのアクセス制御(最小権限の原則を順守可能)

【AWS操作ログ】AWS操作ログの取得(管理理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELBRDSEC2等)のリソース監視

Availability Zone Availability Zone

Security詳細 httpwwwslidesharenetAmazonWebServicesJapanawswebinar-‐‑‒aws-‐‑‒5626096977

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 78: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

AWS の機能の活用

bull  AWSが提供する便便利利なセキュリティ機能を活用することでよりシンプルにセキュリティ確保が可能に

bull  AWS が提供するセキュリティ機能活用の例例Oslash AWS IAM による権限制御Oslash セキュリティグループによるアクセスコントロールOslash AWS WAF による DDoS 緩和Oslash AWS CloudTrail による監査ログ取得Oslash AWS KMS による暗号化鍵管理理Oslash  etc

Security78

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 79: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

AWS へセキュリティの担保をオフロード

bull  マネージドサービスの活用によりAWS がセキュリティ管理理を行行うレイヤーを広くすることが可能

bull  「サーバではなくサービスの利利用」で示したセキュリティ責任共有モデルの図を参照

Security79

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 80: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

AWS IAM を活用した「最小権限の原則」順守

bull  特徴 (httpawsamazoncomjpiam)Oslash  AWS リソースへのきめ細かなアクセス制御Oslash  認証情報の利利用状況を一目で把握できるレポート機能Oslash  社内ディレクトリとの統合も可能Oslash  ウェブ ID プロバイダーを使ったモバイルアプリケーションへのアクセスコントロールの管理理

Oslash  権限の高いユーザーに対する多要素認証の利利用( Multi-‐‑‒Factor Authentication)

bull  価格体系 (httpawsamazoncomjpiampricing)Oslash  IAMの利利用自体は全て無料料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

Security80

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 81: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

Security as Code

bull  AWS はプログロマブルrarrセキュリティのrdquoGolden Environmentrdquo をコード化し適切切なセキュリティ設定がされた環境の配布を容易易にOslash AWS CloudFormationOslash AWS Service Catalog

Security81

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 82: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

リアルタイム監査

bull  継続的にコンプライアンスのための監視を実施Oslash AWS ConfigOslash Amazon InspectorOslash AWS Trusted Advisor

bull  AWS環境の操作ログの取得Oslash AWS CloudTrail

bull  アプリケーションログの収集Oslash Amazon CloudWatch Logs

Security82

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 83: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

Agenda

bull  はじめにbull  The Cloud Computing Differencebull  設計におけるベストプラクティスbull  まとめ

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 84: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

まとめ(10 の設計プリンシプル)bull  スケーラビリティbull  固定資産から可処分資産へbull  自動化 bull  疎結合bull  サーバではなくサービスの利利用(マネージドサービスの活用)bull  データベースの使い分けbull  単一障害点の排除bull  コストの最適化bull  キャッシュの利利用bull  セキュリティArchitecting for The Cloud AWS Best Practiceshttpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

84

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 85: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

参考資料料

bull  Architecting for The Cloud AWS Best PracticesOslash  httpsd0awsstaticcomwhitepapersAWS_Cloud_Best_Practicespdf

bull  失敗例例を成功に変える AWS アンチパターンOslash  2016年年httpwwwslidesharenetAmazonWebServicesJapanaws-‐‑‒black-‐‑‒belt-‐‑‒online-‐‑‒seminar-‐‑‒antipattern

Oslash  2015年年httpwwwslidesharenetAmazonWebServicesJapan20150609-‐‑‒antipattern-‐‑‒49198289

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 86: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

Webinar資料料の配置場所bull  AWS クラウドサービス活用資料料集

Oslash  httpawsamazoncomjpaws-‐‑‒jp-‐‑‒introduction

bull  AWS Solutions Architect ブログOslash  最新の情報セミナー中のQampA等が掲載されていますOslash  httpawstypepadcomsajp

86

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 87: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

公式TwitterFacebookAWSの最新情報をお届けします

awscloud_jp検索索

最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています

もしくはhttponfbme1vR8yWm

87

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88

Page 88: AWS Black Belt Online Seminar...【AWS Black Belt Online Seminar】 クラウドのためのアーキテクチャ設計-ベストプラクティス- アマゾンウェブサービスジャパン株式会社

AWSの導入お問い合わせのご相談bull  AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales

「AWSemsp 問い合わせ」で検索索してください88