SlideShare a Scribd company logo
Mule Meetup Tokyo #5
2020/11/19
株式会社オージス総研 世古雄也 (OGIS-RI Co.,Ltd. Yuya Seko)
CloudHubのログバックアップについて
Copyright (C) 2019 OGIS-RI All rights reserved.
⾃⼰紹介
• 世古雄也(Seko_Yuya@ogis-ri.co.jp)
• 株式会社オージス総研
– アライアンスソリューション部
• インテグレーションエンジニア
– APIを利⽤してシステムを連携するプロジェクトに参画
– 主にAWSを利⽤したシステム開発を⾏っていた。
– 最近はMuleでアプリ制作を担当している。
• RAMLやDataWeaveと仲良し。
Copyright (C) 2019 OGIS-RI All rights reserved.
アジェンダ
• CloudHubのログ
• ログバックアップの仕組み
• 設計ポイントと注意点
• ⾟かったこと
• まとめ
CloudHubのログ
Copyright (C) 2019 OGIS-RI All rights reserved.
アプリケーションログ 監査ログ
CludHubの2つのログ
• アプリケーションから出⼒されるログ
• Runtime Managerから参照可能
• 誰が、いつ、どのサービス対して、どのような更新
系のアクションを⾏なったのか記録する監査⽤の
ログ
• Access Managementから参照可能
Copyright (C) 2019 OGIS-RI All rights reserved.
アプリケーションログ 監査ログ
ログの出⼒単位と保持期間
• 出⼒単位
– Worker毎
• ログの保持期間
– ログはどちらかの条件に⼀致したら⾃動的に削
除される
• 100MB
• 30⽇間
出典︓https://docs.mulesoft.com/jp/runtime-manager/viewing-log-data
• 出⼒単位
– ビジネスグループ
• ログの保持期間
– 6年間
出典︓https://docs.mulesoft.com/jp/access-management/audit-logging
Copyright (C) 2019 OGIS-RI All rights reserved.
問題 解決策
ログバックアップを作った背景
• アプリケーションログは30⽇と保持期間が短い。
しかも、ログの出⼒が多いアプリケーションは30
⽇よりも早くログが削除される可能性がある。
– 障害時の追跡が難しい場合がある。
– 監査で⻑期のログが必要になる可能性がある。
• 定期的にアプリケーションログをバックアップする
仕組みを作ろう︕︕︕
30日
OR
100MB
アプリケーションログ アプリケーションログ ストレージ
ログバックアップの仕組み
Copyright (C) 2019 OGIS-RI All rights reserved.
CloudHubの構造とログの配置場所
Cloud Hub
組織(OGIS-RI)
環境(DEV)
環境(STG)
アプリケーションA
アプリケ
ーション
B
Worker1 Worker2
アプリケーシ
ョンログ
アプリケーシ
ョンログ
環境(PROD)
アプリケ
ーション
C
Copyright (C) 2019 OGIS-RI All rights reserved.
ログバックアップの環境と仕様
• 実⾏環境
– AWS
• Amazon EventBridge(旧CloudWatch
Events)
• AWS Lambda(Java8)
• S3
• 仕様
– Lambdaの環境変数でログをバックアップす
るアプリケーションを指定する。
– 1アプリに紐づいているすべてのWorkerのロ
グを取得する。
– S3にデータを保管する。
– バックアップの周期は⽇次とする。
組織
環境
アプリケーション
Worker1 Worker2
アプリケーシ
ョンログ
アプリケーシ
ョンログ
1つのLambda関数で
ターゲットとするログ
Copyright (C) 2019 OGIS-RI All rights reserved.
ログバックアップの全体像
• MuleSoftが提供しているCloudHubのAPIを利⽤してログをバックアップする仕組みを構
築した。
Amazon EventBridge
(旧CloudWatch
Events)
AWS Lambda
1.トリガー
(日次)
CloudHub API
2.ログ取得
(API呼び出し)
AWS S3
3.ログの保存
Copyright (C) 2019 OGIS-RI All rights reserved.
Lambdaの実⾏プロセスの流れ
組織
環境
アプリケーション
Worker1 Worker2
アプリケーシ
ョンログ
アプリケーシ
ョンログ
Cloud Hub
1. アクセス
トークン取得
2. 組織ID取得
3. 環境ID取得
4. Worker一覧取得
5. ログ取得
アプリケーシ
ョンログ
AWS S3
6. ログ保管
5と6の処理は
Worker分繰り返し
AWS Lambda
対象のアプリケーション
はLambdaの環境変数か
ら設定
Copyright (C) 2019 OGIS-RI All rights reserved.
1. アクセストークン取得
• 処理内容
– CloudHub APIを利⽤するためのアクセストー
クンを取得する。
• 備考
– 認証は「Username and Password
Authentication」を使⽤
• 「username」と「password」を使⽤してアクセ
ストークンを発⾏する⽅法
POST /accounts/login HTTP/1.1
Content-Type: application/json
{
"username" : "joe",
"password" : "password"
}
参考URL
https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-
23abe036327a.anypoint-platform/access-management-api/minor/1.0/pages/Authentication/
Copyright (C) 2019 OGIS-RI All rights reserved.
2. 組織ID取得
• 処理内容
– CloudHub APIを利⽤して、アクセストークンに
紐づくユーザーが所属している組織のIDを取得
する。
• 備考
– 組織IDはCloudHubからも参照可能
– Lambdaの環境変数の設定情報とすることも
できるが、今回はAPIから取得する⽅法とした。
• 環境変数の設定情報を減らすため。
参考URL
https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-
23abe036327a.anypoint-platform/access-management-api/minor/1.0/console/method/%233262/
Access
Managementから参
照可能
Copyright (C) 2019 OGIS-RI All rights reserved.
3. 環境ID取得
• 処理内容
– 組織IDを利⽤して、環境⼀覧を取得する。
– 取得した環境⼀覧よりLambdaの環境変数に設定
されている環境名のIDを取得する。
• 備考
– 環境IDはCloudHubからも参照可能
– 今回はLambdaの環境変数の設定に「環境名」を設
定する⽅針とした。
• 環境IDの場合、設定を⾒てもどの環境か判断がつかな
いため。
参考URL
https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-
23abe036327a.anypoint-platform/access-management-api/minor/1.0/console/method/%233725/
API Managerから参
照可能
{
"data": [
{
"name": "Production",
"organizationId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxx",
},
{
"name": "Sandbox",
"organizationId": "yyyyyyyy-yyyy-yyyy-yyyy-yyyy",
}
]
}環境名をキーに
IDを取得
Copyright (C) 2019 OGIS-RI All rights reserved.
4. Worker⼀覧取得
• 処理内容
– 環境IDとLambdaに設定されているアプリケー
ション名を利⽤して、バックアップ対象となる
Worker⼀覧を取得する。
• 備考
– ⼀覧で取得したWorkerは起動中のものだけで
なく、停⽌されたWorkerも含まれる。
※ここはもう少し詳しく、後のスライドで説明する。
参考URL
https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-
23abe036327a.anypoint-platform/cloudhub-api/minor/1.0/console/method/%232194/
{
"data": [
{
"deploymentId": "xxxxxxxxxxxxxxxxxxxx",
"endTime": "2020-05-20T11:18:36.288Z",
"instances": [
{
"instanceId": "xxxxxxxxxxxxxxxxxxxx-0",
"publicIPAddress": "18.179.9.162",
"region": "ap-northeast-1",
"status": "TERMINATED"
}
],
},
{
"deploymentId": "yyyyyyyyyyyyyyyyyyy",
"instances": [
{
"instanceId": "yyyyyyyyyyyyyyyyyyy-0",
"publicIPAddress": "18.181.86.91",
"region": "ap-northeast-1",
"status": "STARTED"
}
]
}
],
"total": 2
}
停止している
Workerも含まれ
る
Copyright (C) 2019 OGIS-RI All rights reserved.
5. ログ取得
• 処理内容
– Worker⼀覧で取得したWorker情報を利⽤
して、Workerのログを取得する。
– 取得したログはLambdaのローカルストレージに
⼀時保存する。
• 備考
– Lambdaのローカルストレージ(/tmp)は
512MBの容量が⽤意されている。
– アプリケーションログの最⼤容量は100MBのた
めLambdaのローカルストレージに⼀時保存で
きる。
参考URL
https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-
23abe036327a.anypoint-platform/cloudhub-api/minor/1.0/console/method/%232317/
https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/gettingstarted-limits.html
ローカルストレージ
Workerの
アプリケーション
ログファイル
Copyright (C) 2019 OGIS-RI All rights reserved.
6. ログ保管
• 処理内容
– Lambdaのローカルストレージに保管したログをS3に配置する。
– 配置が終わったらログはローカルストレージから削除する。
ローカルストレージ
Workerの
アプリケーション
ログファイル
バケット
Workerの
アプリケーション
ログファイル
S3へ配置が終
わったログファ
イルは削除
設計ポイントと注意点
Copyright (C) 2019 OGIS-RI All rights reserved.
バックアップログを取得するための権限
• ログバックアップを取得するためのAPI呼び出し権限は「Runtime Manager - Read
Applications」だけである。
• バックアップ専⽤ユーザーを作成して権限を付与した。
アプリケーショ
ンが配置されて
いる環境
必要な権限
Runtime
Manager
Copyright (C) 2019 OGIS-RI All rights reserved.
ログの重複バックアップ
• ログを取得するAPIは⽇付や間隔の指定ができない。
• デプロイメントとバックアップのタイミングによっては、過去のログが重複してバックアップされる。
Deploy
ment 1
Deployment 3
前回のバックアップ日時 今回のバックアップ日時
Deployment 1 Deployment 2
Deployment 1 Deployment 2Deployment 2
Deploy
ment 2
前回のバックアップ範囲
今回のバックアップ範囲
前回バックアップ済みのログが今回もバックアップされる。どこまでバックアップされるかは、ログの
サイズやローテーションのタイミングに依存する
デプロイのパターン1
デプロイのパターン2
デプロイのパターン3
時間軸
Copyright (C) 2019 OGIS-RI All rights reserved.
停⽌したWorker
• Worker⼀覧取得APIで取得したWorkerの中には、起動中のものだけでなく停⽌したも
のも含まれる。
• 停⽌したWorkerをバックアップ対象から外すには注意が必要である。なぜなら、前回バック
アップからデプロイを挟むと、取得していないログ情報が停⽌したWorkerに含まれるからであ
る。
前回のバックアップ日時 今回のバックアップ日時
Deployment 1 Deployment 2
前回のバックアップ範囲
デプロイのパターン
時間軸
Workerが
切り替わっ
ている
前回から今回のバックアップまで
の期間で追加されたログ 停止しているWorker
のログも取得可能 Runtime Managerのログ画面
Copyright (C) 2019 OGIS-RI All rights reserved.
空(0バイト)のログファイル
• 停⽌されたWorker情報は30⽇以上残る。
• アプリケーションログの保持期間は30⽇間である。
• 停⽌されて30⽇以上経過したWorkerから取得できるログは空(0バイト)のログファイルに
なる。また、起動中のWorkerでも30⽇間ログが出⼒されないと空のログファイルになる。
起動中
起動中Worker1
Worker2
停止
30日経過
Workerが切り替わってからログが
出力されないまま30日経過
時間軸
アプリケーションのデプロイや
Worker再起動でWorkerが切り替わる
このタイミングで取得
したログは空ファイル
となる
Copyright (C) 2019 OGIS-RI All rights reserved.
空のログファイルの取り扱い案
案 説明 メリット デメリット
すべて取得案 ・起動、停止にかかわ
らず、空のログファイ
ルをバックアップし続
ける
・Lambdaを起動した回数分のログファ
イルが作成されるため、バックアップ
ファイルの日付の一覧性がある
・停止しているWorkerが廃棄されるまで
空のログファイルを取得し続けるため、
無駄なファイルが増える
空ファイル除
外案
・起動、停止にかかわ
らず、空のログファイ
ルをバックアップしな
い
・空のログファイルが作成されないため、
S3のファイル数が無駄に増えない
・下記のようにバックアップファイルの
日付の一貫性が損なわれる可能性がある
20200812120000.log
20200812130000.log
20200812150000.log
20200812160000.log
Workerのス
テータスで取
り扱いを分け
る案
・起動中の場合、空の
ログファイルをバック
アップする
・停止中の場合、空の
ログファイルをバック
アップしない
・起動中のWorkerに対して、常にバック
アップを取得するため、バックアップ
ファイルの日付の一貫性がある
・停止中のWorkerの空のログファイルは
取得しないため、すべて取得案に比べて
S3に無駄なファイルを作成しない
・Workerのステータスを把握をしないと、
空のログファイルを取得しているWorker
か、取得していないか判断できない
Copyright © 2019-2020 OGIS-RI Co., Ltd. All rights reserved.
Copyright (C) 2019 OGIS-RI All rights reserved.
重複しているAPIエンドポイントと権限
• 環境IDを取得できるAPIのエンドポイントは2つある。
– https://anypoint.mulesoft.com/accounts/api/organizations/{orgId}/environments
– https://anypoint.mulesoft.com/accounts/api/cs/organizations/{orgId}/environme
nts
• この⼆つには決定的な違いがある。
– 前者(csがついていない⽅)
• 「Runtime Manager - Read Applications」権限で呼び出し可能
– 後者(csがついている⽅)
• 「CloudHub Admin」のロールが必要
• ログバックアップでは、弱い権限で呼び出し可能な前者を利⽤してシステムを構築した。
• CSがついているエンドポイントと、ついていないものの違いは不明である。
参考URL
https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-
23abe036327a.anypoint-platform/access-management-api/minor/1.0/console/method/%232076/
Copyright (C) 2019 OGIS-RI All rights reserved.
プログラムの設定 環境変数の設定
各種設定
• ⽤途
– 構成管理に含めて良いものを設定する。
– 環境によって差異がないものを設定する。
– 更新の頻度が少ないものを設定する。
• ログバックアップで設定した値
– ログ取得のためのURL情報
• ⽤途
– 構成管理に含めたくないもの(クレデンシャル情報)を設
定する。
– 環境によって差異があるものを設定する。
– 更新の頻度(可能性)が⾼いものを設定する。
• ログバックアップで設定した値
– ユーザー名
– パスワード
– アプリがデプロイされている環境情報(dev,stg)
– アプリケーション名
– S3の各種情報
• 設定項⽬はプログラム(jarやwar)に含める値と環境変数から設定する値がある。
⾟かった点
Copyright (C) 2019 OGIS-RI All rights reserved.
APIドキュメント
• MuleSoftが提供している⼀通りのAPIを調査したが、ドキュメントがないものがあるため理
解できなかったAPIがある。
– Tokenization Creation and Mgmt API
– ARM Monitoring Query
– など
Homeのページだけでも
説明が欲しい。
Copyright (C) 2019 OGIS-RI All rights reserved.
紛らわしい名称(アプリケーションとドメイン)
• Worker⼀覧を取得するためのAPIに「domain」という情報が必要である。
– https://anypoint.mulesoft.com/cloudhub/api/v2/applications/{domain}
• この「domain」に設定する値は、管理コンソールではアプリケーション名に該当する。
– 管理コンソールで「domain」というとフルドメインを指す。
• 担当者間で同じものを指しているはずなのに、「ドメイン」と「アプリケーション名」で呼び⽅が
異なり、共通認識を得るために⼿間がかかった。
管理コンソールで
「domain」といえば
フルドメインを指す
APIの「domain」に
設定すべき値
Copyright (C) 2019 OGIS-RI All rights reserved.
紛らわしい名称(Workerとインスタンス)
• 管理コンソールではWorkerと表されているものが、APIではインスタンスと表されている。こち
らも担当者間で共通認識を得るための阻害要因となった。
APIではデプロイメン
ト一覧を取得すると、
インスタンスという
名称で結果が取得で
きる。
CludHubではデプロ
イメントに紐づくの
はWorkerである。
Copyright (C) 2019 OGIS-RI All rights reserved.
MuleSoftのドキュメントページエラー
• MuleSoftのドキュメントを閲覧していると、たまに発⽣する。
• しばらくすると、また閲覧可能になる。
参考URL
https://docs.mulesoft.com/general/
まとめ
Copyright (C) 2019 OGIS-RI All rights reserved.
まとめ
• CloudHubには便利なAPIがあるため、ログバックアップを簡単に作成することができた。
– 今回はAWS Lambdaで作成したが、他のプラットフォームでもサクッと作れる。
• バックアップシステムを作成する上で、気をつけないといけない点があるため注意が必要であ
る。
APIを利用して
自動化していきましょう!
付録
Copyright (C) 2019 OGIS-RI All rights reserved.
Lambda実⾏に必要な権限
• ロブバックアップを実⾏しているLambda
ユーザーの権限
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": [
"arn:aws:logs:*:*:*"
],
"Effect": "Allow"
},
{
"Effect": "Allow",
"Action": [
"s3:PutObject"
],
"Resource": [
"arn:aws:s3:::*/*"
]
}
]
}
Copyright (C) 2019 OGIS-RI All rights reserved.
使⽤したCloud API⼀覧
API名 役割 エンドポイント 説明URL
ログインAPI APIを使用するた
めのアクセストー
クンを発行する
https://anypoint.mulesoft.com/accounts/login https://anypoint.mulesoft.com/exchange/portals/anypoin
t-platform/f1e97bc6-315a-4490-82a7-
23abe036327a.anypoint-platform/access-management-
api/minor/1.0/pages/Authentication/
ログイン者情
報API
自分が所属してい
る組織IDを取得す
る
https://anypoint.mulesoft.com/accounts/api/me https://anypoint.mulesoft.com/exchange/portals/anypoin
t-platform/f1e97bc6-315a-4490-82a7-
23abe036327a.anypoint-platform/access-management-
api/minor/1.0/console/method/%233262/
環境一覧取得
API
環境一覧から環境
IDを取得する
https://anypoint.mulesoft.com/accounts/api/organ
izations/{orgId}/entitlements
https://anypoint.mulesoft.com/exchange/portals/anypoin
t-platform/f1e97bc6-315a-4490-82a7-
23abe036327a.anypoint-platform/access-management-
api/minor/1.0/console/method/%233725/
デプロイ一覧
API
デプロイされてい
るWorker一覧を
取得する
https://anypoint.mulesoft.com/cloudhub/api/v2/a
pplications/{domain}/deployments
https://anypoint.mulesoft.com/exchange/portals/anypoin
t-platform/f1e97bc6-315a-4490-82a7-
23abe036327a.anypoint-platform/cloudhub-
api/minor/1.0/console/method/%232194/
ログ取得API Workerのログを
取得する
https://anypoint.mulesoft.com/cloudhub/api/v2/a
pplications/{domain}/instances/{instanceId}/logs
https://anypoint.mulesoft.com/exchange/portals/anypoin
t-platform/f1e97bc6-315a-4490-82a7-
23abe036327a.anypoint-platform/cloudhub-
api/minor/1.0/console/method/%232317/

