Upgrade to Pro — share decks privately, control downloads, hide ads and more …

re:Invent期間に発表されたCloudWatch Logsのアップデートを金融エンジニアの目線で試してみる

re:Invent期間に発表されたCloudWatch Logsのアップデートを金融エンジニアの目線で試してみる

『Fin-JAWS 第34回 re:Invent 金融re:Cap』のLT資料です
https://fin-jaws.connpass.com/event/306771/

Naoki Yoshitake

January 11, 2024
Tweet

More Decks by Naoki Yoshitake

Other Decks in Technology

Transcript

  1. CONFIDENTIAL 1 © 2024 Japan Digital Design, Inc. re:Invent期間に発表された CloudWatch

    Logsのアップデートを 金融エンジニアの目線で試してみる Japan Digital Design Technology & Development Div Naoki Yoshitake 2024.01.10
  2. 2 CONFIDENTIAL © 2024 Japan Digital Design, Inc. 吉竹 直樹

    Technical Project Manager Japan Digital Design • 2022 APN AWS Top Engineer • 『AWS認定資格試験テキスト AWS認定SysOpsアドミニス トレーター – アソシエイト』の執筆に参加 プロフィール この写真は犬カフェのもので飼い犬ではありません。かわいいけど 資格等 • 2023/11からJDDでTechnical Project Manager として活動 • 前職のSIerでは、アプリケーションエンジニアとして活動 • 業界:銀行/資産運用/クレジット/生保…等 • システム:オンプレミスの業務系〜AWSのコンテナアプリ…等
  3. 3 CONFIDENTIAL © 2024 Japan Digital Design, Inc. Japan Digital

    Design株式会社 2017年10月2日 代表取締役 CEO 浜根 吉男 85名(2023年9月末時点) 株式会社三菱UFJフィナンシャル・グループ 株式会社三菱総合研究所 三菱UFJリサーチ&コンサルティング株式会社 社名 設立 代表者 従業員数 株主構成 会社概要
  4. 4 CONFIDENTIAL © 2024 Japan Digital Design, Inc. re:Invent この時のモチベーションでAWSを深く学ぶようになった。

    ⇛Top Engineer や執筆の活動へ繋がることに 2019年のre:Inventは現地参加 re:Invent 皆さん現地参加しましたか? 私はオンラインです
  5. 5 CONFIDENTIAL © 2024 Japan Digital Design, Inc. CloudWatch Logs

    注目したアップデート AWSの重要事項である2つの要素に関するアップデートがあった • コスト • re:Invent 2023での Amazon CTO Werner 氏による基調講演 『倹約なアーキテクト(THE FRUGAL ARCHITECT) 』 • セキュリティ • 『AWSクラウドセキュリティは最優先事項です (“Cloud security at AWS is the highest priority.”)』 注目した理由 出典:https://docs.aws.amazon.com/ja_jp/whitepapers/latest/aws-overview/security-and-compliance.html
  6. 7 CONFIDENTIAL © 2024 Japan Digital Design, Inc. 低頻度アクセスログクラス CloudWatch

    Logs のコスト 気になりませんか? • Logs はログ取込(収集)に それなりのコストがかかる。 • もしLogsが高いと感じている場 合、まず取込量を見直すべき。 Logs 以下のようなケースでコストが大変なことになります… • パフォーマンステストで出力された大量のログを全てLogsに取り込んでいる • 不要なデバッグログが大量に出力されている 取込で特にコストを気にするケース EC2 agent 取込のコストに注意 保存にもコストがかかる
  7. 8 CONFIDENTIAL © 2024 Japan Digital Design, Inc. 低頻度アクセスログクラス re:Invent期間に

    低頻度アクセス ログクラスが発表 出典:[AWS Black Belt Online Seminar] AWS re:Invent 2023速報 https://aws.amazon.com/jp/blogs/news/2023-12-reinvent2023-aws-blackbelt/
  8. 9 CONFIDENTIAL © 2024 Japan Digital Design, Inc. 低頻度アクセスログクラス 低頻度アクセスログクラスを

    試してみる 1/2 1. ログクラスに”Infrequent Access”を指定してロググルー プを作成 2. 作成したロググループを出力先 として設定 (画像はECS タスク定義の例)
  9. 10 CONFIDENTIAL © 2024 Japan Digital Design, Inc. 低頻度アクセスログクラス 低頻度アクセスログクラスを

    試してみる 2/2 3. ログストリームをクリックする と、インサイトの画面に飛ぶ。 ログを参照するには、 CloudWatch Logs Insights を 利用する必要あり
  10. 11 CONFIDENTIAL © 2024 Japan Digital Design, Inc. コスト •

    標準のログクラスに比べて 「収集」のコストが半額に • Logs Insights を使うことにな るため、参照にもコストがか かる。以下のような使い方は コスト超過のおそれあり • 頻繁なログへのアクセス • 大量のログデータをスキャン 出典:https://aws.amazon.com/jp/cloudwatch/pricing/ スキャンしたデータ 1 GB あたり 0.0076 USD 低頻度アクセスログクラス CloudWatch Logs のコスト(東京リージョン)
  11. 12 CONFIDENTIAL © 2024 Japan Digital Design, Inc. 低頻度アクセスログクラス 制約事項

    • サブスクリプションフィル ターや, Live Tail などの機能が 利用不可 出典:https://aws.amazon.com/jp/blogs/news/new-amazon-cloudwatch-log-class-for-infrequent-access-logs-at-a-reduced-price/ 低頻度アクセスログクラスと標準ログクラスの比較
  12. 13 CONFIDENTIAL © 2024 Japan Digital Design, Inc. 低頻度アクセスログクラス 使い所を考えてみる

    • AWSブログでは「フォレンジッ ク分析」「コンプライアンス」 が例として記載されている • 金融システムでも、ログの長期 保存や監査が要件になることが ある 上記以外での使い所 • 対象ログの参照頻度が低く、コスト重視で割り切れるケース • 障害調査が少ない、障害が発生しても緊急度が低い • 但し、対象のログを障害のアラート等には使っていない (サブスクリプションフィルタが使えないため) • 開発環境で参照頻度の低いログの出力先 分析・長期保存での使い所 • 対象のログを Insights で分析するケース • Insights の機能で要件を満たす分析が可能 • 低頻度アクセスはエクスポートができないため、他サービスでログを使うことが難しい
  13. 14 CONFIDENTIAL © 2024 Japan Digital Design, Inc. 低頻度アクセスログクラス 懸念事項

    • 制約事項が多く、本番システム で利用するにはハードルが高く 感じる 長期保存や分析用途なら標準クラス+S3のほうが無難に思える Logs S3 • 従来のアーキテクチャ例 • ログをCloudWatch LogsとS3にそれぞれ保存 • 2週間以内はLogsで参照、2週間経過したらLogsから削除する。 以降はS3からログを取得 • Logs の保存コストを節約可能 • エクスポート機能等を使った分析も可能 後からアーキテクチャの変更をしづらい点が懸念 • エクスポートやサブスクリプションフィルタ等の便利機能が使えない • 一度作ったログクラスを変更できない ⇛ 後から「やっぱり標準クラスが良い」となると困る
  14. 15 CONFIDENTIAL © 2024 Japan Digital Design, Inc. 低頻度アクセスログクラス 公式ブログを読み返すと…

    • 「ログタイプごとに異なるソリューション を選択したりして、さまざまなロギングソ リューションを管理するのが複雑になり、 非効率になるお客様もいます。 〜(略)〜こ れらの回避策はアプリケーションのオブ ザーバビリティに影響を与える可能性があ ります。なぜなら、顧客はログを確認する ために複数のソリューション間を移動する 必要があるからです。 」 • 「すべてのログを 1 か所にまとめ〜(略)〜 CloudWatch を使用して包括的なオブザー バビリティソリューションを構築」 ログを1つのサービスで見られる点 に重点を置いている 低コスト化よりも Observability 向上のアップデートと捉えられる • 複数のログ管理サービスを扱うことの煩雑さの解消や、それの伴うコストの削減 • 近年の CloudWatch は Observability に関する機能の進化が著しいので、 将来的には「ログはLogs にまとめれば十分」と言えるようになるかもしれない 出典:AWS Summit Online 2022「AWS の Observability(可観測性)の全体像〜 Amazon CloudWatch とオープンソースの活⽤〜」
  15. 17 CONFIDENTIAL © 2024 Japan Digital Design, Inc. カスタムデータ識別子のデータ保護 ログのセキュリティ

    気にしてますか? • そもそも、ログに機密情報を 出力すべきではない • OWASP Logging Cheat Sheet • 但し、従来はOKだった情報も 法改正等により個人情報として 扱われる可能性も • システムのユーザーIDも「照合容 易性(*1)」を満たすと社内では個 人情報の扱いになるケースがある クラウドではログのセキュリティへの意識も求められるように • ログのセキュリティは後回しにされがち(かもしれない) • ログはアプリケーションの全機能に関わる。修正コストが膨大 • ユーザーへの直接的な価値に繋がらない(システム上は非常に重要だが) • ログの設計指針が無い時代にシステムが作られた • OWASPのログのチートシートも6年前(?)が初版 • そもそもクラウドになることを想定していなかった • クラウドでは本番環境とログの参照でアクセス権限が異なるケースがある • ログを外部のSaaSへ送信して利用 • コンソールでLogsを参照 ※各社の設計次第です ※オンプレでも障害アラートのメールにログの情報を出力している みたいなケースはあったと思われます Logs EC2 SSHは本番アクセス統制 ログやメトリクスの 参照は別権限 (*1) 社内において、IDだけで特定の個人を 「いつでも簡単に照合できるようなケース」
  16. 18 CONFIDENTIAL © 2024 Japan Digital Design, Inc. カスタムデータ識別子のデータ保護 CloudWatch

    Logs データ保護で カスタムデータ識別 子のサポートを開始 出典:https://aws.amazon.com/jp/about-aws/whats-new/2023/12/amazon-cloudwatch-logs-data-protection-data-identifiers/ 微妙にre:Invent期間からズレてますがご了承ください 2022年のre:Inventで発表された機密 データ保護の機能が強化
  17. 19 CONFIDENTIAL © 2024 Japan Digital Design, Inc. カスタムデータ識別子のデータ保護 データ保護を試してみる

    1/2 1. ロググループの「データ保護」 タブからポリシーを作成 2. “Custom Data Identifier Configuration”を追加する こちらが今回のアップデート マネージドは従来から存在
  18. 20 CONFIDENTIAL © 2024 Japan Digital Design, Inc. カスタムデータ識別子のデータ保護 低頻度アクセスログクラスを

    試してみる 2/2 3. 正規表現でマスクしたいデータ を表現する 4. 設定後に出力されるログでマス クされるようになる • Logs上の見え方が変わるだけで ログデータが失われているわけで はない userIDがUUIDだった時の例 IDがマスクされている emailがマスクされているのは マネージドも設定したため
  19. 21 CONFIDENTIAL © 2024 Japan Digital Design, Inc. コスト •

    検出のためにスキャンした データ量に対して課金 • 取り込んだ全量をスキャン対象 とした場合16%弱のコスト増加 • 0.76 + 0.12 = 0.88 USD • 結構お高い… • 対象とするロググループは 選定した方が良い • ロググループを分けられるような アプリケーションの作りにしてお くことが重要 出典:https://aws.amazon.com/jp/cloudwatch/pricing/ スキャンされたデータ 1 GB あたり 0.12 USD カスタムデータ識別子のデータ保護 CloudWatch Logs のコスト(東京リージョン)
  20. 22 CONFIDENTIAL © 2024 Japan Digital Design, Inc. カスタムデータ識別子のデータ保護 試してみて気になった点

    1/2 • 主に正規表現の使い方 正規表現次第では、JSON出力が崩れる場合がある • アプリケーション側でログをJSON出力すると、Insights でフィールドの選択や 集計など便利に使うことができる • 正規表現の設定次第では、テキストに戻って出力されてしまう
  21. 23 CONFIDENTIAL © 2024 Japan Digital Design, Inc. カスタムデータ識別子のデータ保護 試してみて気になった点

    2/2 • 主に正規表現の使い方 同一体系のIDが一緒にマスクされる • ID体系に対する正規表現なので、別フィールドがマスクされる可能性がある • 「“id”フィールドの後のUUID(正規表現)」のような指定ができるとありがたい ヘッダーに設定したリクエスト 識別用のIDもマスクされた
  22. 25 CONFIDENTIAL © 2024 Japan Digital Design, Inc. • 低頻度アクセスログクラス

    • Logsでコスト要因になりがちな「取込」のコストを半額に • 機能制約が多く、上手く使うには検討が要りそう • CloudWatch の Observability 機能のさらなる進化に期待 • カスタムデータ識別子へのデータ保護 • ログのセキュリティを見直す良い機会に • 設定も簡単で便利だが、コストには注意 • 生成系AIも良いけど、実運用に役立つアップデートは嬉しい サマリ 終わりに
  23. 26 CONFIDENTIAL © 2024 Japan Digital Design, Inc. • ASCII.jp:倹約的なアーキテクトとは?

    AmazonボーガスCTOが今一番気になるコストとAIを語る • https://ascii.jp/elem/000/004/173/4173943/ • Amazon S3とCloudWatch Logsのログ保存料金とサイズを見てみた | DevelopersIO • https://dev.classmethod.jp/articles/compare-archive-cost-cloudwatchlogs-s3/ • モニタリングとオブザーバビリティ|AWSを題材にしたケーススタディ|ブログ|NRIセキュア • https://www.nri-secure.co.jp/blog/aws-monitoring-observability • O'Reilly Japan Blog - スタートアップ企業向けインフラ運用入門(2):ログ・メトリクスの収集 • https://www.oreilly.co.jp/blog/2012/08/infrastructure-management-for-startups-log-metrics.html • OWASP / Logging Cheat Sheet • https://github.com/OWASP/CheatSheetSeries/blob/master/cheatsheets/Logging_Cheat_Sheet.md • 個人情報保護法の知識<第5版> • https://bookplus.nikkei.com/atcl/catalog/2021/9784532114251/ • Amazon CloudWatch Logs内の機密データをマスキングする方法 (CloudWatch Logs の機密データ保護機能) - サーバーワークスエンジニアブログ • https://blog.serverworks.co.jp/cloud-watch-logs-protect-sensitive-data その他参考文献 終わりに