サーバレス構成の運用・監視と自社製data○ogもどきの話 公開用

40
あなたの側で、あなた以上に考える。 サーバレス構成の運用・監視と 自社製Data○ogもどきの話 1

Upload: takashi-kozu

Post on 22-Jan-2018

178 views

Category:

Devices & Hardware


0 download

TRANSCRIPT

Page 1: サーバレス構成の運用・監視と自社製Data○ogもどきの話 公開用

あなたの側で、あなた以上に考える。

サーバレス構成の運用・監視と

自社製Data○ogもどきの話

1

Page 2: サーバレス構成の運用・監視と自社製Data○ogもどきの話 公開用

あなたの側で、あなた以上に考える。Agenda

1. 自己紹介/会社紹介

1. クラウド利用の過去から現在

2. サーバレスアーキテクチャの運用・開発実例

1. 重たいバッチ処理のサーバレス化

2. 秒間1,000アクセスを捌くサーバレスアーキテクチャ

3. 自社製Data○ogもどきの話

3. サーバレスアーキテクチャの運用(監視)

1. Amazon CloudWatch アラーム

2. サービス監視のLambda活用

4. まとめ

2

Page 3: サーバレス構成の運用・監視と自社製Data○ogもどきの話 公開用

あなたの側で、あなた以上に考える。自己紹介

前職では特定業種向けのASPサービスの企画・開発・運用までを担当

数名でサーバ構築・運用・監視 / PHPプログラム開発・保守を実施

サービス提供企業数が年間100社程スケール → 負荷が増大する中でインフラ設計・保守業務の重要性や楽しさを経験し、現在の会社では様々な角度から

お客様のサーバ構築・運用業務にまつわる下記を担当しています。

- 自社システム開発、業務効率化、自動化

最近

- サーバレスアーキテクチャ含むAWSインフラ設計・構築・PoC・IoT

- Infrastructure as Code請負い、開発会社様へのCI/CD環境提供

株式会社スカイアーチネットワークス

技術本部開発課 神津 崇士 (こうづ たかし)

tktk19

http://kouzu.info

Page 4: サーバレス構成の運用・監視と自社製Data○ogもどきの話 公開用

あなたの側で、あなた以上に考える。アンケート

•商用サービスでコンテナ利用されている方

•商用サービスでサーバレス構成を利用されている方

•開発者の方

•インフラエンジニア・運用をお仕事にされている方

4

Page 5: サーバレス構成の運用・監視と自社製Data○ogもどきの話 公開用

あなたの側で、あなた以上に考える。

ウェブサービスに最適な

クラウドインテグレーター↑コンサルティングから設計、開発、運用・保守・管理を一括で行う

スカイアーチ実績

Page 6: サーバレス構成の運用・監視と自社製Data○ogもどきの話 公開用

あなたの側で、あなた以上に考える。

$ alias skyarch= ‘echo “サバカン屋”’

別名は…

Page 7: サーバレス構成の運用・監視と自社製Data○ogもどきの話 公開用

あなたの側で、あなた以上に考える。クラウドでサービス構築 過去から現在

7

4年前

AWSをクラウド基盤として採用する企業が少しづつ出始める

EC2(サーバ)のみで作成された物が大半

3年前

AWSをクラウド基盤として採用する企業が多く出始める

ELB(ロードバランサ)、EC2、RDS(PaaSのDBサービス)

で作成された物が大半

AWS顧客数の増加に伴いInfrastructure AS Codeを急ピッチで進める

2年前

AWSをクラウド基盤として採用する企業が90%程

S3でのイメージホスティングやAutoscale機能の活用

Elastic Beanstalk等 アプリケーションデプロイのみで

インフラ自動構築・運用サービス利用が出て来る

2013 2014 2015 2016 2017

弊社お客様 - AWS利用企業数

Page 8: サーバレス構成の運用・監視と自社製Data○ogもどきの話 公開用

あなたの側で、あなた以上に考える。ここ2年間の変化

8

1年前

IoTやBigDataをキーワードにPoCのお手伝いを行う機会を頂く

APIGateway、Redshift、DynamoDB及びAPI開発案件のお引き合いを頂く

SQSやElasticacheの利用事例も増える

今年

サーバレスをキーワードにした開発案件のお引き合いを多数頂き、受注→納品弊社ではAPIGateway、Cognito、DynamoDB等々を利用したバックエンド部開発サーバレス案件や、ECSを利用した運用にも携わることが出来ました。

→ これまでAWSをサーバ中心で利用していた方々がサーバレスを実践・採用し始めている!

Page 9: サーバレス構成の運用・監視と自社製Data○ogもどきの話 公開用

あなたの側で、あなた以上に考える。Agenda

1. 自己紹介/会社紹介

