SlideShare una empresa de Scribd logo
1 de 49
Descargar para leer sin conexión
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
開発者におくる
サーバーレスモニタリング
AWS CREATIVE STUDIO | 2018
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
自己紹介
名前
小梁川 貴史(こやながわ たかし)
所属
技術統括本部
シニア ソリューション アーキテクト
前職
電機メーカー自社サービスの開発・運用
元AWSユーザ
好きなAWSサービス
AWS IoT , AWS Lambda(python), Amazon Kinesis
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
本セッションの目的
Serverlessな構成、AWS Lambdaの導入でサーバ管理はなくなるが、運用業務は発
生する。本セッションでは、AWS Lambdaを中心にmetricsの意味/監視ポイントを
説明する
本セッションの対象
• AWS Lambdaを開発している方
• Severlessの運用に興味がある方
お話しないこと
• 各サービスのベーシックな説明
• AWS Fargate/Amazon Aurora Severlessのお話
• AWS Lambdaのコーディングに関わるお話
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
開発者にとってのモニタリングとは?
いま下記の質問にすぐに回答できますか?
• Lambdaの平均速度時間
• Lambdaの使われる方
• エラー回数
• 使っているログ容量
• deploy前後での性能差分
自分が作ったものがどう使われているのか/動いているのか?、や改善点
が見えるようにしておくのが重要。
また、運用を人に託すのであれば何を見るのかを提示する責任を持つべき。
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Agenda
• AWS Lambdaのモニタリング
• X-Rayの利用
• CloudWatchとの連携
• Amazon API Gatewayのmetrics
• まとめ
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Lambdaのモニタリング
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Lambda起動パターンの違いによる考え方の違い
イベントベース ストリームベース SQSベース
• S3
• API Gateway
など
• Kinesis streams
• DynamoDB streams
• SQS
ストリームのシャード数:Lambda
= 1:1
シャードの追加に自動追従
log polling型、queueの
数に応じてLambda 起動
数がauto scale
イベント数:Lambda =
n:n
Kinesis StreamS3 bucket
SQS
自動log polling
(最大10までの複数件取得)
自動polling
(指定したbatch sizeデータを取得
最大1万件まで指定可能)イベントから発火
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
(復習)同時期同数の定義
1s 2s 3s 4s 5s
秒間リクエスト:
10 req/sec
関数の平均実行時間: 3s / exec
同時実行数
= “同時”に実行されているタイミング
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Lambdaのモリタリングの意味
項目 単位 意味
Invocations count Lambdaの実行回数を計測したもの。=課金カウント
≠同時起動数
Duration ms Lambdaの実行時間を計測。(課金は100msで切り上げる)
※コールドスタートのLambda起動までの時間は含まない
Errors, Availability count Lambdaが正常終了しなかった回数を計測したもの
Availabilityは%で表示される
Throttles count Throttleの発生回数
アカウントにおけるLambdaの同時起動数超過が発生している
IteratorAge ms ストリーム(kinesis/dynamoDB)でのみ利用。バッチサイズ分取得し
たレコード終端の時刻とLambdaがイベントとして受信した時刻差で
表示される
DeadLetterErrors count DLQを設定し、そのDLQへの書き込みが失敗すると増加する。
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
metricsのdurationの意味
1. (ENIの作成)
2. コンテナの作成
3. デプロイパッケージのロード
4. デプロイパッケージの展開
5. ランタイム起動・初期化
6. 関数/メソッドの実行
• VPCを利用する場合だけ
• 10秒〜30秒かかる
• Durationには含まれない
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
1. (ENIの作成)
2. コンテナの作成
3. デプロイパッケージのロード
4. デプロイパッケージの展開
5. ランタイム起動・初期化
6. 関数/メソッドの実行
• 指定されたランタイム
• S3からのダウンロードとZIP
ファイルの展開
• Durationには含まれない
metricsのdurationの意味
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
metricsのdurationの意味
1. (ENIの作成)
2. コンテナの作成
3. デプロイパッケージのロード
4. デプロイパッケージの展開
5. ランタイム起動・初期化
6. 関数/メソッドの実行
• 各ランタイムの初期化処理
• グローバルスコープの処理もこ
のタイミングで実行される
• Durationには含まれない
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
metricsのdurationの意味
1. (ENIの作成)
2. コンテナの作成
3. デプロイパッケージのロード
4. デプロイパッケージの展開
5. ランタイム起動・初期化
6. 関数/メソッドの実行
• ハンドラーで指定した
関数/メソッドの実行
• Durationの値はここの実行時
間
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
metricsのdurationの意味
1. (ENIの作成)
2. コンテナの作成
3. デプロイパッケージのロード
4. デプロイパッケージの展開
5. ランタイム起動・初期化
6. 関数/メソッドの実行
すべてを実行するのがコールドスタート
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
metricsのdurationの意味
1. (ENIの作成)
2. コンテナの作成
3. デプロイパッケージのロード
4. デプロイパッケージの展開
5. ランタイム起動・初期化
6. 関数/メソッドの実行
基本的に毎回同じ内容が実行される
再利用することで省略して効率化
(ウォームスタート)
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
イベントベースでのAWS Lambda注意事項
AWS Lambdaは呼び出されれば最低一回は実行することを保証している。
呼び出し側が呼び出さない、複数回呼び出すことは発生する。
この事象はAWS Lambdaでは監視/検知ができないので全体の仕組みで検
討する必要がある
対処例
• アプリケーション側での冪等性の確保
• 例えばS3であれば イベント発火用バケットと処理済みバケットを作成
することで、イベント発火漏れを検知するなど
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ストリームベースのLambda
同時実行数
ストリーム
シャード1
シャード2
シャード3
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ストリームベースはerrorを検知したら要注意
https://aws.amazon.com/jp/lambda/faqs/
異常データ
Stream
Batch
size 2
2件read /処理
し、正常終了
続きの2件をread、
1件目のデータで
exception 終了
checkpointが進ま
ないので、同じ
データを読む
(有効期限まで)
これを防ぐには、不正データは
ログ、queueなどに通知、
Lambdaは正常終了させる
checkpoint
正常終了に合わせて
checkpointが進む
Lambdaが正常終了ではないの
で、checkpointが進まない
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ストリーム型での監視事項
▲shard分割で
Lambda起動数が倍
5分約300
= 1act/sec
で計算どおり
5分のなかの
metrics max
が表示されて
いる
0.3秒間隔でdataをkinesis streamsへ送信し、途中でshard分割を実行した
Lambdaのモニタ画面例
▲shard分割でLambda新規
分の起動遅延
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
先程のIteratorAgeをCloudwatch metricsでみると
意味を間違うと大違いになるので、表示の意味を理解することが重要
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ストリームベースでの監視/運用ポイント
IteratorAgeの”Average”が大きくなっている場合は処理遅れが想定される。
• Lambda実行環境のスペックにより実行時間の短縮を考える
• Kinesis Streamsのshardを分割
• shardを分割することで並行処理数が増える
• 東京リージョンの場合1 stream/200shard分割まで可能
Error metricsが上がった場合は、処理がロックされている可能性がある。
• Lambdaのプログラム改修
• kinesis streamsの読み込みをlatest/timestampベースで再設定
• データを読まずに捨てることになるので注意
Streamの場合、Errorを挙げないように設計/テストをすることが重要
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
SQS型起動のLambdaでのmetrics
0.5秒間隔でqueueを送信した場合。metricsは標準の5min
5分580回の実行で
きるまでスケール
queueの送信を止めたことで
並行起動のLambdaが減少
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
LambdaのSQS起動における注意事項
メッセージ到達時の挙動: 5つのパラレルロングポーリング接続を使用し
てSQSキューのポーリングを開始、メッセージ数 > 処理量 の傾向が続き、
最終的に処理が追いつかない場合、コンカレンシーリミットまでスケール
する。
Lambda単位にコンカレンシーを制限しない場合アカウントの上限までス
ケールする可能性があり、他のLambdaの起動を妨げる可能性があるので、
大規模に使用する際にはコンカレンシーの設定も検討する
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Lambda共通で気をつける事項
Throttleを観測した場合
• どのAWS Lambdaが大量に使っているかの特定
• CloudWatchのAll across accountでアカウント全体での使用状況と個別Lambdaの使用状況を確認
• Limit increaseの申請
Error metricsが増加している
• 権限設定漏れ
• SQS/ストリームであり得るパターン、バッチサイズとプログラム処理時間とLambdaのタイマ値の関
係を確認
• 1処理時間 x バッチサイズ > タイマ値 となるこれも処理が進まないパターンになる
Dead Letter Queueが増え続ける
• 後段処理、連携システムのダウンなど、システム系としての障害の確認などを実施
リトライ処理の考慮
• 非同期型であれば1回の実行、2回のリトライが行われ、すべて失敗した場合に、 (設定していれ
ば) Dead Letter Queueへ送られる
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
X-Rayの利用
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS X-Ray
リクエスト実行状況の確認
アプリケーションを構成する
個々のサービスやリソースの
実行結果ステータスを集計し、
アプリケーションの実行状況を
エンドツーエンドで確認可能
アプリケーションの問題の検出
アプリケーションの実行状況に
ついての関連する情報を収集し、
問題の根本原因を調査可能
アプリケーションのパフォーマンス向上
サービスやリソースの関係をリアルタイムで
表示し、レイテンシ増加やパフォーマンス低下
などのボトルネックを特定可能
AWSとの連携
Amazon EC2, Amazon ECS,
AWS Lambda, AWS Elastic Beanstalk
と連携
さまざまなアプリケーション向けの設計
非同期のシンプルなイベント呼び出し、
3層のウェブアプリケーション、数千の
サービスから構成される複雑なマイクロ
サービスも分析可能
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS X-Ray コンポーネント
User
Amazon API
gateway
AWS Lambda
Amazon
DynamoDB
Amazon
SQS queue
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS LambdaでX-Rayを利用するためには、、
Lambda用パッケージにX-Ray SDKを追加し、アクティブトレースをONに
する。IAM roleも必要、Managed policyが容易されている
• Pythonの場合
• Python 2.7, Python3.6以降
• Node.jsの場合
• Node.js 4.3以降
• Javaの場合
• Java8以降
• Goの場合
• Go1.7以降
• .NETの場合
• .NET Core 2.0以降
https://docs.aws.amazon.com/ja_jp/xray/latest/devguide/xray-usage.html#xray-usage-languages
CLIであれば、
--tracing-config オプション
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
実装例
import boto3
import json
import requests
from aws_xray_sdk.core import xray_recorder
from aws_xray_sdk.core import patch_all
patch_all()
def main(event, cotext):
xray_recorder.begin_segment(‘main segment’)
(main処理)
xray_recorder.begin_subsegment(‘sub segment’)
(処理A)
xray_recorder.end_subsegment(‘sub segment’)
xray_recorder.end_segment
return
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
実装例
import boto3
import json
import requests
from aws_xray_sdk.core import xray_recorder
from aws_xray_sdk.core import patch_all
patch_all()
def main(event, cotext):
xray_recorder.begin_segment(‘main segment’)
(main処理)
xray_recorder.begin_subsegment(‘sub segment’)
(処理A)
xray_recorder.end_subsegment(‘sub segment’)
xray_recorder.end_segment
return
対応しているライブラリにパッチ適用
pythonの場合
-botocore, boto3
-requests
-sqlite3
-mysq-connector-python
など
patch_allではなく patch(’boto3’)などとすることも可能
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
実装例
import boto3
import json
import requests
from aws_xray_sdk.core import xray_recorder
from aws_xray_sdk.core import patch_all
patch_all()
def main(event, cotext):
xray_recorder.begin_segment(‘main segment’)
(main処理)
xray_recorder.begin_subsegment(‘sub segment’)
(処理A)
xray_recorder.end_subsegment(‘sub segment’)
xray_recorder.end_segment
return
処理全体のセグメントを定義
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
実装例
import boto3
import json
import requests
from aws_xray_sdk.core import xray_recorder
from aws_xray_sdk.core import patch_all
patch_all()
def main(event, cotext):
xray_recorder.begin_segment(‘main segment’)
(main処理)
xray_recorder.begin_subsegment(‘sub segment’)
(処理A)
xray_recorder.end_subsegment(‘sub segment’)
xray_recorder.end_segment
return
処理の中でセグメントブロックを着ることも可能
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
実装例
import boto3
import json
import requests
from aws_xray_sdk.core import xray_recorder
from aws_xray_sdk.core import patch_all
patch_all()
def main(event, cotext):
xray_recorder.begin_segment(‘main segment’)
(main処理)
xray_recorder.begin_subsegment(‘sub segment’)
(処理A)
xray_recorder.end_subsegment()
xray_recorder.end_segment()
return
処理をとじる
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
サービスグラフ
各ノードの呼び出しの結果を
色で分類し、割合を円グラフに
• グリーン 成功した呼び出し
• レッド 5xx errors
• イエロー 4xx errors
• パープル 429 Too Many Requests
(スロットリングエラー)
・平均レイテンシ (ms)
・トレース数 (trace/min)
・サービス名
・サービスの分類
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
CloudWatch Logsとの連携
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
CloudWatch Logs filter pattern
filter patternの仕様
• 大文字、小文字は区別される
• 正規表現は利用できない
• 簡単なパターンマッチのみ利用可能
• JSON形式、スペース区切りは利用可能
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
パターンマッチングの利用例
ログが正規化されていなくても 一致する文字列の検索も可能。アプリケーション
が出力するローグフォーマットと利用ルールを明確化することでmetric filterも作
成できる。printで出力するのではなく、logger関数などを利用してログ出力する
ことがおすすめ
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
他サービスに連携してログの活用
CloudWatch
Logs
Lambda
Function
Amazon ESサブスクライブ
より複雑な解析処理の実装
各種 AWS サービスと連携:
アラート、スケーリング、
Blacklisting、etc…
自由に処理を実装
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
細かい部分で
Lambdaのログ保管期間はデフォルトが無期期限
必要な期間に圧縮することを忘れがち
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
例えば、Lambdaのログ保管周期を定期チェック
import boto3
save_days = 30
clw_l = boto3.client('logs')
def describe_logs():
res = clw_l.describe_log_groups(
logGroupNamePrefix = “/aws/lambda”
)
log_groups = res['logGroups']
#-- get group name from all information
log_group_names = []
for log_group_info in log_groups:
if log_group_info['retentionInDays'] != save_days:
log_group_names.append(log_group_info['logGroupName'])
return log_group_names
def change_log_set(log_list):
for log_name in log_list:
try:
clw_l.put_retention_policy(
logGroupName = log_name,
retentionInDays = save_days
)
time.sleep(0.5)
except Exception as e:
pass
return
def main(event, context):
log_list = describe_logs()
change_log_set(log_list)
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
例えば、Lambdaのログ保管周期を定期チェック
import boto3
save_days = 30
clw_l = boto3.client('logs')
def describe_logs():
res = clw_l.describe_log_groups(
logGroupNamePrefix = “/aws/lambda”
)
log_groups = res['logGroups']
#-- get group name from all information
log_group_names = []
for log_group_info in log_groups:
if log_group_info['retentionInDays'] != save_days:
log_group_names.append(log_group_info['logGroupName'])
return log_group_names
def change_log_set(log_list):
for log_name in log_list:
try:
clw_l.put_retention_policy(
logGroupName = log_name,
retentionInDays = save_days
)
time.sleep(0.5)
except Exception as e:
pass
return
def main(event, context):
log_list = describe_logs()
change_log_set(log_list)
CloudWatchのロググループを取得
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
例えば、Lambdaのログ保管周期を定期チェック
import boto3
save_days = 30
clw_l = boto3.client('logs')
def describe_logs():
res = clw_l.describe_log_groups(
logGroupNamePrefix = “/aws/lambda”
)
log_groups = res['logGroups']
#-- get group name from all information
log_group_names = []
for log_group_info in log_groups:
if log_group_info['retentionInDays'] != save_days:
log_group_names.append(log_group_info['logGroupName'])
return log_group_names
def change_log_set(log_list):
for log_name in log_list:
try:
clw_l.put_retention_policy(
logGroupName = log_name,
retentionInDays = save_days
)
time.sleep(0.5)
except Exception as e:
pass
return
def main(event, context):
log_list = describe_logs()
change_log_set(log_list)
適切なログ期間をチェック
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
例えば、Lambdaのログ保管周期を定期チェック
import boto3
save_days = 30
clw_l = boto3.client('logs')
def describe_logs():
res = clw_l.describe_log_groups(
logGroupNamePrefix = “/aws/lambda”
)
log_groups = res['logGroups']
#-- get group name from all information
log_group_names = []
for log_group_info in log_groups:
if log_group_info['retentionInDays'] != save_days:
log_group_names.append(log_group_info['logGroupName'])
return log_group_names
def change_log_set(log_list):
for log_name in log_list:
try:
clw_l.put_retention_policy(
logGroupName = log_name,
retentionInDays = save_days
)
time.sleep(0.5)
except Exception as e:
pass
return
def main(event, context):
log_list = describe_logs()
change_log_set(log_list)
適切なログ保存期間を変更
APIガスロットリングされないようにsleepも
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
API Gatewayの監視
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon API Gatewayのモリタリングの意味
項目 単位 意味
4xxError count Sumは4xxエラーの合計数、Averageは4xxエラー率
5xxError count Sumは5xxエラーの合計数、Averageは5xxエラー率
CacheHitCount count APIキャッシュからレスポンスした、
Sumはキャッシュヒットした数、Averageはキャッシュヒット率
CacheMissCount count キャッシュを有効にしているが、バックエンドから応答した数
Sumはキャッシュミスヒット数、Averageはキャッシュミス率
Count count APIのリクエスト数
IntegrationLatency ms API Gatewayが、バックエンドへリクエストして、バックエンドから
レスポンスが返却されるまでの時間
Latency ms API Gatewayがクライントからリクエストを受け取り、クライントに
返却するまでの時間。API Gatewayのオーバヘッドも含まれる
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon API Gatewayのメトリクスフィルタで使えるディメンション
項目 意味
ApiName 指定したAPI名のメトリクスのフィルタリング
ApiName,
Method, Resource,
Stage
指定したAPI名、メソッド、リソース、ステージのフィルタリング
※:詳細なCloudWatchメトリクスを有効にする必要がある
ApiName,
Stage
指定したAPI名とステージのフィルタリング
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
まとめ
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
まとめ
AWS Lambdaの使用に関わる考え方やmetricsは存在するが、
アプリケーション開発、運用においては一般的な知識と経験は活用できる。
CloudWatch Logsや3rd partyツールなどの監視ツールの要件に合わせた
ログ設計なども通常のアプリケーション設計と変わらない。
AWSの制約や仕様を理解し、今までのアプリケーション開発経験とあわせ
ることで従来のアプリケーションよりも、柔軟なアプリケーション開発/
運用もできる可能性がある。
(Serverlessが合わないユースもあるので、見極めは必要)
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Thank You and
Happy Coding

