【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
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
本資料料では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
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
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
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
本日お話しすること
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
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
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
クラウドコンピューティングならではの特性
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
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
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
スケーラビリティ
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
スケーラビリティ
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
水平垂直のスケーリングの比較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
水平スケーリングを行行うために心がけること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
ステートレスにするためのセッション情報の扱い
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
ステートレスにするためのセッション情報の扱い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
固定資産から可処分資産へ
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
今まで(オンプレミス)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
マインドセットを変える
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
自動化
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
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
バッチスケジュールの見見直し
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
利利用時間帯の確認
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
可処分所得にするためのポイント
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
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
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
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
自動化
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
自動化
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
自動化をサポートする代表的なサービス機能
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
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
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
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
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
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
水平スケーリングの自動化
アベイラビリティーゾーンアベイラビリティーゾーン
アラーム
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
水平スケーリングの自動化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
インスタンスの復復旧も自動化
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
運用も自動化
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
疎結合
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
疎結合(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
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
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
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
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
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
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
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
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
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
サーバではなくサービスの利利用
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
サーバではなくサービスの利利用
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
責任共有モデルから見見るマネージドサービスの管理理負荷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
セキュリティ責任共有モデル (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
セキュリティ責任共有モデル (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
セキュリティ責任共有モデル (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
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
データベースの使い分け
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
データベースの使い分け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
単一障害点の排除
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
単一障害点の排除
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
単一障害点の排除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
コストの最適化
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
コストの最適化
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
適切切なサイジング
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
伸縮自在性
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
適切切な購入オプションの利利用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
適切切な購入オプションの利利用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
キャッシュの利利用
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
キャッシュの利利用
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
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
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
セキュリティ
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
セキュリティ
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
すべてのレイヤーでセキュリティを確保
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
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
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
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
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
リアルタイム監査
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
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
まとめ(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
参考資料料
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
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
公式TwitterFacebookAWSの最新情報をお届けします
awscloud_jp検索索
最新技術情報イベント情報お役立立ち情報お得なキャンペーン情報などを日々更更新しています
もしくはhttponfbme1vR8yWm
87
AWSの導入お問い合わせのご相談bull AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales
「AWSemsp 問い合わせ」で検索索してください88
AWSの導入お問い合わせのご相談bull AWSクラウド導入に関するご質問お見見積り資料料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttpsawsamazoncomjpcontact-‐‑‒usaws-‐‑‒sales
「AWSemsp 問い合わせ」で検索索してください88