1. クラウド利用の過去から現在

2. サーバレスアーキテクチャの運用・開発実例

1. 重たいバッチ処理のサーバレス化

2. 秒間1,000アクセスを捌くサーバレスアーキテクチャ

3. 自社製Data○ogもどきの話

3. サーバレスアーキテクチャの運用(監視)

1. Amazon CloudWatch アラーム

2. サービス監視のLambda活用

4. まとめ

9

Page 10: サーバレス構成の運用・監視と自社製Data○ogもどきの話 公開用

あなたの側で、あなた以上に考える。重たいバッチ処理

10

目的 : 超短納期である程度スケーラブルで安価な長時間バッチ実行環境構築

Webサーバ

(CMS)バッチサーバ

バッチ処理が予想以上に重たい!

m4.4xlarge インスタンスで2種類のJob

2分程の物と、2時間程掛かる物

• バッチの並列実行を行いたい

• 変換処理は即時実行させたい

• バッチサーバはなるべく電源入れずコスト抑えたい

• バッチサーバでジョブキュー実装が難しい

• 諸々事情があり1週間でなんとかしたい

当初構成両方共常時稼働

Page 11: サーバレス構成の運用・監視と自社製Data○ogもどきの話 公開用

あなたの側で、あなた以上に考える。1日目 ~ 6日目まで

11

AMIから生成

バッチ処理データ スクリプト

AWS Data Pipeline

実際のインスタンス生成→バッチ→終了までOKDataPipelineで行けそう!

Data PipelineのGUI難しい!

ShellCommandActivity?

このリソースへこの設定値もたせられる?→ 出来ない!

複数パラメータ渡しどう実装する?→ 出来た!

等々有りましたがなんとか

S3バケット上のスクリプトを指定して

AMIから生成したサーバ上で動作するように

Web/APサーババッチサーバ

Page 12: サーバレス構成の運用・監視と自社製Data○ogもどきの話 公開用

あなたの側で、あなた以上に考える。7日目

12

終わりが見えた途端幻になってしまう痛恨のミス

Web service limit exceeded: Exceeded number of concurrent

executions.

連結テストを行い、ジョブを連続で呼んだ所

Data Pipelineの On Demand 実行 (API経由での即時呼び出し) の並列動作に失敗

スケジュール実行であれば可能な模様だが今回の要求に合致せず

※本来の利用用途に合致すればコードレスで色々実行出来る便利なサービスです

Page 13: サーバレス構成の運用・監視と自社製Data○ogもどきの話 公開用

あなたの側で、あなた以上に考える。8日目 延長戦

13

①バッチサーバ生成

Userdataにてパラメータ等引き渡し

② 最新のバッチをS3より取得

Inputデータ取得

③ バッチ実行

④ S3へ結果・ログをアップロード

⑤ 自身をTerminate

バッチ処理データ スクリプト

Web/APサーバ バッチサーバ

AWS Lambda

Instance disposer

instance_id job_id Instance_status job_status

i-0ebf9373931c69312 20171030 Terminated Finished

i-0ebf9373931c69312 20171031 Running Running

AWS CLI 最高!!

定期実行Lambdaで

バッチ終了済み or 長時間残留サーバの削除

Page 14: サーバレス構成の運用・監視と自社製Data○ogもどきの話 公開用

あなたの側で、あなた以上に考える。サーバレス化実施にあたり 注意点

開発にあたり

1. 使い所がフィットするか確認を慎重に(スケジュール・進め方)

2. 実際に試してみないと制約等分からない事が多い

→ PoCフェイズを挟む

普段からサーバレスアーキテクチャの最新情報を追っておく事で

コードレスで行けるようなサービスを利用して行けるように

14

Page 15: サーバレス構成の運用・監視と自社製Data○ogもどきの話 公開用

あなたの側で、あなた以上に考える。Agenda

1. 自己紹介/会社紹介

1. クラウド利用の過去から現在

2. サーバレスアーキテクチャの運用・開発実例

1. 重たいバッチ処理のサーバレス化

2. 秒間1,000アクセスを捌くサーバレスアーキテクチャ

3. 自社製Data○ogもどきの話

3. サーバレスアーキテクチャの運用(監視)

1. Amazon CloudWatch アラーム

2. サービス監視のLambda活用

4. まとめ

15

Page 16: サーバレス構成の運用・監視と自社製Data○ogもどきの話 公開用

あなたの側で、あなた以上に考える。

16

サーバレスアーキテクチャ例

最大で1,000リクエスト/秒が予想される一方で普段のリクエスト数は少ないリクエスト受け後の処理の遅延はある程度許容安く済ませたい

API Gateway

リクエスト送信元

→ 後続をどのように作るか

Page 17: サーバレス構成の運用・監視と自社製Data○ogもどきの話 公開用

