Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark. 自己紹介 津郷 光明 (Mitsuaki Tsugo) エンタープライズ技術本部 ソリューションアーキテクト 運用&DevOps系サービスの推進 Observability / IaC
Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark. Agenda • Observability の実装における課題 • Observability as Code とは • Observability as Code が与える変化 • Observability as Code の活用例 3
Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark. Observability の獲得に向けた実装の例 5 Agent のインストール パラメータの設定 プロセス・サービスの起動・運用 ダッシュボードの作成 アラームの設定 権限管理 など
Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark. Observability の獲得に向けた実装における課題の例 6 開発スピード 変化への対応 煩雑な管理・ 設定漏れ
Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark. Observability の実装における課題の例 7 開発スピード 変化への対応 煩雑な管理 Observability as Code が 解決の1つになるかもしれない
Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark. Observability as Code とは ソースコード IaC ツール Observability 関連リソース https://docs.aws.amazon.com/whitepapers/latest/introduction-devops-aws/infrastructure-as-code.html 3rd Party Tools AWS X-Ray AWS Distro for OpenTelemetry Amazon Managed Service for Prometheus Amazon Managed Grafana Amazon CloudWatch Infrastructure as Code (IaC) を Observability に適用 コードによってリソースの管理やプロビジョニングを行う
Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark. AWSで利用できるInfrastructures as a code 10 AWS CloudFormation AWS Cloud Development Kit (AWS CDK) AWSが提供するIaC Tool • AWSがサポート • マネジメントコンソール、AWS CLI、 AWS CDK Toolkitによる操作 3rd ベンダーサービス • アプライアンスベンダーによる サポート • 製品によって仕様、インター フェースが異なる など
Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark. Terraformとは • HashiCorp社が提供するinfrastructure as code (IaC) ツール • HashiCorp Configuration Language (HCL)を利用した宣言型インフラ管理 • Provider/Provisionerを利用して様々な製品、環境をコントロール可能 • AWSのサービスローンチやアップデートにほぼリアルタイムで対応 12
Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark. 環境変更への追従が容易に インフラと Observability を IaC で管理することで リソースの変更に対して追従が可能 Dashboard i-xxxxxxxxxxxxxxxx1 i-xxxxxxxxxxxxxxxxa 作り直し に伴う 論理ID変更
Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark. 設定漏れ・確認漏れのリスク低減 16 設定漏れや設定ミスを環境適用前に防ぐことが可能 Policy as Code による評価も有効な手段 Observability as Code 設計書 Policy as Code 評価 ※ Policy as Code : コードを使ってポリシーを定義、更新、共有、適⽤する。IaCと組み合わせることで 作成するリソースがポリシーに準拠しているかを評価できる。 https://speakerdeck.com/nemops/yahariporisi-dot-dot-dot-porisihaquan-tewojie-jue-suru-dot-dot-dot-opa-deshi-meru-policy-as-code
Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark. スピードアップ • デプロイ作業時間を削減 • CI/CD 自動テスト、デプロイ リスク低減 • 人的ミスの排除 • バージョン管理による 変更の追跡と承認プロセス • 必要に応じて前のバージョン にロールバック 変更管理の実現 / 再現性の確保 • 同じ構成を何度でもデプロイ 開発効率の向上
Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark. Observability の実装における課題の例 18 開発スピード 変化への対応 煩雑な管理・ 設定漏れ 再掲
Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark. Observability の実装における課題の例 19 開発スピード 変化への対応 煩雑な管理 Observability as Code が 解決の1つになるかもしれない 再掲
Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark. Observability Lifecycle 21 インスツルメンテーション・ 収集 可視化 通知 分析 収集・可視化・分析・通知を循環する
Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark. Observability Lifecycle 22 インスツルメンテーション・ 収集 可視化 通知 分析 Observability as Code は 収集・可視化・通知で有効
Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark. Observability Lifecycle 23 インスツルメンテーション・ 収集 可視化 通知 分析 AWS で Observability as Code によって 収集で実現する例をご紹介
Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark. 24 Observabilityでよく利用されるテレメトリデータ Observability メトリクス ログ トレース 時間間隔で計測されたデータの数値表現 傾向の把握、予測に役⽴つ タイムスタンプが記録された、時間の 経過とともに起こったイベントの記録 予測不可能な振る舞いの発⾒に役⽴つ エンドツーエンドのリクエストフローの記録 リクエストの流れと構造の両⽅を可視化 することで因果関係の追跡に役⽴つ
Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark. AWS Observability Overview Observability Collectors and SDKs Container insights Lambda insights Contributor insights Application insights Synthetics Dashboards Alarms RUM AWS X-Ray AWS native services Amazon CloudWatch ServiceLens Open-source managed services Amazon Managed Grafana Do it yourself (DIY) – AWS OSS Solutions Amazon OpenSearch Service Amazon Managed Service for Prometheus Jaeger and Zipkin Tracing Insights & ML Instrumentation Metrics CloudWatch agent AWS X-Ray agent AWS Distro for OpenTelemetry Internet monitor Logs
Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark. まとめ 31 • Observability as Code は IaC を Observability の領域に適用したもの • Observability as Code で Observability の実装に関する課題を解決 • インスツルメンテーションから実装できる