More Related Content

What's hot

AWS Black Belt Online Seminar AWS Amplify
AWS Black Belt Online Seminar AWS AmplifyAWS Black Belt Online Seminar AWS Amplify
AWS Black Belt Online Seminar AWS Amplify
Amazon Web Services Japan
 
NGINX Back to Basics: Ingress Controller (Japanese Webinar)
NGINX Back to Basics: Ingress Controller (Japanese Webinar)NGINX Back to Basics: Ingress Controller (Japanese Webinar)
NGINX Back to Basics: Ingress Controller (Japanese Webinar)
NGINX, Inc.
 
Prometheus monitoring from outside of Kubernetes
 〜どうして我々はKubernetes上のPromet...
Prometheus monitoring from outside of Kubernetes
 〜どうして我々はKubernetes上のPromet...Prometheus monitoring from outside of Kubernetes
 〜どうして我々はKubernetes上のPromet...
Prometheus monitoring from outside of Kubernetes
 〜どうして我々はKubernetes上のPromet...
whywaita
 
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)
NTT DATA Technology & Innovation
 
The Twelve-Factor Appで考えるAWSのサービス開発
The Twelve-Factor Appで考えるAWSのサービス開発The Twelve-Factor Appで考えるAWSのサービス開発
The Twelve-Factor Appで考えるAWSのサービス開発
Amazon Web Services Japan
 
OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月
OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月
OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月
VirtualTech Japan Inc.
 
20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)
20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)
20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)
Amazon Web Services Japan
 
【AWS初心者向けWebinar】AWSのプロビジョニングからデプロイまで
【AWS初心者向けWebinar】AWSのプロビジョニングからデプロイまで【AWS初心者向けWebinar】AWSのプロビジョニングからデプロイまで
【AWS初心者向けWebinar】AWSのプロビジョニングからデプロイまで
Amazon Web Services Japan
 
自宅vSphereからニフクラに引っ越ししてみた
自宅vSphereからニフクラに引っ越ししてみた自宅vSphereからニフクラに引っ越ししてみた
自宅vSphereからニフクラに引っ越ししてみた
富士通クラウドテクノロジーズ株式会社
 
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
Toru Makabe
 
20211109 JAWS-UG SRE keynotes
20211109 JAWS-UG SRE keynotes20211109 JAWS-UG SRE keynotes
20211109 JAWS-UG SRE keynotes
Amazon Web Services Japan
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
 
EC2のストレージどう使う? -Instance Storageを理解して高速IOを上手に活用!-
EC2のストレージどう使う? -Instance Storageを理解して高速IOを上手に活用!-EC2のストレージどう使う? -Instance Storageを理解して高速IOを上手に活用!-
EC2のストレージどう使う? -Instance Storageを理解して高速IOを上手に活用!-
Yuta Imai
 
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
NTT DATA Technology & Innovation
 