あなたの側で、あなた以上に考える。

17

サーバレスアーキテクチャ例

Lambda1API Gateway

SQS

Lambda2 DynamoDB

リクエスト送信元

リクエストをキューイングする事で疎結合を保ち時間差で捌く!

後続処理

Page 18: サーバレス構成の運用・監視と自社製Data○ogもどきの話 公開用

あなたの側で、あなた以上に考える。Agenda

1. 自己紹介/会社紹介

1. クラウド利用の過去から現在

2. サーバレスアーキテクチャの運用・開発実例

1. 重たいバッチ処理のサーバレス化

2. 秒間1,000アクセスを捌くサーバレスアーキテクチャ

3. 自社製Data○ogもどきの話

3. サーバレスアーキテクチャの運用(監視)

1. Amazon CloudWatch アラーム

2. サービス監視のLambda活用

4. まとめ

18

Page 19: サーバレス構成の運用・監視と自社製Data○ogもどきの話 公開用

あなたの側で、あなた以上に考える。サーバ状態取得システム改善 実施の背景

提案型のシステム・サーバ運用を加速する

Page 20: サーバレス構成の運用・監視と自社製Data○ogもどきの話 公開用

あなたの側で、あなた以上に考える。

サーバ情報/1hパッケージバージョン

プロセス情報

etc…

旧サーバ状態 取得・確認ツール

1,000台以上

データ取り込み時間が伸び

取得頻度・情報を増やすのは

もう限界…

メール取り込み時間の増大

DB検索クエリの実行時間長

脆弱性対象確認

クラッキング等検知

過去プロセス確認

目的 : 増え続けるデータを取りこぼしなく利用するための基盤構築

Page 21: サーバレス構成の運用・監視と自社製Data○ogもどきの話 公開用

あなたの側で、あなた以上に考える。新サーバ状態 取得・確認ツール

1,000台以上

サーバ情報/10minパッケージバージョン(詳細)

プロセス情報(詳細)

通信状況

サーバ構成情報/1day

etc…

これまでの10倍以上の情報処理

スケーラブルで信頼性が高いシステムをスモールスタート

②見える化③機械学習→提案

将来的に実施したい!

2014年度から

全台Chefによるサーバ構築

提案型のシステム・サーバ運用を加速するために、鮮度の高い情報取得→提案自動化(したい!)

Amazon

DynamoDB

Amazon

Redshift

AWS

LambdaData

Pipeline

BIツール

Amazon Machine

Learning

①データ蓄積

Amazon

S3

暗号化してPOST

監視/モニタリングはZabbixで実施

Page 22: サーバレス構成の運用・監視と自社製Data○ogもどきの話 公開用

あなたの側で、あなた以上に考える。新サーバ状態 取得・確認ツール

Page 23: サーバレス構成の運用・監視と自社製Data○ogもどきの話 公開用

あなたの側で、あなた以上に考える。新サーバ状態 取得・確認ツール

あ!サーバ再起動後にMySQLが起動していない!

Page 24: サーバレス構成の運用・監視と自社製Data○ogもどきの話 公開用

あなたの側で、あなた以上に考える。BIツール画面

Page 25: サーバレス構成の運用・監視と自社製Data○ogもどきの話 公開用

あなたの側で、あなた以上に考える。Agenda

1. 自己紹介/会社紹介

1. クラウド利用の過去から現在

2. サーバレスアーキテクチャの運用・開発実例

1. 重たいバッチ処理のサーバレス化

2. 秒間1,000アクセスを捌くサーバレスアーキテクチャ

3. 自社製Data○ogもどきの話

3. サーバレスアーキテクチャの運用(監視)

1. Amazon CloudWatch アラーム

2. サービス監視のLambda活用

4. まとめ

25

Page 26: サーバレス構成の運用・監視と自社製Data○ogもどきの話 公開用

あなたの側で、あなた以上に考える。運用で確認しておくとても重要な部分

26

Page 27: サーバレス構成の運用・監視と自社製Data○ogもどきの話 公開用

あなたの側で、あなた以上に考える。運用で確認しておくとても重要な部分

27

ログ詳細

Page 28: サーバレス構成の運用・監視と自社製Data○ogもどきの話 公開用

あなたの側で、あなた以上に考える。Cloudwatch Alarm運用について

28

Page 29: サーバレス構成の運用・監視と自社製Data○ogもどきの話 公開用

あなたの側で、あなた以上に考える。Amazon CloudWatchアラームからのメール

29

Cloudwatch alarmにて発報されたメール

Page 30: サーバレス構成の運用・監視と自社製Data○ogもどきの話 公開用

あなたの側で、あなた以上に考える。Amazon CloudWatchアラーム

30

CloudWatch

Slack