Más contenido relacionado

La actualidad más candente

202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)Amazon Web Services Japan
 
20190402 AWS Black Belt Online Seminar Let's Dive Deep into AWS Lambda Part1 ...
20190402 AWS Black Belt Online Seminar Let's Dive Deep into AWS Lambda Part1 ...20190402 AWS Black Belt Online Seminar Let's Dive Deep into AWS Lambda Part1 ...
20190402 AWS Black Belt Online Seminar Let's Dive Deep into AWS Lambda Part1 ...Amazon Web Services Japan
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことAmazon Web Services Japan
 
VPC Reachability Analyzer 使って人生が変わった話
VPC Reachability Analyzer 使って人生が変わった話VPC Reachability Analyzer 使って人生が変わった話
VPC Reachability Analyzer 使って人生が変わった話Noritaka Sekiyama
 
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用Amazon Web Services Japan
 
20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...Amazon Web Services Japan
 
20210316 AWS Black Belt Online Seminar AWS DataSync
20210316 AWS Black Belt Online Seminar AWS DataSync20210316 AWS Black Belt Online Seminar AWS DataSync
20210316 AWS Black Belt Online Seminar AWS DataSyncAmazon Web Services Japan
 
AWS Black Belt Online Seminar 2017 Amazon Pinpoint で始めるモバイルアプリのグロースハック
AWS Black Belt Online Seminar 2017 Amazon Pinpoint で始めるモバイルアプリのグロースハックAWS Black Belt Online Seminar 2017 Amazon Pinpoint で始めるモバイルアプリのグロースハック
AWS Black Belt Online Seminar 2017 Amazon Pinpoint で始めるモバイルアプリのグロースハックAmazon Web Services Japan
 
