Mais conteúdo relacionado Semelhante a [AWS Start-up ゼミ] よくある課題を一気に解説!〜御社の技術レベルがアップする 2017 夏期講習〜 (20) Mais de Amazon Web Services Japan (20) [AWS Start-up ゼミ] よくある課題を一気に解説!〜御社の技術レベルがアップする 2017 夏期講習〜2. #awsstartup
[AWS Start-up ゼミ] よくある課題シリーズについて
AWSスタートアップチームでは
日々多くの技術相談を実施
このシリーズは2017年夏時点
での「あるある」まとめ
詳細な解説を全てこの資料で行うのでなく、
「こうしたい」に対して「どう考えてどの資料を
見ればよいか」を示す逆引き辞典
6. #awsstartup
ユーザ動向を分析したい
1. とりあえず生ログは S3 に貯めておこう
Amazon
CloudWatch
CloudWatch
Logs
Agent 入り EC2
Application
Load
Balancer
AWS
Lambda
function
Amazon
S3
Amazon
Kinesis
Firehose
アプリ
ブラウザAmazon
Kinesis
Firehose
ELBのログ取得をOnにすることで
自動取得
Lambda は標準で
CloudWatchにログを出力する
任意のアプリケーションログ、
サーバログなど
SDKを使い直接Kinesisに
ログを Put
Kinesis Agent で
ログを Put
Kinesis
Agent入り
EC2
# データレイク で検索
10. #awsstartup
ユーザ動向を分析したい - 実装時の参考資料
AWS Black Belt Online Seminar資料&動画
AWS上のログ管理(資料 | 動画)
AWS上でのリアルタイムデータ分析入門(資料 | 動画)
その他関連する各プロダクトのBlackBelt資料
AWS Summit/Dev Day講演資料 (2016 | 2017)
ビッグデータ 101 〜 AWS で始めるビッグデータパイプラインの設計と
実装〜 (2016)(資料 | 動画)
クラウド上に効率的なビッグデータ処理基盤を構築するには?
〜データ特性に応じたシステム設計〜 (2016)(資料 | 動画)
アジャイルデータサイエンス on AWS (2017)(資料 | 動画)
AWS のデータ分析入門 (2017)(資料 | 動画)
11. #awsstartup
ユーザ動向を分析したい - 参考になる事例
AWS BigData Blog
How SmartNews Built a Lambda Architecture on
AWS to Analyze Customer Behavior and
Recommend Content
Gunosy様 データ分析ブログ
Amazon Kinesis AnalyticsとES/Kibana4でリアルタイ
ムダッシュボード構築
クックパッドのログをいい感じにしているアーキテク
チャ / Logging architecture at Cookpad
21. #awsstartup
CI/CDをちゃんとしたい - 実装時の参考資料
AWS Black Belt Online Seminar資料&動画
クラウドのためのアーキテクチャ設計-ベストプラクティス-(資料|動画)
AWS Code Services Part 1(資料 | 動画), Part 2(資料 | 動画)
AWS Elastic Beanstalk(資料 | 動画)
Amazon ECS(資料 | 動画)
AWS Summit/Dev Day講演資料 (2016 | 2017)
AWS マネージドサービスで実現する CI/CD パイプライン (2017)
(資料 | 動画)
DevOps on AWS: Deep Dive on Continuous Delivery and the
AWS Developer Tools (2016)(資料 | 動画)
25. #awsstartup
コンテナを使いたい
1. 12-factor App を読もう
Heroku のエンジニアが2011年に提唱
当時からコンテナを使いこなしているPaaS
(Docker登場は2013年)
サービスを開発する上で、従うべき12の要素
Dockerが使いにくいと感じたら 12-factor App
になっていないことがほとんど
https://12factor.net/ja/
26. #awsstartup
コンテナを使いたい
1. 12-factor App を読もう
I. コードベース
バージョン管理される1つのコードベースと複数デプロイ
II. 依存関係
依存関係を明示的に宣言し分離する
III.設定
設定を環境変数に格納する
IV.バックエンドサービス
バックエンドサービスをアタッチされたリソースとして扱う
V. ビルド、リリース、実行
ビルド、リリース、実行の3つのステージを厳密に分離する
VI.プロセス
アプリを1つ又は複数のステートレスなプロセスとして実行
VII.ポートバインディング
ポートバインディングを通してサービスを公開する
VIII.並行性
プロセスモデルによってスケールアウトする
IX. 廃棄容易性
高速な起動とグレースフル停止で堅牢性を最大化する
X. 開発/本番一致
開発、ステージング、本番環境をできるだけ一致させた状態を保つ
XI. ログ
ログをイベントストリームとして扱う
XII.管理プロセス
管理タスクを1回限りのプロセスとして実行する
https://12factor.net/ja/
27. #awsstartup
コンテナを使いたい
2. Amazon EC2 Container Service(ECS )を知ろう
複数の EC2 インスタンス上で、複数の種類のコン
テナをよしなに稼働させ続けてくれるサービス
「この Task を、この Cluster の空いているところで、計10個」
AWS の各種機能(CloudFormation デプロイ、
CloudWatch Logs、ALB etc)と連携しており、
AWS 上で Docker を稼働させたいなら最も楽
新しくサービスを構築するなら Docker + ECS を
使わない理由があるだろうか(いやない)
28. 2. Amazon EC2 Container Service(ECS )を知ろう
t2.large m4.large …m4.xlarge
Cluster
• Image=Nginx:v1,
• Memory=1024,
• …
どのDockerイメージのどのバー
ジョンを、どのくらいのリソー
スで…Taskの定義
• Task Definition=…,
• Cluster=…,
どんなTaskを、どのClusterで、いくつ起動して…、サービスの定義
Definitionに従って
コンテナ起動
:ECS Agent
Task
(≒Containers)
• Desired Count=…,
• Load Blancer=…,
Service
Task Definition
Load
Balancer
(ALB)
参照 参照
参照
29. #awsstartup
コンテナを使いたい
3. アプリケーションをECSで動かそう
手順はシンプル
1. 手元の Docker イメージ (myapp:1) を ECR に Push
2. クラスタ作成、Task Definition 作成、Service作成
アップデートの例
1. 新しいバージョン (myapp:2) を ECR に Push
2. 新しいバージョンを指す Task Definition を作成
3. Service を新 Task Definition にアップデート
# 初めての人は ECS コンソールのサンプル PHP アプリを試してみよう
30. #awsstartup
コンテナを使いたい - 実装時の参考資料
AWS Black Belt Online Seminar資料&動画
Docker on AWS(資料)
Amazon ECS(資料 | 動画)
AWS Elastic Beanstalk(資料 | 動画)
AWS Summit/Dev Day講演資料 (2016 | 2017)
AWS のコンテナ管理入門(Amazon EC2 Conatainer Service)
(2017)(資料 | 動画)
Docker と Amazon ECS で DevOps を進化させる (2016)
(資料 | 動画)
31. #awsstartup
コンテナを使いたい - 参考になる事例
インティメート・マージャー様 AWS Summit 2017 講演資料
Amazon ECS と SpotFleet を活用した低コストでスケーラブルなジョ
ブワーカーシステム(資料 | 動画)
NAVITIME 様 AWS Summit 2017 講演資料
ナビタイムサービスにおける、Amazon ECS を活用したシステム移行
〜『乗換NAVITIME』での移行事例 〜 (資料)
Amazon Web Services ブログ
AWS Summit Tokyo 2017でのAmazon EC2 Container Service
(ECS) 関連セッションまとめ
39. #awsstartup
運用監視ちゃんとしたい - 実装時の参考資料
AWS Black Belt Online Seminar資料&動画
Monitoring on AWS - AWS 運用監視 -(資料 | 動画)
Amazon CloudWatch(資料 | 動画)
AWS CloudTrail & AWS Config(資料 | 動画)
その他関連する各プロダクト・ソリューションのBlackBelt資料
AWS Summit/Dev Day講演資料 (2016 | 2017)
AWS の運用監視入門 (2017)(資料 | 動画)
DevSecOps on AWS - Policy in Code (2017)(資料 | 動画)
【ソニー株式会社様登壇】AWS System Management 〜 AWS 上シス
テムの運用監視〜 (2016) (資料 | 動画)
46. #awsstartup
システム負荷下げたい
3. Amazon S3, CDN, キャッシュを活用しよう
S3CDN キャッシュストレージ
client
Amazon
CloudFront
Amazon
S3
Upload/Download
Static Assets
Browse Static Website
ELB Web
Amazon
ElastiCache
Memcached Redis
Amazon
Dynamo
DB
RDB
コンテンツキャッシュ、
DDoS対策、通信の最適化等
Staticなファイルや
WebサイトはS3から直接配信
ファイルのアップロードも
WebサーバでなくS3へ
RDBには重すぎるRead/Write、
これらのKVSに向くデータは
積極的に各DBを活用
47. #awsstartup
システム負荷下げたい - 実装時の参考資料
AWS Black Belt Online Seminar資料&動画
クラウドのためのアーキテクチャ設計-ベストプラクティス-(資料|動画)
Auto Scaling (資料 | 動画)
AWS Elastic Beanstalk (資料 | 動画)
Amazon CloudFront(資料)
Elastic Load Balancing (資料 | 動画) # ELBは暖気申請も忘れずに
AWS Summit/Dev Day講演資料 (2016 | 2017)
Amazon RDS 入門 (2017)(資料 | 動画)
Amazon Aurora (MySQL edition) Deep Dive (2017)(資料 | 動画)
AWS の NoSQL 入門 〜Amazon ElastiCache, Amazon DynamoDB〜
(2017) (資料 | 動画)
50. #awsstartup
(モバイルアプリの)Growth Hackしたい
1. AWS の Analytics ツール (SDK) を組み込む
For Android, iOS
統合マーケティングツール
Amazon Pinpoint
が使えます(強い)
(For JavaScript)
AWS Mobile Analytics
が使えます
AWS SDK
for Android
AWS SDK
for iOS
AWS SDK for
JavaScript
64. コスト下げたい
2. 購入オプションを活用しよう
On
Demand
Reserved Instances for 1 year
Spot
Instances
Spot Block
All
Upfront
Partial
Upfront
No
Upfront 1h 6h
c4.large $0.126
$0.084
(33%)
$0.086
(32%)
$0.090
(29%)
$0.029
(77%)
$0.077
(39%)
$0.098
(22%)
m4.large $0.129
$0.081
(37%)
$0.083
(36%)
$0.087
(32%)
$0.027
(79%)
$0.101
(21%)
$0.128
(0.7%)
r3.large $0.20
$0.127
(36%)
$0.130
(35%)
$0.149
(26%)
$0.031
(84%)
$0.116
(42%)
$0.147
(26%)
EC2の購入オプション(一部)比較(2017年7月26日6時現在, 東京リージョン, Linuxインスタンス)
# ()内はオンデマンドからの削減率
68. #awsstartup
コスト下げたい - 実装時の参考資料
AWS Black Belt Online Seminar資料&動画
クラウドのためのアーキテクチャ設計-ベストプラクティス-(資料|動画)
Auto Scaling (資料 | 動画)
Amazon EC2 Spot Instances (資料 | 動画)
サーバーレスによるアーキテクチャパターンのご紹介 (資料 | 動画)
AWS Summit/Dev Day講演資料 (2016 | 2017)
AWS のコスト最適化入門 (2017)(資料 | 動画)
[インティメート・マージャー様] Amazon ECS と SpotFleet を活用し
た低コストでスケーラブルなジョブワーカーシステム (2017)
(資料 | 動画)
AWS Well-Architected フレームワークによるクラウド ベスト プラク
ティス (2017) (資料 | 動画)
70. #awsstartup
VPS でスモールスタート & メディアホスト
IoT も AWS で
AI, Deep Learning, ボットもサポート
モバイルアプリを簡単開発
動画、ライブのストリーミング
サーバレスアーキテクチャ
マイクロサービス on AWS
金融機関との連携がアツい FinTech
おさえておきたい技術トレンド
74. AWS IoT 数十億デバイス、数兆メッセージを支える IoT バックエンド
サービス
運営
ユースケース1 - ウェアラブルデバイス ユースケース2 - スマートホーム
できること 価格ボリューム
• 個々のデバイス管理を一元遠隔管理
• 様々な要件にマッチする拡張性
• 最先端のエッジコンピューティング
• 100万メッセージで月800円程度
• 例: 1000個のセンサーからメッセー
ジを毎分2通送信 → 約8600円/月
エンド
ユーザ
デバイス管理
写真閲覧
サービス
エンドユーザ
外出先から自宅の施錠を確認&管理
76. Deep Learning Amazon AI, GPU インスタンス, MXNet へのコミット
Amazon AI Services Apache MXNet
GPU インスタンス
Amazon
Polly
Amazon
Lex
Amazon
Rekognition
テキスト to スピーチ API
チャットボット
開発用 API
画像認識 API
Deep Learning AMI
Amazon
Machine Learning
教師データによる
学習と予測 API
畳み込みニューラルネットワーク(CNN)や
長短期メモリネットワーク(LSTM)といった
モデルをサポートする DL フレームワーク。
Amazon もコミットし利用している。
• G2インスタンス: グラフィックス処理用
NVIDIA Kepler GK104 GPU を最大4基搭載
• P2インスタンス: 高速並列計算用
NVIDIA K80 を最大16GPU搭載
Apache MXNet、TensorFlow、Caffe2
(および Caffe)、Theano、Torch、CNTK、
Keras がプリインストールされた EC2 の
マシンイメージ
88. マイクロサービス on AWS
ECSで実現
Target Group1:
Service A
Target Group2:
Service B
/srvA* /srvB*
GET /srvA
ALBのRule
(PathPattern)ごとに
ECSのサービスを分け、
サービスディスカバリを
実現するパターン
足回りの管理がほぼ不要
になる、オススメパター
ンの一つ
92. • AWS は
「金融機関におけるクラウド利用
に関する有識者検討会」の一員と
して FISC 自体の内容策定に参加
• 各項目に対する対応方法を公開
Fin Tech スタートアップからメガバンクまでを支える実績とセキュリティ$$
セキュリティ監査
金融機関システム連携FISC対応、コンプライアンス
• 大手金融機関側の業務・技術知識、
スタートアップ側の各種知見を
併せ持つ AWS エンジニアチーム
• AWS は FinTech 協会会員として、
API 連携時の推奨システム構成を
提唱、構築支援
• 豊富な金融システム経験を持つ
AWS スタッフが監査対応を支援
• ときには監査人と直接会議も
Fin Tech担当SA
ブロックチェーンも
いけます。
110. #awsstartup
AWSでのソリューション
AWS Black Belt Online Seminar 資料
AWS 利用者が実施する AWS 上でのセキュリティ対策(資料)
AWS におけるセキュリティとコンプライアンス(資料 | 動画)
AWS Identity and Access Management (AWS IAM)
(資料 | 動画)
事業価値を最大化するAWSセキュリティ(資料)
AWS Summit/Dev Day講演資料 (2016 | 2017)
DevSecOps on AWS - Policy in Code (2017)(資料 | 動画)
AWS セキュリティ入門 (2017)(資料 | 動画)