Alarm

SNS

Lambda

こんな構成で1プロジェクト専属であれば問題ありませんが

Page 31: サーバレス構成の運用・監視と自社製Data○ogもどきの話 公開用

あなたの側で、あなた以上に考える。Amazon CloudWatchアラーム

31

AWS AccountID等の条件で振り分け

IFTTT的なサービスで受信したメールを対応者が分かりやすい物に整形してから送信

Page 32: サーバレス構成の運用・監視と自社製Data○ogもどきの話 公開用

あなたの側で、あなた以上に考える。Amazon CloudWatchアラーム

32

対応者が安心してアラート対応開始

Page 33: サーバレス構成の運用・監視と自社製Data○ogもどきの話 公開用

あなたの側で、あなた以上に考える。Agenda

1. 自己紹介/会社紹介

1. クラウド利用の過去から現在

2. サーバレスアーキテクチャの運用・開発実例

1. 重たいバッチ処理のサーバレス化

2. 秒間1,000アクセスを捌くサーバレスアーキテクチャ

3. 自社製Data○ogもどきの話

3. サーバレスアーキテクチャの運用(監視)

1. Amazon CloudWatch アラーム

2. サービス監視のLambda活用

4. まとめ

33

Page 34: サーバレス構成の運用・監視と自社製Data○ogもどきの話 公開用

あなたの側で、あなた以上に考える。サーバレス環境の監視 サーバレスの場合

34

サーバレスの場合のサービス監視例

AWS

Lambda

Amazon

DynamoDBAWS

Lambda

Amazon API

Gateway

監視用APIリクエストの

定期実行

AWS

Lambda

処理の中心部分

Amazon

CloudWatch

スカイアーチ過去データ蓄積

Zabbix

Sender

後続処理

ログLambda失敗回数

4XX/5XX回数実行時間

等々

チェックポイント①監視用APIリクエストが

到達したか

AWS Step

Functions

OR

AWS

Lambda

サービス監視もサーバレスで実施

Page 35: サーバレス構成の運用・監視と自社製Data○ogもどきの話 公開用

あなたの側で、あなた以上に考える。サーバレス環境の監視 サーバレスの場合 実例 (簡略図)

35

Lambda S3

AWS WAF

Amazon API

GatewayAmazon

CloudFront

WAF機能(IPアドレス制限)を利用するためCloudFrontを利用

定期実行Lambdaにてサンプルリクエストを実施しレスポンを確認(サービス監視)

Lambda

Amazon CloudWatchalarmAmazon

SNS

・・・

リクエスト

Page 36: サーバレス構成の運用・監視と自社製Data○ogもどきの話 公開用

あなたの側で、あなた以上に考える。サーバレス環境の監視 サーバレスの場合 実例

36

リクエスト結果が正常な場合返却値として 1が返る

Page 37: サーバレス構成の運用・監視と自社製Data○ogもどきの話 公開用

あなたの側で、あなた以上に考える。Agenda

1. 自己紹介/会社紹介

1. クラウド利用の過去から現在

2. サーバレスアーキテクチャの運用・開発実例

1. 重たいバッチ処理のサーバレス化

2. 秒間1,000アクセスを捌くサーバレスアーキテクチャ

3. 自社製Data○ogもどきの話

3. サーバレスアーキテクチャの運用(監視)

1. Amazon CloudWatch アラーム

2. サービス監視のLambda活用

4. まとめ

37

Page 38: サーバレス構成の運用・監視と自社製Data○ogもどきの話 公開用

あなたの側で、あなた以上に考える。サーバレス化実施にあたり まとめ

運用にあたり

1. サービスを運用できる・易いやすい体制を整える

2. サービス監視、状態把握のための可視化

アラートが上がった・問題が起きてしまったがどこで何が起きているのか分から

ない

→ 切り分けを行い状況判断が行えるように、可視化し改善を行えるように

3. アラートが上がった時の対処法を考慮しておく事

38

Page 39: サーバレス構成の運用・監視と自社製Data○ogもどきの話 公開用

あなたの側で、あなた以上に考える。サーバレス化実施にあたり まとめ

落とし穴

1. 基本的に一度動き出したサーバレスシステムへの手出しは難しい

→ CI/CD等無停止デプロイ等を考慮しておく必要があるか検討

2. 高負荷時の動作確認をしておく事

ロードテストを必ず実施し、想定通り適切にスケールするかを確認

設定・Limit次第でLambda利用 = スケールできない事も (stream処理等)

3. DynamoDB絡みの案件は設計が命+キャパシティ管理がとても重要

万能に見えるDynamoDBですが、癖が多いです

39

Page 40: サーバレス構成の運用・監視と自社製Data○ogもどきの話 公開用

ご清聴ありがとうございました。