(SDD415) NEW LAUNCH: Amazon Aurora: Amazon’s New Relational Database Engine |...
(SDD415) NEW LAUNCH: Amazon Aurora: Amazon’s New Relational Database Engine |...(SDD415) NEW LAUNCH: Amazon Aurora: Amazon’s New Relational Database Engine |...
(SDD415) NEW LAUNCH: Amazon Aurora: Amazon’s New Relational Database Engine |...
Amazon Web Services
 
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンFluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターン
Kentaro Yoshida
 
はじめての vSRX on AWS
はじめての vSRX on AWSはじめての vSRX on AWS
はじめての vSRX on AWS
Juniper Networks (日本)
 
Selenium入門
Selenium入門Selenium入門
Selenium入門
onozaty
 
Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例
gree_tech
 

What's hot (20)

AWS Black Belt Online Seminar AWS Amplify
AWS Black Belt Online Seminar AWS AmplifyAWS Black Belt Online Seminar AWS Amplify
AWS Black Belt Online Seminar AWS Amplify
 
NGINX Back to Basics: Ingress Controller (Japanese Webinar)
NGINX Back to Basics: Ingress Controller (Japanese Webinar)NGINX Back to Basics: Ingress Controller (Japanese Webinar)
NGINX Back to Basics: Ingress Controller (Japanese Webinar)
 
Prometheus monitoring from outside of Kubernetes
 〜どうして我々はKubernetes上のPromet...
Prometheus monitoring from outside of Kubernetes
 〜どうして我々はKubernetes上のPromet...Prometheus monitoring from outside of Kubernetes
 〜どうして我々はKubernetes上のPromet...
Prometheus monitoring from outside of Kubernetes
 〜どうして我々はKubernetes上のPromet...
 
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)
 
The Twelve-Factor Appで考えるAWSのサービス開発
The Twelve-Factor Appで考えるAWSのサービス開発The Twelve-Factor Appで考えるAWSのサービス開発
The Twelve-Factor Appで考えるAWSのサービス開発
 
OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月
OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月
OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月
 
20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)
20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)
20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)
 
【AWS初心者向けWebinar】AWSのプロビジョニングからデプロイまで
【AWS初心者向けWebinar】AWSのプロビジョニングからデプロイまで【AWS初心者向けWebinar】AWSのプロビジョニングからデプロイまで
【AWS初心者向けWebinar】AWSのプロビジョニングからデプロイまで
 
自宅vSphereからニフクラに引っ越ししてみた
自宅vSphereからニフクラに引っ越ししてみた自宅vSphereからニフクラに引っ越ししてみた
自宅vSphereからニフクラに引っ越ししてみた
 
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
 
20211109 JAWS-UG SRE keynotes
20211109 JAWS-UG SRE keynotes20211109 JAWS-UG SRE keynotes
20211109 JAWS-UG SRE keynotes
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
 
EC2のストレージどう使う? -Instance Storageを理解して高速IOを上手に活用!-
EC2のストレージどう使う? -Instance Storageを理解して高速IOを上手に活用!-EC2のストレージどう使う? -Instance Storageを理解して高速IOを上手に活用!-
EC2のストレージどう使う? -Instance Storageを理解して高速IOを上手に活用!-
 
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
 
(SDD415) NEW LAUNCH: Amazon Aurora: Amazon’s New Relational Database Engine |...
(SDD415) NEW LAUNCH: Amazon Aurora: Amazon’s New Relational Database Engine |...(SDD415) NEW LAUNCH: Amazon Aurora: Amazon’s New Relational Database Engine |...
(SDD415) NEW LAUNCH: Amazon Aurora: Amazon’s New Relational Database Engine |...
 
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンFluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターン
 
はじめての vSRX on AWS
はじめての vSRX on AWSはじめての vSRX on AWS
はじめての vSRX on AWS
 
Selenium入門
Selenium入門Selenium入門
Selenium入門
 
Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例
 

Similar to CloudHubのログバックアップについて

【初心者向け】API を使ってクラウドの管理を自動化しよう
【初心者向け】API を使ってクラウドの管理を自動化しよう【初心者向け】API を使ってクラウドの管理を自動化しよう
【初心者向け】API を使ってクラウドの管理を自動化しよう
富士通クラウドテクノロジーズ株式会社
 