AWS Black Belt Online Seminar 2017 Amazon Kinesis
AWS Black Belt Online Seminar 2017 Amazon KinesisAWS Black Belt Online Seminar 2017 Amazon Kinesis
AWS Black Belt Online Seminar 2017 Amazon KinesisAmazon Web Services Japan
 
20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したことAmazon Web Services Japan
 
AWS Black Belt Online Seminar 2017 AWS X-Ray
AWS Black Belt Online Seminar 2017 AWS X-RayAWS Black Belt Online Seminar 2017 AWS X-Ray
AWS Black Belt Online Seminar 2017 AWS X-RayAmazon Web Services Japan
 
20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説
20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説
20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説Amazon Web Services Japan
 
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...Amazon Web Services Japan
 
[AKIBA.AWS] VGWのルーティング仕様
[AKIBA.AWS] VGWのルーティング仕様[AKIBA.AWS] VGWのルーティング仕様
[AKIBA.AWS] VGWのルーティング仕様Shuji Kikuchi
 
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)NTT DATA Technology & Innovation
 
20200818 AWS Black Belt Online Seminar AWS Shield Advanced
20200818 AWS Black Belt Online Seminar AWS Shield Advanced20200818 AWS Black Belt Online Seminar AWS Shield Advanced
20200818 AWS Black Belt Online Seminar AWS Shield AdvancedAmazon Web Services Japan
 
20190814 AWS Black Belt Online Seminar AWS Serverless Application Model
20190814 AWS Black Belt Online Seminar AWS Serverless Application Model  20190814 AWS Black Belt Online Seminar AWS Serverless Application Model
20190814 AWS Black Belt Online Seminar AWS Serverless Application Model Amazon Web Services Japan
 

La actualidad más candente (20)

202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
 
20190402 AWS Black Belt Online Seminar Let's Dive Deep into AWS Lambda Part1 ...
20190402 AWS Black Belt Online Seminar Let's Dive Deep into AWS Lambda Part1 ...20190402 AWS Black Belt Online Seminar Let's Dive Deep into AWS Lambda Part1 ...
20190402 AWS Black Belt Online Seminar Let's Dive Deep into AWS Lambda Part1 ...
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
 
VPC Reachability Analyzer 使って人生が変わった話
VPC Reachability Analyzer 使って人生が変わった話VPC Reachability Analyzer 使って人生が変わった話
VPC Reachability Analyzer 使って人生が変わった話
 
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
 
20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
 
Serverless時代のJavaについて
Serverless時代のJavaについてServerless時代のJavaについて
Serverless時代のJavaについて
 
20210316 AWS Black Belt Online Seminar AWS DataSync
20210316 AWS Black Belt Online Seminar AWS DataSync20210316 AWS Black Belt Online Seminar AWS DataSync
20210316 AWS Black Belt Online Seminar AWS DataSync
 
AWS Black Belt Online Seminar 2017 Amazon Pinpoint で始めるモバイルアプリのグロースハック
AWS Black Belt Online Seminar 2017 Amazon Pinpoint で始めるモバイルアプリのグロースハックAWS Black Belt Online Seminar 2017 Amazon Pinpoint で始めるモバイルアプリのグロースハック
AWS Black Belt Online Seminar 2017 Amazon Pinpoint で始めるモバイルアプリのグロースハック
 
Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022
 
AWS Black Belt Online Seminar 2017 Amazon Kinesis
AWS Black Belt Online Seminar 2017 Amazon KinesisAWS Black Belt Online Seminar 2017 Amazon Kinesis
AWS Black Belt Online Seminar 2017 Amazon Kinesis
 
20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと
 
AWS Black Belt Online Seminar 2017 AWS X-Ray
AWS Black Belt Online Seminar 2017 AWS X-RayAWS Black Belt Online Seminar 2017 AWS X-Ray
AWS Black Belt Online Seminar 2017 AWS X-Ray
 
20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説
20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説
20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説
 
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
 
[AKIBA.AWS] VGWのルーティング仕様
[AKIBA.AWS] VGWのルーティング仕様[AKIBA.AWS] VGWのルーティング仕様
[AKIBA.AWS] VGWのルーティング仕様
 
AWS Black Belt Online Seminar 2017 AWS WAF
AWS Black Belt Online Seminar 2017 AWS WAFAWS Black Belt Online Seminar 2017 AWS WAF
AWS Black Belt Online Seminar 2017 AWS WAF
 
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)
 
20200818 AWS Black Belt Online Seminar AWS Shield Advanced
20200818 AWS Black Belt Online Seminar AWS Shield Advanced20200818 AWS Black Belt Online Seminar AWS Shield Advanced
20200818 AWS Black Belt Online Seminar AWS Shield Advanced
 
20190814 AWS Black Belt Online Seminar AWS Serverless Application Model
20190814 AWS Black Belt Online Seminar AWS Serverless Application Model  20190814 AWS Black Belt Online Seminar AWS Serverless Application Model
20190814 AWS Black Belt Online Seminar AWS Serverless Application Model
 

Similar a 開発者におくるサーバーレスモニタリング

(AWS DevOps祭り 2018) AWS Management Toolsサービスアプデートのご紹介
(AWS DevOps祭り 2018) AWS Management Toolsサービスアプデートのご紹介(AWS DevOps祭り 2018) AWS Management Toolsサービスアプデートのご紹介
(AWS DevOps祭り 2018) AWS Management Toolsサービスアプデートのご紹介Yukitaka Ohmura
 
The Twelve-Factor Appで考えるAWSのサービス開発
The Twelve-Factor Appで考えるAWSのサービス開発The Twelve-Factor Appで考えるAWSのサービス開発
The Twelve-Factor Appで考えるAWSのサービス開発Amazon Web Services Japan
 
AWS Black Belt Techシリーズ AWS Data Pipeline
AWS Black Belt Techシリーズ  AWS Data PipelineAWS Black Belt Techシリーズ  AWS Data Pipeline
AWS Black Belt Techシリーズ AWS Data PipelineAmazon Web Services Japan
 