OpenStack Swiftとそのエコシステムの最新動向
OpenStack Swiftとそのエコシステムの最新動向OpenStack Swiftとそのエコシステムの最新動向
OpenStack Swiftとそのエコシステムの最新動向
NTT Software Innovation Center
 
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せますゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せます
infinite_loop
 
YJTC18 A-1 大規模サーバの戦略
YJTC18 A-1 大規模サーバの戦略YJTC18 A-1 大規模サーバの戦略
YJTC18 A-1 大規模サーバの戦略
Yahoo!デベロッパーネットワーク
 
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
ThinReports
 
20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング
20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング
20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング
Amazon Web Services Japan
 
[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonight
[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonight[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonight
[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonight
Amazon Web Services Japan
 
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_cccSpring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Yahoo!デベロッパーネットワーク
 
マルチクラウド環境でモビンギはどのようにコンテナを動かしているか
マルチクラウド環境でモビンギはどのようにコンテナを動かしているかマルチクラウド環境でモビンギはどのようにコンテナを動かしているか
マルチクラウド環境でモビンギはどのようにコンテナを動かしているか
Masafumi Noguchi
 
コロナ禍の働き方のニューノーマル~NRIの数千人のテレワークを支えたサービスとは~
コロナ禍の働き方のニューノーマル~NRIの数千人のテレワークを支えたサービスとは~コロナ禍の働き方のニューノーマル~NRIの数千人のテレワークを支えたサービスとは~
コロナ禍の働き方のニューノーマル~NRIの数千人のテレワークを支えたサービスとは~
aslead
 
Participation report of data stax accelerate 2019
Participation report of data stax accelerate 2019Participation report of data stax accelerate 2019
Participation report of data stax accelerate 2019
MKT-INTHEFOREST
 
ログについて改めて考えてみた
ログについて改めて考えてみたログについて改めて考えてみた
ログについて改めて考えてみた
株式会社オプト 仙台ラボラトリ
 
5億件以上の求人情報を蓄積する汎用クローラエンジンのアーキテクチャと運用
5億件以上の求人情報を蓄積する汎用クローラエンジンのアーキテクチャと運用5億件以上の求人情報を蓄積する汎用クローラエンジンのアーキテクチャと運用
5億件以上の求人情報を蓄積する汎用クローラエンジンのアーキテクチャと運用
Takahiro Suzuki
 
GDLC11 oracle-ai
GDLC11 oracle-aiGDLC11 oracle-ai
GDLC11 oracle-ai
Hirokuni Uchida
 
IBM Developer Dojo Online 2019 #11 OpenShift
IBM Developer Dojo Online 2019 #11 OpenShift IBM Developer Dojo Online 2019 #11 OpenShift
IBM Developer Dojo Online 2019 #11 OpenShift
Daisuke Hiraoka
 
IBM Cloud Community Summit JIMUC 活動のご紹介
IBM Cloud Community Summit JIMUC 活動のご紹介IBM Cloud Community Summit JIMUC 活動のご紹介
IBM Cloud Community Summit JIMUC 活動のご紹介
kazuki masuda
 
Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18
Masatomo Ito
 
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo!デベロッパーネットワーク
 
ゆるふわAzure Functions
ゆるふわAzure FunctionsゆるふわAzure Functions
ゆるふわAzure Functions
Keiji Kamebuchi
 
Mbed祭り 2017@春の新横浜 20170225 竹之下
Mbed祭り 2017@春の新横浜 20170225 竹之下Mbed祭り 2017@春の新横浜 20170225 竹之下
Mbed祭り 2017@春の新横浜 20170225 竹之下
Koyo Takenoshita
 

Similar to CloudHubのログバックアップについて (20)

【初心者向け】API を使ってクラウドの管理を自動化しよう
【初心者向け】API を使ってクラウドの管理を自動化しよう【初心者向け】API を使ってクラウドの管理を自動化しよう
【初心者向け】API を使ってクラウドの管理を自動化しよう
 
OpenStack Swiftとそのエコシステムの最新動向
OpenStack Swiftとそのエコシステムの最新動向OpenStack Swiftとそのエコシステムの最新動向
OpenStack Swiftとそのエコシステムの最新動向
 
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せますゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せます
 
YJTC18 A-1 大規模サーバの戦略
YJTC18 A-1 大規模サーバの戦略YJTC18 A-1 大規模サーバの戦略
YJTC18 A-1 大規模サーバの戦略
 
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
 
20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング
20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング
20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング
 
[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonight
[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonight[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonight
[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonight
 
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_cccSpring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
 
マルチクラウド環境でモビンギはどのようにコンテナを動かしているか
マルチクラウド環境でモビンギはどのようにコンテナを動かしているかマルチクラウド環境でモビンギはどのようにコンテナを動かしているか
マルチクラウド環境でモビンギはどのようにコンテナを動かしているか
 
コロナ禍の働き方のニューノーマル~NRIの数千人のテレワークを支えたサービスとは~
コロナ禍の働き方のニューノーマル~NRIの数千人のテレワークを支えたサービスとは~コロナ禍の働き方のニューノーマル~NRIの数千人のテレワークを支えたサービスとは~
コロナ禍の働き方のニューノーマル~NRIの数千人のテレワークを支えたサービスとは~
 
Participation report of data stax accelerate 2019
Participation report of data stax accelerate 2019Participation report of data stax accelerate 2019
Participation report of data stax accelerate 2019
 
ログについて改めて考えてみた
ログについて改めて考えてみたログについて改めて考えてみた
ログについて改めて考えてみた
 
5億件以上の求人情報を蓄積する汎用クローラエンジンのアーキテクチャと運用
5億件以上の求人情報を蓄積する汎用クローラエンジンのアーキテクチャと運用5億件以上の求人情報を蓄積する汎用クローラエンジンのアーキテクチャと運用
5億件以上の求人情報を蓄積する汎用クローラエンジンのアーキテクチャと運用
 
GDLC11 oracle-ai
GDLC11 oracle-aiGDLC11 oracle-ai
GDLC11 oracle-ai
 
IBM Developer Dojo Online 2019 #11 OpenShift
IBM Developer Dojo Online 2019 #11 OpenShift IBM Developer Dojo Online 2019 #11 OpenShift
IBM Developer Dojo Online 2019 #11 OpenShift
 
IBM Cloud Community Summit JIMUC 活動のご紹介
IBM Cloud Community Summit JIMUC 活動のご紹介IBM Cloud Community Summit JIMUC 活動のご紹介
IBM Cloud Community Summit JIMUC 活動のご紹介
 
Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18
 
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
 
ゆるふわAzure Functions
ゆるふわAzure FunctionsゆるふわAzure Functions
ゆるふわAzure Functions
 
Mbed祭り 2017@春の新横浜 20170225 竹之下
Mbed祭り 2017@春の新横浜 20170225 竹之下Mbed祭り 2017@春の新横浜 20170225 竹之下
Mbed祭り 2017@春の新横浜 20170225 竹之下
 

Recently uploaded

Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
harmonylab
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
tazaki1
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
chiefujita1
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
嶋 是一 (Yoshikazu SHIMA)
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
Toru Tamaki
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
Matsushita Laboratory
 
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援しますキンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
Takayuki Nakayama
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
Osaka University
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
t m
 

Recently uploaded (10)

Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
 
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援しますキンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
 

CloudHubのログバックアップについて

  • 1. Mule Meetup Tokyo #5 2020/11/19 株式会社オージス総研 世古雄也 (OGIS-RI Co.,Ltd. Yuya Seko) CloudHubのログバックアップについて
  • 2. Copyright (C) 2019 OGIS-RI All rights reserved. ⾃⼰紹介 • 世古雄也(Seko_Yuya@ogis-ri.co.jp) • 株式会社オージス総研 – アライアンスソリューション部 • インテグレーションエンジニア – APIを利⽤してシステムを連携するプロジェクトに参画 – 主にAWSを利⽤したシステム開発を⾏っていた。 – 最近はMuleでアプリ制作を担当している。 • RAMLやDataWeaveと仲良し。
  • 3. Copyright (C) 2019 OGIS-RI All rights reserved. アジェンダ • CloudHubのログ • ログバックアップの仕組み • 設計ポイントと注意点 • ⾟かったこと • まとめ
  • 5. Copyright (C) 2019 OGIS-RI All rights reserved. アプリケーションログ 監査ログ CludHubの2つのログ • アプリケーションから出⼒されるログ • Runtime Managerから参照可能 • 誰が、いつ、どのサービス対して、どのような更新 系のアクションを⾏なったのか記録する監査⽤の ログ • Access Managementから参照可能
  • 6. Copyright (C) 2019 OGIS-RI All rights reserved. アプリケーションログ 監査ログ ログの出⼒単位と保持期間 • 出⼒単位 – Worker毎 • ログの保持期間 – ログはどちらかの条件に⼀致したら⾃動的に削 除される • 100MB • 30⽇間 出典︓https://docs.mulesoft.com/jp/runtime-manager/viewing-log-data • 出⼒単位 – ビジネスグループ • ログの保持期間 – 6年間 出典︓https://docs.mulesoft.com/jp/access-management/audit-logging
  • 7. Copyright (C) 2019 OGIS-RI All rights reserved. 問題 解決策 ログバックアップを作った背景 • アプリケーションログは30⽇と保持期間が短い。 しかも、ログの出⼒が多いアプリケーションは30 ⽇よりも早くログが削除される可能性がある。 – 障害時の追跡が難しい場合がある。 – 監査で⻑期のログが必要になる可能性がある。 • 定期的にアプリケーションログをバックアップする 仕組みを作ろう︕︕︕ 30日 OR 100MB アプリケーションログ アプリケーションログ ストレージ
  • 9. Copyright (C) 2019 OGIS-RI All rights reserved. CloudHubの構造とログの配置場所 Cloud Hub 組織(OGIS-RI) 環境(DEV) 環境(STG) アプリケーションA アプリケ ーション B Worker1 Worker2 アプリケーシ ョンログ アプリケーシ ョンログ 環境(PROD) アプリケ ーション C
  • 10. Copyright (C) 2019 OGIS-RI All rights reserved. ログバックアップの環境と仕様 • 実⾏環境 – AWS • Amazon EventBridge(旧CloudWatch Events) • AWS Lambda(Java8) • S3 • 仕様 – Lambdaの環境変数でログをバックアップす るアプリケーションを指定する。 – 1アプリに紐づいているすべてのWorkerのロ グを取得する。 – S3にデータを保管する。 – バックアップの周期は⽇次とする。 組織 環境 アプリケーション Worker1 Worker2 アプリケーシ ョンログ アプリケーシ ョンログ 1つのLambda関数で ターゲットとするログ
  • 11. Copyright (C) 2019 OGIS-RI All rights reserved. ログバックアップの全体像 • MuleSoftが提供しているCloudHubのAPIを利⽤してログをバックアップする仕組みを構 築した。 Amazon EventBridge (旧CloudWatch Events) AWS Lambda 1.トリガー (日次) CloudHub API 2.ログ取得 (API呼び出し) AWS S3 3.ログの保存
  • 12. Copyright (C) 2019 OGIS-RI All rights reserved. Lambdaの実⾏プロセスの流れ 組織 環境 アプリケーション Worker1 Worker2 アプリケーシ ョンログ アプリケーシ ョンログ Cloud Hub 1. アクセス トークン取得 2. 組織ID取得 3. 環境ID取得 4. Worker一覧取得 5. ログ取得 アプリケーシ ョンログ AWS S3 6. ログ保管 5と6の処理は Worker分繰り返し AWS Lambda 対象のアプリケーション はLambdaの環境変数か ら設定
  • 13. Copyright (C) 2019 OGIS-RI All rights reserved. 1. アクセストークン取得 • 処理内容 – CloudHub APIを利⽤するためのアクセストー クンを取得する。 • 備考 – 認証は「Username and Password Authentication」を使⽤ • 「username」と「password」を使⽤してアクセ ストークンを発⾏する⽅法 POST /accounts/login HTTP/1.1 Content-Type: application/json { "username" : "joe", "password" : "password" } 参考URL https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7- 23abe036327a.anypoint-platform/access-management-api/minor/1.0/pages/Authentication/
  • 14. Copyright (C) 2019 OGIS-RI All rights reserved. 2. 組織ID取得 • 処理内容 – CloudHub APIを利⽤して、アクセストークンに 紐づくユーザーが所属している組織のIDを取得 する。 • 備考 – 組織IDはCloudHubからも参照可能 – Lambdaの環境変数の設定情報とすることも できるが、今回はAPIから取得する⽅法とした。 • 環境変数の設定情報を減らすため。 参考URL https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7- 23abe036327a.anypoint-platform/access-management-api/minor/1.0/console/method/%233262/ Access Managementから参 照可能
  • 15. Copyright (C) 2019 OGIS-RI All rights reserved. 3. 環境ID取得 • 処理内容 – 組織IDを利⽤して、環境⼀覧を取得する。 – 取得した環境⼀覧よりLambdaの環境変数に設定 されている環境名のIDを取得する。 • 備考 – 環境IDはCloudHubからも参照可能 – 今回はLambdaの環境変数の設定に「環境名」を設 定する⽅針とした。 • 環境IDの場合、設定を⾒てもどの環境か判断がつかな いため。 参考URL https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7- 23abe036327a.anypoint-platform/access-management-api/minor/1.0/console/method/%233725/ API Managerから参 照可能 { "data": [ { "name": "Production", "organizationId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxx", }, { "name": "Sandbox", "organizationId": "yyyyyyyy-yyyy-yyyy-yyyy-yyyy", } ] }環境名をキーに IDを取得
  • 16. Copyright (C) 2019 OGIS-RI All rights reserved. 4. Worker⼀覧取得 • 処理内容 – 環境IDとLambdaに設定されているアプリケー ション名を利⽤して、バックアップ対象となる Worker⼀覧を取得する。 • 備考 – ⼀覧で取得したWorkerは起動中のものだけで なく、停⽌されたWorkerも含まれる。 ※ここはもう少し詳しく、後のスライドで説明する。 参考URL https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7- 23abe036327a.anypoint-platform/cloudhub-api/minor/1.0/console/method/%232194/ { "data": [ { "deploymentId": "xxxxxxxxxxxxxxxxxxxx", "endTime": "2020-05-20T11:18:36.288Z", "instances": [ { "instanceId": "xxxxxxxxxxxxxxxxxxxx-0", "publicIPAddress": "18.179.9.162", "region": "ap-northeast-1", "status": "TERMINATED" } ], }, { "deploymentId": "yyyyyyyyyyyyyyyyyyy", "instances": [ { "instanceId": "yyyyyyyyyyyyyyyyyyy-0", "publicIPAddress": "18.181.86.91", "region": "ap-northeast-1", "status": "STARTED" } ] } ], "total": 2 } 停止している Workerも含まれ る
  • 17. Copyright (C) 2019 OGIS-RI All rights reserved. 5. ログ取得 • 処理内容 – Worker⼀覧で取得したWorker情報を利⽤ して、Workerのログを取得する。 – 取得したログはLambdaのローカルストレージに ⼀時保存する。 • 備考 – Lambdaのローカルストレージ(/tmp)は 512MBの容量が⽤意されている。 – アプリケーションログの最⼤容量は100MBのた めLambdaのローカルストレージに⼀時保存で きる。 参考URL https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7- 23abe036327a.anypoint-platform/cloudhub-api/minor/1.0/console/method/%232317/ https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/gettingstarted-limits.html ローカルストレージ Workerの アプリケーション ログファイル
  • 18. Copyright (C) 2019 OGIS-RI All rights reserved. 6. ログ保管 • 処理内容 – Lambdaのローカルストレージに保管したログをS3に配置する。 – 配置が終わったらログはローカルストレージから削除する。 ローカルストレージ Workerの アプリケーション ログファイル バケット Workerの アプリケーション ログファイル S3へ配置が終 わったログファ イルは削除
  • 20. Copyright (C) 2019 OGIS-RI All rights reserved. バックアップログを取得するための権限 • ログバックアップを取得するためのAPI呼び出し権限は「Runtime Manager - Read Applications」だけである。 • バックアップ専⽤ユーザーを作成して権限を付与した。 アプリケーショ ンが配置されて いる環境 必要な権限 Runtime Manager
  • 21. Copyright (C) 2019 OGIS-RI All rights reserved. ログの重複バックアップ • ログを取得するAPIは⽇付や間隔の指定ができない。 • デプロイメントとバックアップのタイミングによっては、過去のログが重複してバックアップされる。 Deploy ment 1 Deployment 3 前回のバックアップ日時 今回のバックアップ日時 Deployment 1 Deployment 2 Deployment 1 Deployment 2Deployment 2 Deploy ment 2 前回のバックアップ範囲 今回のバックアップ範囲 前回バックアップ済みのログが今回もバックアップされる。どこまでバックアップされるかは、ログの サイズやローテーションのタイミングに依存する デプロイのパターン1 デプロイのパターン2 デプロイのパターン3 時間軸
  • 22. Copyright (C) 2019 OGIS-RI All rights reserved. 停⽌したWorker • Worker⼀覧取得APIで取得したWorkerの中には、起動中のものだけでなく停⽌したも のも含まれる。 • 停⽌したWorkerをバックアップ対象から外すには注意が必要である。なぜなら、前回バック アップからデプロイを挟むと、取得していないログ情報が停⽌したWorkerに含まれるからであ る。 前回のバックアップ日時 今回のバックアップ日時 Deployment 1 Deployment 2 前回のバックアップ範囲 デプロイのパターン 時間軸 Workerが 切り替わっ ている 前回から今回のバックアップまで の期間で追加されたログ 停止しているWorker のログも取得可能 Runtime Managerのログ画面
  • 23. Copyright (C) 2019 OGIS-RI All rights reserved. 空(0バイト)のログファイル • 停⽌されたWorker情報は30⽇以上残る。 • アプリケーションログの保持期間は30⽇間である。 • 停⽌されて30⽇以上経過したWorkerから取得できるログは空(0バイト)のログファイルに なる。また、起動中のWorkerでも30⽇間ログが出⼒されないと空のログファイルになる。 起動中 起動中Worker1 Worker2 停止 30日経過 Workerが切り替わってからログが 出力されないまま30日経過 時間軸 アプリケーションのデプロイや Worker再起動でWorkerが切り替わる このタイミングで取得 したログは空ファイル となる
  • 24. Copyright (C) 2019 OGIS-RI All rights reserved. 空のログファイルの取り扱い案 案 説明 メリット デメリット すべて取得案 ・起動、停止にかかわ らず、空のログファイ ルをバックアップし続 ける ・Lambdaを起動した回数分のログファ イルが作成されるため、バックアップ ファイルの日付の一覧性がある ・停止しているWorkerが廃棄されるまで 空のログファイルを取得し続けるため、 無駄なファイルが増える 空ファイル除 外案 ・起動、停止にかかわ らず、空のログファイ ルをバックアップしな い ・空のログファイルが作成されないため、 S3のファイル数が無駄に増えない ・下記のようにバックアップファイルの 日付の一貫性が損なわれる可能性がある 20200812120000.log 20200812130000.log 20200812150000.log 20200812160000.log Workerのス テータスで取 り扱いを分け る案 ・起動中の場合、空の ログファイルをバック アップする ・停止中の場合、空の ログファイルをバック アップしない ・起動中のWorkerに対して、常にバック アップを取得するため、バックアップ ファイルの日付の一貫性がある ・停止中のWorkerの空のログファイルは 取得しないため、すべて取得案に比べて S3に無駄なファイルを作成しない ・Workerのステータスを把握をしないと、 空のログファイルを取得しているWorker か、取得していないか判断できない Copyright © 2019-2020 OGIS-RI Co., Ltd. All rights reserved.
  • 25. Copyright (C) 2019 OGIS-RI All rights reserved. 重複しているAPIエンドポイントと権限 • 環境IDを取得できるAPIのエンドポイントは2つある。 – https://anypoint.mulesoft.com/accounts/api/organizations/{orgId}/environments – https://anypoint.mulesoft.com/accounts/api/cs/organizations/{orgId}/environme nts • この⼆つには決定的な違いがある。 – 前者(csがついていない⽅) • 「Runtime Manager - Read Applications」権限で呼び出し可能 – 後者(csがついている⽅) • 「CloudHub Admin」のロールが必要 • ログバックアップでは、弱い権限で呼び出し可能な前者を利⽤してシステムを構築した。 • CSがついているエンドポイントと、ついていないものの違いは不明である。 参考URL https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7- 23abe036327a.anypoint-platform/access-management-api/minor/1.0/console/method/%232076/
  • 26. Copyright (C) 2019 OGIS-RI All rights reserved. プログラムの設定 環境変数の設定 各種設定 • ⽤途 – 構成管理に含めて良いものを設定する。 – 環境によって差異がないものを設定する。 – 更新の頻度が少ないものを設定する。 • ログバックアップで設定した値 – ログ取得のためのURL情報 • ⽤途 – 構成管理に含めたくないもの(クレデンシャル情報)を設 定する。 – 環境によって差異があるものを設定する。 – 更新の頻度(可能性)が⾼いものを設定する。 • ログバックアップで設定した値 – ユーザー名 – パスワード – アプリがデプロイされている環境情報(dev,stg) – アプリケーション名 – S3の各種情報 • 設定項⽬はプログラム(jarやwar)に含める値と環境変数から設定する値がある。
  • 28. Copyright (C) 2019 OGIS-RI All rights reserved. APIドキュメント • MuleSoftが提供している⼀通りのAPIを調査したが、ドキュメントがないものがあるため理 解できなかったAPIがある。 – Tokenization Creation and Mgmt API – ARM Monitoring Query – など Homeのページだけでも 説明が欲しい。
  • 29. Copyright (C) 2019 OGIS-RI All rights reserved. 紛らわしい名称(アプリケーションとドメイン) • Worker⼀覧を取得するためのAPIに「domain」という情報が必要である。 – https://anypoint.mulesoft.com/cloudhub/api/v2/applications/{domain} • この「domain」に設定する値は、管理コンソールではアプリケーション名に該当する。 – 管理コンソールで「domain」というとフルドメインを指す。 • 担当者間で同じものを指しているはずなのに、「ドメイン」と「アプリケーション名」で呼び⽅が 異なり、共通認識を得るために⼿間がかかった。 管理コンソールで 「domain」といえば フルドメインを指す APIの「domain」に 設定すべき値
  • 30. Copyright (C) 2019 OGIS-RI All rights reserved. 紛らわしい名称(Workerとインスタンス) • 管理コンソールではWorkerと表されているものが、APIではインスタンスと表されている。こち らも担当者間で共通認識を得るための阻害要因となった。 APIではデプロイメン ト一覧を取得すると、 インスタンスという 名称で結果が取得で きる。 CludHubではデプロ イメントに紐づくの はWorkerである。
  • 31. Copyright (C) 2019 OGIS-RI All rights reserved. MuleSoftのドキュメントページエラー • MuleSoftのドキュメントを閲覧していると、たまに発⽣する。 • しばらくすると、また閲覧可能になる。 参考URL https://docs.mulesoft.com/general/
  • 33. Copyright (C) 2019 OGIS-RI All rights reserved. まとめ • CloudHubには便利なAPIがあるため、ログバックアップを簡単に作成することができた。 – 今回はAWS Lambdaで作成したが、他のプラットフォームでもサクッと作れる。 • バックアップシステムを作成する上で、気をつけないといけない点があるため注意が必要であ る。 APIを利用して 自動化していきましょう!
  • 35. Copyright (C) 2019 OGIS-RI All rights reserved. Lambda実⾏に必要な権限 • ロブバックアップを実⾏しているLambda ユーザーの権限 { "Version": "2012-10-17", "Statement": [ { "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:*:*:*" ], "Effect": "Allow" }, { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::*/*" ] } ] }
  • 36. Copyright (C) 2019 OGIS-RI All rights reserved. 使⽤したCloud API⼀覧 API名 役割 エンドポイント 説明URL ログインAPI APIを使用するた めのアクセストー クンを発行する https://anypoint.mulesoft.com/accounts/login https://anypoint.mulesoft.com/exchange/portals/anypoin t-platform/f1e97bc6-315a-4490-82a7- 23abe036327a.anypoint-platform/access-management- api/minor/1.0/pages/Authentication/ ログイン者情 報API 自分が所属してい る組織IDを取得す る https://anypoint.mulesoft.com/accounts/api/me https://anypoint.mulesoft.com/exchange/portals/anypoin t-platform/f1e97bc6-315a-4490-82a7- 23abe036327a.anypoint-platform/access-management- api/minor/1.0/console/method/%233262/ 環境一覧取得 API 環境一覧から環境 IDを取得する https://anypoint.mulesoft.com/accounts/api/organ izations/{orgId}/entitlements https://anypoint.mulesoft.com/exchange/portals/anypoin t-platform/f1e97bc6-315a-4490-82a7- 23abe036327a.anypoint-platform/access-management- api/minor/1.0/console/method/%233725/ デプロイ一覧 API デプロイされてい るWorker一覧を 取得する https://anypoint.mulesoft.com/cloudhub/api/v2/a pplications/{domain}/deployments https://anypoint.mulesoft.com/exchange/portals/anypoin t-platform/f1e97bc6-315a-4490-82a7- 23abe036327a.anypoint-platform/cloudhub- api/minor/1.0/console/method/%232194/ ログ取得API Workerのログを 取得する https://anypoint.mulesoft.com/cloudhub/api/v2/a pplications/{domain}/instances/{instanceId}/logs https://anypoint.mulesoft.com/exchange/portals/anypoin t-platform/f1e97bc6-315a-4490-82a7- 23abe036327a.anypoint-platform/cloudhub- api/minor/1.0/console/method/%232317/