AWS IoT SiteWise のご紹介 (AWS IoT Deep Dive #5)
AWS IoT SiteWise のご紹介 (AWS IoT Deep Dive #5)AWS IoT SiteWise のご紹介 (AWS IoT Deep Dive #5)
AWS IoT SiteWise のご紹介 (AWS IoT Deep Dive #5)Amazon Web Services Japan
 
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツールAWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツールAmazon Web Services Japan
 
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨Amazon Web Services Japan
 
Amazon Kinesis Familyを活用したストリームデータ処理
Amazon Kinesis Familyを活用したストリームデータ処理Amazon Kinesis Familyを活用したストリームデータ処理
Amazon Kinesis Familyを活用したストリームデータ処理Amazon Web Services Japan
 
20180220 AWS Black Belt Online Seminar - Amazon Container Services
20180220 AWS Black Belt Online Seminar - Amazon Container Services20180220 AWS Black Belt Online Seminar - Amazon Container Services
20180220 AWS Black Belt Online Seminar - Amazon Container ServicesAmazon Web Services Japan
 
JAWS-UG アーキテクチャ専門支部 re:Invent Management Tools ダイジェスト
JAWS-UG アーキテクチャ専門支部 re:Invent  Management Tools ダイジェストJAWS-UG アーキテクチャ専門支部 re:Invent  Management Tools ダイジェスト
JAWS-UG アーキテクチャ専門支部 re:Invent Management Tools ダイジェストYukitaka Ohmura
 
クラウドを積極活用した サービスの開発のために
クラウドを積極活用したサービスの開発のためにクラウドを積極活用したサービスの開発のために
クラウドを積極活用した サービスの開発のためにYuichiro Saito
 
Introduction to New CloudWatch Agent
Introduction to New CloudWatch AgentIntroduction to New CloudWatch Agent
Introduction to New CloudWatch AgentNoritaka Sekiyama
 
[最新版(12/5 最新版) が別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar A...
[最新版(12/5 最新版) が別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar A...[最新版(12/5 最新版) が別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar A...
[最新版(12/5 最新版) が別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar A...Amazon Web Services Japan
 
【12/5 最新版】AWS Black Belt Online Seminar AWS re:Invent 2018 アップデート情報
【12/5 最新版】AWS Black Belt Online Seminar AWS re:Invent 2018 アップデート情報【12/5 最新版】AWS Black Belt Online Seminar AWS re:Invent 2018 アップデート情報
【12/5 最新版】AWS Black Belt Online Seminar AWS re:Invent 2018 アップデート情報Amazon Web Services Japan
 
[最新版は別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar AWS re:Inven...
[最新版は別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar AWS re:Inven...[最新版は別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar AWS re:Inven...
[最新版は別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar AWS re:Inven...Amazon Web Services Japan
 

Similar a 開発者におくるサーバーレスモニタリング (20)

(AWS DevOps祭り 2018) AWS Management Toolsサービスアプデートのご紹介
(AWS DevOps祭り 2018) AWS Management Toolsサービスアプデートのご紹介(AWS DevOps祭り 2018) AWS Management Toolsサービスアプデートのご紹介
(AWS DevOps祭り 2018) AWS Management Toolsサービスアプデートのご紹介
 
GraphQL入門 (AWS AppSync)
GraphQL入門 (AWS AppSync)GraphQL入門 (AWS AppSync)
GraphQL入門 (AWS AppSync)
 
The Twelve-Factor Appで考えるAWSのサービス開発
The Twelve-Factor Appで考えるAWSのサービス開発The Twelve-Factor Appで考えるAWSのサービス開発
The Twelve-Factor Appで考えるAWSのサービス開発
 
Serverless Application Security on AWS
Serverless Application Security on AWSServerless Application Security on AWS
Serverless Application Security on AWS
 
AWS Black Belt Techシリーズ AWS Data Pipeline
AWS Black Belt Techシリーズ  AWS Data PipelineAWS Black Belt Techシリーズ  AWS Data Pipeline
AWS Black Belt Techシリーズ AWS Data Pipeline
 
AWS IoT SiteWise のご紹介 (AWS IoT Deep Dive #5)
AWS IoT SiteWise のご紹介 (AWS IoT Deep Dive #5)AWS IoT SiteWise のご紹介 (AWS IoT Deep Dive #5)
AWS IoT SiteWise のご紹介 (AWS IoT Deep Dive #5)
 
20211109 JAWS-UG SRE keynotes
20211109 JAWS-UG SRE keynotes20211109 JAWS-UG SRE keynotes
20211109 JAWS-UG SRE keynotes
 
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツールAWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
 
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
 
Amazon Kinesis Familyを活用したストリームデータ処理
Amazon Kinesis Familyを活用したストリームデータ処理Amazon Kinesis Familyを活用したストリームデータ処理
Amazon Kinesis Familyを活用したストリームデータ処理
 
20180220 AWS Black Belt Online Seminar - Amazon Container Services
20180220 AWS Black Belt Online Seminar - Amazon Container Services20180220 AWS Black Belt Online Seminar - Amazon Container Services
20180220 AWS Black Belt Online Seminar - Amazon Container Services
 
Serverless for VUI
Serverless for VUIServerless for VUI
Serverless for VUI
 
JAWS-UG アーキテクチャ専門支部 re:Invent Management Tools ダイジェスト
JAWS-UG アーキテクチャ専門支部 re:Invent  Management Tools ダイジェストJAWS-UG アーキテクチャ専門支部 re:Invent  Management Tools ダイジェスト
JAWS-UG アーキテクチャ専門支部 re:Invent Management Tools ダイジェスト
 
Innovation and Startups Today
Innovation and Startups TodayInnovation and Startups Today
Innovation and Startups Today
 
Gaming cicd-pipeline gaming-technight-2
Gaming cicd-pipeline gaming-technight-2Gaming cicd-pipeline gaming-technight-2
Gaming cicd-pipeline gaming-technight-2
 
クラウドを積極活用した サービスの開発のために
クラウドを積極活用したサービスの開発のためにクラウドを積極活用したサービスの開発のために
クラウドを積極活用した サービスの開発のために
 
Introduction to New CloudWatch Agent
Introduction to New CloudWatch AgentIntroduction to New CloudWatch Agent
Introduction to New CloudWatch Agent
 
[最新版(12/5 最新版) が別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar A...
[最新版(12/5 最新版) が別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar A...[最新版(12/5 最新版) が別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar A...
[最新版(12/5 最新版) が別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar A...
 
【12/5 最新版】AWS Black Belt Online Seminar AWS re:Invent 2018 アップデート情報
【12/5 最新版】AWS Black Belt Online Seminar AWS re:Invent 2018 アップデート情報【12/5 最新版】AWS Black Belt Online Seminar AWS re:Invent 2018 アップデート情報
【12/5 最新版】AWS Black Belt Online Seminar AWS re:Invent 2018 アップデート情報
 
[最新版は別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar AWS re:Inven...
[最新版は別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar AWS re:Inven...[最新版は別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar AWS re:Inven...
[最新版は別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar AWS re:Inven...
 

Más de Amazon Web Services Japan

202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFSAmazon Web Services Japan
 
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
202204 AWS Black Belt Online Seminar AWS IoT Device Defender202204 AWS Black Belt Online Seminar AWS IoT Device Defender
202204 AWS Black Belt Online Seminar AWS IoT Device DefenderAmazon Web Services Japan
 
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現Amazon Web Services Japan
 
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...Amazon Web Services Japan
 
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデートAmazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデートAmazon Web Services Japan
 
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用Amazon Web Services Japan
 
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdfAmazon Web Services Japan
 
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介Amazon Web Services Japan
 
Amazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDDAmazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDDAmazon Web Services Japan
 
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチAmazon Web Services Japan
 
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介Amazon Web Services Japan
 
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer ProfilesAmazon Web Services Japan
 
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するためにAmazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するためにAmazon Web Services Japan
 
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介Amazon Web Services Japan
 
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介Amazon Web Services Japan
 
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...Amazon Web Services Japan
 
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピAmazon Web Services Japan
 
20211209 Ops-JAWS Re invent2021re-cap-cloud operations
20211209 Ops-JAWS Re invent2021re-cap-cloud operations20211209 Ops-JAWS Re invent2021re-cap-cloud operations
20211209 Ops-JAWS Re invent2021re-cap-cloud operationsAmazon Web Services Japan
 
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをなAmazon Web Services Japan
 

Más de Amazon Web Services Japan (20)

202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
 
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
202204 AWS Black Belt Online Seminar AWS IoT Device Defender202204 AWS Black Belt Online Seminar AWS IoT Device Defender
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
 
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
 
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
 
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデートAmazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
 
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
 
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
 
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
 
Amazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDDAmazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDD
 
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
 
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
 
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
 
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するためにAmazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
 
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
 
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
 
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
 
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
 
20211209 Ops-JAWS Re invent2021re-cap-cloud operations
20211209 Ops-JAWS Re invent2021re-cap-cloud operations20211209 Ops-JAWS Re invent2021re-cap-cloud operations
20211209 Ops-JAWS Re invent2021re-cap-cloud operations
 
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
 
20211109 bleaの使い方(基本編)
20211109 bleaの使い方(基本編)20211109 bleaの使い方(基本編)
20211109 bleaの使い方(基本編)
 

Último

論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 

Último (9)

論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 

開発者におくるサーバーレスモニタリング

  • 1. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 開発者におくる サーバーレスモニタリング AWS CREATIVE STUDIO | 2018
  • 2. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 自己紹介 名前 小梁川 貴史(こやながわ たかし) 所属 技術統括本部 シニア ソリューション アーキテクト 前職 電機メーカー自社サービスの開発・運用 元AWSユーザ 好きなAWSサービス AWS IoT , AWS Lambda(python), Amazon Kinesis
  • 3. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 本セッションの目的 Serverlessな構成、AWS Lambdaの導入でサーバ管理はなくなるが、運用業務は発 生する。本セッションでは、AWS Lambdaを中心にmetricsの意味/監視ポイントを 説明する 本セッションの対象 • AWS Lambdaを開発している方 • Severlessの運用に興味がある方 お話しないこと • 各サービスのベーシックな説明 • AWS Fargate/Amazon Aurora Severlessのお話 • AWS Lambdaのコーディングに関わるお話
  • 4. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 開発者にとってのモニタリングとは? いま下記の質問にすぐに回答できますか? • Lambdaの平均速度時間 • Lambdaの使われる方 • エラー回数 • 使っているログ容量 • deploy前後での性能差分 自分が作ったものがどう使われているのか/動いているのか?、や改善点 が見えるようにしておくのが重要。 また、運用を人に託すのであれば何を見るのかを提示する責任を持つべき。
  • 5. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Agenda • AWS Lambdaのモニタリング • X-Rayの利用 • CloudWatchとの連携 • Amazon API Gatewayのmetrics • まとめ
  • 6. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS Lambdaのモニタリング
  • 7. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS Lambda起動パターンの違いによる考え方の違い イベントベース ストリームベース SQSベース • S3 • API Gateway など • Kinesis streams • DynamoDB streams • SQS ストリームのシャード数:Lambda = 1:1 シャードの追加に自動追従 log polling型、queueの 数に応じてLambda 起動 数がauto scale イベント数:Lambda = n:n Kinesis StreamS3 bucket SQS 自動log polling (最大10までの複数件取得) 自動polling (指定したbatch sizeデータを取得 最大1万件まで指定可能)イベントから発火
  • 8. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. (復習)同時期同数の定義 1s 2s 3s 4s 5s 秒間リクエスト: 10 req/sec 関数の平均実行時間: 3s / exec 同時実行数 = “同時”に実行されているタイミング
  • 9. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS Lambdaのモリタリングの意味 項目 単位 意味 Invocations count Lambdaの実行回数を計測したもの。=課金カウント ≠同時起動数 Duration ms Lambdaの実行時間を計測。(課金は100msで切り上げる) ※コールドスタートのLambda起動までの時間は含まない Errors, Availability count Lambdaが正常終了しなかった回数を計測したもの Availabilityは%で表示される Throttles count Throttleの発生回数 アカウントにおけるLambdaの同時起動数超過が発生している IteratorAge ms ストリーム(kinesis/dynamoDB)でのみ利用。バッチサイズ分取得し たレコード終端の時刻とLambdaがイベントとして受信した時刻差で 表示される DeadLetterErrors count DLQを設定し、そのDLQへの書き込みが失敗すると増加する。
  • 10. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. metricsのdurationの意味 1. (ENIの作成) 2. コンテナの作成 3. デプロイパッケージのロード 4. デプロイパッケージの展開 5. ランタイム起動・初期化 6. 関数/メソッドの実行 • VPCを利用する場合だけ • 10秒〜30秒かかる • Durationには含まれない
  • 11. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 1. (ENIの作成) 2. コンテナの作成 3. デプロイパッケージのロード 4. デプロイパッケージの展開 5. ランタイム起動・初期化 6. 関数/メソッドの実行 • 指定されたランタイム • S3からのダウンロードとZIP ファイルの展開 • Durationには含まれない metricsのdurationの意味
  • 12. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. metricsのdurationの意味 1. (ENIの作成) 2. コンテナの作成 3. デプロイパッケージのロード 4. デプロイパッケージの展開 5. ランタイム起動・初期化 6. 関数/メソッドの実行 • 各ランタイムの初期化処理 • グローバルスコープの処理もこ のタイミングで実行される • Durationには含まれない
  • 13. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. metricsのdurationの意味 1. (ENIの作成) 2. コンテナの作成 3. デプロイパッケージのロード 4. デプロイパッケージの展開 5. ランタイム起動・初期化 6. 関数/メソッドの実行 • ハンドラーで指定した 関数/メソッドの実行 • Durationの値はここの実行時 間
  • 14. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. metricsのdurationの意味 1. (ENIの作成) 2. コンテナの作成 3. デプロイパッケージのロード 4. デプロイパッケージの展開 5. ランタイム起動・初期化 6. 関数/メソッドの実行 すべてを実行するのがコールドスタート
  • 15. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. metricsのdurationの意味 1. (ENIの作成) 2. コンテナの作成 3. デプロイパッケージのロード 4. デプロイパッケージの展開 5. ランタイム起動・初期化 6. 関数/メソッドの実行 基本的に毎回同じ内容が実行される 再利用することで省略して効率化 (ウォームスタート)
  • 16. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. イベントベースでのAWS Lambda注意事項 AWS Lambdaは呼び出されれば最低一回は実行することを保証している。 呼び出し側が呼び出さない、複数回呼び出すことは発生する。 この事象はAWS Lambdaでは監視/検知ができないので全体の仕組みで検 討する必要がある 対処例 • アプリケーション側での冪等性の確保 • 例えばS3であれば イベント発火用バケットと処理済みバケットを作成 することで、イベント発火漏れを検知するなど
  • 17. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ストリームベースのLambda 同時実行数 ストリーム シャード1 シャード2 シャード3
  • 18. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ストリームベースはerrorを検知したら要注意 https://aws.amazon.com/jp/lambda/faqs/ 異常データ Stream Batch size 2 2件read /処理 し、正常終了 続きの2件をread、 1件目のデータで exception 終了 checkpointが進ま ないので、同じ データを読む (有効期限まで) これを防ぐには、不正データは ログ、queueなどに通知、 Lambdaは正常終了させる checkpoint 正常終了に合わせて checkpointが進む Lambdaが正常終了ではないの で、checkpointが進まない
  • 19. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ストリーム型での監視事項 ▲shard分割で Lambda起動数が倍 5分約300 = 1act/sec で計算どおり 5分のなかの metrics max が表示されて いる 0.3秒間隔でdataをkinesis streamsへ送信し、途中でshard分割を実行した Lambdaのモニタ画面例 ▲shard分割でLambda新規 分の起動遅延
  • 20. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 先程のIteratorAgeをCloudwatch metricsでみると 意味を間違うと大違いになるので、表示の意味を理解することが重要
  • 21. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ストリームベースでの監視/運用ポイント IteratorAgeの”Average”が大きくなっている場合は処理遅れが想定される。 • Lambda実行環境のスペックにより実行時間の短縮を考える • Kinesis Streamsのshardを分割 • shardを分割することで並行処理数が増える • 東京リージョンの場合1 stream/200shard分割まで可能 Error metricsが上がった場合は、処理がロックされている可能性がある。 • Lambdaのプログラム改修 • kinesis streamsの読み込みをlatest/timestampベースで再設定 • データを読まずに捨てることになるので注意 Streamの場合、Errorを挙げないように設計/テストをすることが重要
  • 22. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. SQS型起動のLambdaでのmetrics 0.5秒間隔でqueueを送信した場合。metricsは標準の5min 5分580回の実行で きるまでスケール queueの送信を止めたことで 並行起動のLambdaが減少
  • 23. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. LambdaのSQS起動における注意事項 メッセージ到達時の挙動: 5つのパラレルロングポーリング接続を使用し てSQSキューのポーリングを開始、メッセージ数 > 処理量 の傾向が続き、 最終的に処理が追いつかない場合、コンカレンシーリミットまでスケール する。 Lambda単位にコンカレンシーを制限しない場合アカウントの上限までス ケールする可能性があり、他のLambdaの起動を妨げる可能性があるので、 大規模に使用する際にはコンカレンシーの設定も検討する
  • 24. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS Lambda共通で気をつける事項 Throttleを観測した場合 • どのAWS Lambdaが大量に使っているかの特定 • CloudWatchのAll across accountでアカウント全体での使用状況と個別Lambdaの使用状況を確認 • Limit increaseの申請 Error metricsが増加している • 権限設定漏れ • SQS/ストリームであり得るパターン、バッチサイズとプログラム処理時間とLambdaのタイマ値の関 係を確認 • 1処理時間 x バッチサイズ > タイマ値 となるこれも処理が進まないパターンになる Dead Letter Queueが増え続ける • 後段処理、連携システムのダウンなど、システム系としての障害の確認などを実施 リトライ処理の考慮 • 非同期型であれば1回の実行、2回のリトライが行われ、すべて失敗した場合に、 (設定していれ ば) Dead Letter Queueへ送られる
  • 25. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. X-Rayの利用
  • 26. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS X-Ray リクエスト実行状況の確認 アプリケーションを構成する 個々のサービスやリソースの 実行結果ステータスを集計し、 アプリケーションの実行状況を エンドツーエンドで確認可能 アプリケーションの問題の検出 アプリケーションの実行状況に ついての関連する情報を収集し、 問題の根本原因を調査可能 アプリケーションのパフォーマンス向上 サービスやリソースの関係をリアルタイムで 表示し、レイテンシ増加やパフォーマンス低下 などのボトルネックを特定可能 AWSとの連携 Amazon EC2, Amazon ECS, AWS Lambda, AWS Elastic Beanstalk と連携 さまざまなアプリケーション向けの設計 非同期のシンプルなイベント呼び出し、 3層のウェブアプリケーション、数千の サービスから構成される複雑なマイクロ サービスも分析可能
  • 27. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS X-Ray コンポーネント User Amazon API gateway AWS Lambda Amazon DynamoDB Amazon SQS queue
  • 28. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS LambdaでX-Rayを利用するためには、、 Lambda用パッケージにX-Ray SDKを追加し、アクティブトレースをONに する。IAM roleも必要、Managed policyが容易されている • Pythonの場合 • Python 2.7, Python3.6以降 • Node.jsの場合 • Node.js 4.3以降 • Javaの場合 • Java8以降 • Goの場合 • Go1.7以降 • .NETの場合 • .NET Core 2.0以降 https://docs.aws.amazon.com/ja_jp/xray/latest/devguide/xray-usage.html#xray-usage-languages CLIであれば、 --tracing-config オプション
  • 29. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 実装例 import boto3 import json import requests from aws_xray_sdk.core import xray_recorder from aws_xray_sdk.core import patch_all patch_all() def main(event, cotext): xray_recorder.begin_segment(‘main segment’) (main処理) xray_recorder.begin_subsegment(‘sub segment’) (処理A) xray_recorder.end_subsegment(‘sub segment’) xray_recorder.end_segment return
  • 30. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 実装例 import boto3 import json import requests from aws_xray_sdk.core import xray_recorder from aws_xray_sdk.core import patch_all patch_all() def main(event, cotext): xray_recorder.begin_segment(‘main segment’) (main処理) xray_recorder.begin_subsegment(‘sub segment’) (処理A) xray_recorder.end_subsegment(‘sub segment’) xray_recorder.end_segment return 対応しているライブラリにパッチ適用 pythonの場合 -botocore, boto3 -requests -sqlite3 -mysq-connector-python など patch_allではなく patch(’boto3’)などとすることも可能
  • 31. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 実装例 import boto3 import json import requests from aws_xray_sdk.core import xray_recorder from aws_xray_sdk.core import patch_all patch_all() def main(event, cotext): xray_recorder.begin_segment(‘main segment’) (main処理) xray_recorder.begin_subsegment(‘sub segment’) (処理A) xray_recorder.end_subsegment(‘sub segment’) xray_recorder.end_segment return 処理全体のセグメントを定義
  • 32. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 実装例 import boto3 import json import requests from aws_xray_sdk.core import xray_recorder from aws_xray_sdk.core import patch_all patch_all() def main(event, cotext): xray_recorder.begin_segment(‘main segment’) (main処理) xray_recorder.begin_subsegment(‘sub segment’) (処理A) xray_recorder.end_subsegment(‘sub segment’) xray_recorder.end_segment return 処理の中でセグメントブロックを着ることも可能
  • 33. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 実装例 import boto3 import json import requests from aws_xray_sdk.core import xray_recorder from aws_xray_sdk.core import patch_all patch_all() def main(event, cotext): xray_recorder.begin_segment(‘main segment’) (main処理) xray_recorder.begin_subsegment(‘sub segment’) (処理A) xray_recorder.end_subsegment() xray_recorder.end_segment() return 処理をとじる
  • 34. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. サービスグラフ 各ノードの呼び出しの結果を 色で分類し、割合を円グラフに • グリーン 成功した呼び出し • レッド 5xx errors • イエロー 4xx errors • パープル 429 Too Many Requests (スロットリングエラー) ・平均レイテンシ (ms) ・トレース数 (trace/min) ・サービス名 ・サービスの分類
  • 35. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. CloudWatch Logsとの連携
  • 36. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. CloudWatch Logs filter pattern filter patternの仕様 • 大文字、小文字は区別される • 正規表現は利用できない • 簡単なパターンマッチのみ利用可能 • JSON形式、スペース区切りは利用可能
  • 37. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. パターンマッチングの利用例 ログが正規化されていなくても 一致する文字列の検索も可能。アプリケーション が出力するローグフォーマットと利用ルールを明確化することでmetric filterも作 成できる。printで出力するのではなく、logger関数などを利用してログ出力する ことがおすすめ
  • 38. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 他サービスに連携してログの活用 CloudWatch Logs Lambda Function Amazon ESサブスクライブ より複雑な解析処理の実装 各種 AWS サービスと連携: アラート、スケーリング、 Blacklisting、etc… 自由に処理を実装
  • 39. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 細かい部分で Lambdaのログ保管期間はデフォルトが無期期限 必要な期間に圧縮することを忘れがち
  • 40. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 例えば、Lambdaのログ保管周期を定期チェック import boto3 save_days = 30 clw_l = boto3.client('logs') def describe_logs(): res = clw_l.describe_log_groups( logGroupNamePrefix = “/aws/lambda” ) log_groups = res['logGroups'] #-- get group name from all information log_group_names = [] for log_group_info in log_groups: if log_group_info['retentionInDays'] != save_days: log_group_names.append(log_group_info['logGroupName']) return log_group_names def change_log_set(log_list): for log_name in log_list: try: clw_l.put_retention_policy( logGroupName = log_name, retentionInDays = save_days ) time.sleep(0.5) except Exception as e: pass return def main(event, context): log_list = describe_logs() change_log_set(log_list)
  • 41. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 例えば、Lambdaのログ保管周期を定期チェック import boto3 save_days = 30 clw_l = boto3.client('logs') def describe_logs(): res = clw_l.describe_log_groups( logGroupNamePrefix = “/aws/lambda” ) log_groups = res['logGroups'] #-- get group name from all information log_group_names = [] for log_group_info in log_groups: if log_group_info['retentionInDays'] != save_days: log_group_names.append(log_group_info['logGroupName']) return log_group_names def change_log_set(log_list): for log_name in log_list: try: clw_l.put_retention_policy( logGroupName = log_name, retentionInDays = save_days ) time.sleep(0.5) except Exception as e: pass return def main(event, context): log_list = describe_logs() change_log_set(log_list) CloudWatchのロググループを取得
  • 42. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 例えば、Lambdaのログ保管周期を定期チェック import boto3 save_days = 30 clw_l = boto3.client('logs') def describe_logs(): res = clw_l.describe_log_groups( logGroupNamePrefix = “/aws/lambda” ) log_groups = res['logGroups'] #-- get group name from all information log_group_names = [] for log_group_info in log_groups: if log_group_info['retentionInDays'] != save_days: log_group_names.append(log_group_info['logGroupName']) return log_group_names def change_log_set(log_list): for log_name in log_list: try: clw_l.put_retention_policy( logGroupName = log_name, retentionInDays = save_days ) time.sleep(0.5) except Exception as e: pass return def main(event, context): log_list = describe_logs() change_log_set(log_list) 適切なログ期間をチェック
  • 43. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 例えば、Lambdaのログ保管周期を定期チェック import boto3 save_days = 30 clw_l = boto3.client('logs') def describe_logs(): res = clw_l.describe_log_groups( logGroupNamePrefix = “/aws/lambda” ) log_groups = res['logGroups'] #-- get group name from all information log_group_names = [] for log_group_info in log_groups: if log_group_info['retentionInDays'] != save_days: log_group_names.append(log_group_info['logGroupName']) return log_group_names def change_log_set(log_list): for log_name in log_list: try: clw_l.put_retention_policy( logGroupName = log_name, retentionInDays = save_days ) time.sleep(0.5) except Exception as e: pass return def main(event, context): log_list = describe_logs() change_log_set(log_list) 適切なログ保存期間を変更 APIガスロットリングされないようにsleepも
  • 44. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. API Gatewayの監視
  • 45. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon API Gatewayのモリタリングの意味 項目 単位 意味 4xxError count Sumは4xxエラーの合計数、Averageは4xxエラー率 5xxError count Sumは5xxエラーの合計数、Averageは5xxエラー率 CacheHitCount count APIキャッシュからレスポンスした、 Sumはキャッシュヒットした数、Averageはキャッシュヒット率 CacheMissCount count キャッシュを有効にしているが、バックエンドから応答した数 Sumはキャッシュミスヒット数、Averageはキャッシュミス率 Count count APIのリクエスト数 IntegrationLatency ms API Gatewayが、バックエンドへリクエストして、バックエンドから レスポンスが返却されるまでの時間 Latency ms API Gatewayがクライントからリクエストを受け取り、クライントに 返却するまでの時間。API Gatewayのオーバヘッドも含まれる
  • 46. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon API Gatewayのメトリクスフィルタで使えるディメンション 項目 意味 ApiName 指定したAPI名のメトリクスのフィルタリング ApiName, Method, Resource, Stage 指定したAPI名、メソッド、リソース、ステージのフィルタリング ※:詳細なCloudWatchメトリクスを有効にする必要がある ApiName, Stage 指定したAPI名とステージのフィルタリング
  • 47. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. まとめ
  • 48. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. まとめ AWS Lambdaの使用に関わる考え方やmetricsは存在するが、 アプリケーション開発、運用においては一般的な知識と経験は活用できる。 CloudWatch Logsや3rd partyツールなどの監視ツールの要件に合わせた ログ設計なども通常のアプリケーション設計と変わらない。 AWSの制約や仕様を理解し、今までのアプリケーション開発経験とあわせ ることで従来のアプリケーションよりも、柔軟なアプリケーション開発/ 運用もできる可能性がある。 (Serverlessが合わないユースもあるので、見極めは必要)
  • 49. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Thank You and Happy Coding