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

OCIの運用管理力を高めよう

 OCIの運用管理力を高めよう

2020/1/20に実施した、OCIスキルアップセミナー 第6回のプレゼンテーション資料です。
OCIの監視、障害通知、監査、ログ管理などのシステム面の運用から、予算や課金管理、コスト制御まで、OCIをどう効率的に運用管理していくかについて考えます。 2019年はMonitoring、Notification、Logging(LA)、Cost Management、Budgetなど、様々な管理系機能がリリースされました。ここで一度OCIが備える管理系の機能の全体像を俯瞰したうえで、これらの機能、あるいは外部の製品を組み合わせてどこまでできるかについてお話したいと思います。

Masataka Marukawa

January 20, 2020
Tweet

More Decks by Masataka Marukawa

Other Decks in Technology

Transcript

  1. 2 Copyright © 2020 Oracle and/or its affiliates. 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一 の目的とするものであり、いかなる契約にも組み込むことはできません。

    以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するものではない ため、購買決定を行う際の判断材料になさらないで下さい。 オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により 決定されます。 OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標で す。 文中の社名、商品名等は各社の商標または登録商標である場合があります。 Safe harbor statement
  2. 3 Copyright © 2020 Oracle and/or its affiliates. 1. OCIリソースの状態を監視する

    2. 監査とログの管理 3. コストを最適化する 4. OCIのリソースを探す 本日の内容
  3. OCI Monitoring / OCI Notification / Oracle Management Cloud /

    3rd Party Soludtion OCIリソースの状態を監視する
  4. 5 Copyright © 2020 Oracle and/or its affiliates. OCIモニタリング •

    OCIのビルトイン、事前設定済みの監視ツール • OCIの各種サービスとの連携 • 簡単に使えて安価 Oracle Management Cloud • オンプレミスや他クラウドとの統合監視 • 専用のエージェント経由でデータを収集 • 単純な監視以外の様々な管理機能と統合 (パフォーマンス分析、ログ管理、構成管理など) • 高機能 サードパーティ製ツール • Hinemos • JP1 • Zabbix OCIのリソース監視に役立つツール
  5. 6 Copyright © 2020 Oracle and/or its affiliates. OCI上のリソースの状態/容量/パフォーマンスの監視 と通知を管理するサービス

    • 多数の事前定義済メトリック • カスタム・メトリックも定義可(APIのみ) • 可視化のためのダッシュボード - 各サービス毎に特化した設定済ページ - カスタマイズ可能なメトリック・エクスプローラ - クエリ言語(Monitering Query Language : MQL)による 条件設定 • アラームの設定 - 指定条件にメトリックが合致した場合に発報 - OCI通知サービス(OCI Notification)への連携 • OCI Autoscalingへの連携 OCI モニタリング・サービス (OCI Monitoring) Oracle Cloud Infrastructure METRICS ALARMS Notifications CPU: 80 CPU: 90 CPU: 40 CPU: 50 Customer Applications, Services, Resources OCIコンソール 外部モニタリング ツール Monitoring OCI モニタリング・サービス
  6. マネージドのメッセージングサービス • モニタリング・アラームなどのメッセージをサブスク リプション・エンドポイントにプッシュ • セキュアで低レイテンシー、耐久性に優れたメッセー ジ配信 • 配信先 -

    Email - HTTPS (カスタムURL) - PagerDuty • 連携元サービス - OCIモニタリング・サービス - OCIイベント・サービス OCI 通知サービス (OCI Notifications) Notifications Monitoringと組み合わせた利用例 Copyright © 2020 Oracle and/or its affiliates. 7
  7. 8 Copyright © 2020 Oracle and/or its affiliates. モニタリングのメリット モニタリングのメリット

    OCIの各サービスをまたがった 一貫性のある実装 • OCIサービスの各リソースの状態確認やアプリ ケーション性能の最適化、異常への対応などを リアルタイムに実行可能 カスタムのサービスや アプリケーションのメトリック • アプリケーションでカスタムメトリックを生成 し、それらを一元的に視覚化してモニタリング したりアラーム生成することが可能 安定したメトリックエンジン • リアルタイムに複数のメトリック・ストリーム やディメンションにまたがって柔軟な計算や複 雑なクエリーを実行することが可能 シンプルかつ予測可能な 価格体系 • 広い無償範囲をベースにし、追加コストの少な いシンプルな価格体系
  8. 9 Copyright © 2020 Oracle and/or its affiliates. 1. 収集(injection)

    • 一定間隔で各サービスから未 加工(raw)メトリック・データ がメトリック・サービスのAPI にポスト • 非マネージドサービス(コン ピュート・インスタンスなど) は、エージェント経由で収集 2. 集計(aggregation) • メトリック・データを時間単 位で集計 (最小集計間隔=1分) 3. 通知(notification) • アラーム定義に従いメッセー ジを発報 • OCI通知サービスに連携 OCI モニタリング・サービスのアーキテクチャー 1. 収集 2. 集計 3. 通知
  9. メトリック = メトリック名 + ネームスペース + ディメンション + メタデータ •

    ネームスペース - メトリックを発行するリソース、サービス、またはアプリケーションのインジケーター (例) メトリック CpuUtilization は、oci_computeagent というネームスペースに所属 • ディメンション - メトリックデータをフィルタリングまたはグループ化する修飾子 (例) 可用性ドメインによるフィルタリング : availabilityDomain="VeBZ:PHX-AD-1" • メタデータ - メトリック定義で提供される参照 (例) oci_computeagent の DiskBytesRead というメトリックには “unit(bytes)” という単位を表すメタデータが付加 されている メトリック・ストリーム • メトリックの集計データの集合 • 単一リソースまたはコンパートメント内の全リソース集計のいずれも可能 リソースのステータス、キャパシティ、パフォーマンスに関する測定値 メトリック Copyright © 2020 Oracle and/or its affiliates. 10
  10. メトリックの例 – コンピュート・インスタンス インスタンス 仮想NIC ブート・ボリューム ブロック・ボリューム oci_computeagent oci_vcn oci_blockstore

    ネームスペース 測定単位 集計 oci_computeagent インスタンス単位 インスタンスの関連する全リソース合計で集計 (例) DiskBytesReadは接続された全ボリュームの合計、NetworkBytesIn は全仮想NICの合計 oci_blockstore ボリューム単位 個々のブート/ブロックボリューム単位で個別に集計 oci_vcn 仮想NIC単位 個々の仮想NIC単位で個別に集計 Copyright © 2020 Oracle and/or its affiliates. 11
  11. 最新情報は公式ドキュメントをご確認ください https://docs.oracle.com/cd/E97706_01/Content/Balance/Reference/loadbalancermetrics.htm メトリックの例 : ロードバランサー のメトリック -ディメンジョン ディメンジョン名 説明 availabilityDomain

    ロードバランサーが存在する可用性ドメイン backendSetName メトリックが適用されるバックエンドセットの名前 lbComponent メトリックが適用されるロードバランサー・コンポーネント このディメンジョン値(Backendset/Listener/Loadbalancer)毎に有効なメトリックが異なる lbHostId 現在のロードバランサーホストを表す一意のID ※このIDの値はロードバランサー の状況により変わる可能性がある listenerName メトリックが適用されるリスナーの名前 region ロードバランサーが存在するリージョン resourceId メトリックが適用されるリソースのOCID Copyright © 2020 Oracle and/or its affiliates. 12
  12. 最新情報は公式ドキュメントをご確認ください https://docs.oracle.com/cd/E97706_01/Content/Balance/Reference/loadbalancermetrics.htm メトリックの例 : lbComponentがLoadBalancerの場合のメトリックの詳細 メトリック コンソールの表示名 単位 内容 AcceptedConnections

    Accepted Connections count ロードバランサーによって受け入れられた接続の数 AcceptedSSLHandshake Accepted SSL Handshakes count 受け入れられたSSLハンドシェイクの数 ActiveConnections Active Connections count クライアントからロードバランサーへのアクティブな 接続の数 ActiveSSLConnections Active SSL Connections count アクティブなSSL接続の数 BytesReceived Bytes Received bytes ロードバランサーが受信したバイト数 BytesSent Bytes Sent bytes ロードバランサーによって送信されたバイト数 FailedSSLClientCertVerify Failed Client SSL Cert Verifications count 失敗したクライアントSSL証明書の検証の数 FailedSSLHandshake Failed SSL Handshakes count 失敗したSSLハンドシェイクの数 HandledConnections Handled Connections count ロードバランサーによって処理された接続の数 HttpRequests Inbound Requests count ロードバランサーへの着信クライアント要求の数 Copyright © 2020 Oracle and/or its affiliates. 13
  13. metric[interval]{dimensionname="dimensionvalue"}.groupingfunction.statistic • Metic - メトリック • Interval – データ取得間隔 (1m

    ~ 60m) • Dimensionname - ディメンション名称 • Groupingfunction - (オプション)グループ化機能 (groupBy) • Statistic – 統計に使用する関数(avg()/count()/increment()/max()/min()/mean()/absent()など) (例) • CpuUtilization[1m].max() - 1分間隔の最大CPU使用率 • CpuUtilization[1m]{resourceId=“ocid1.instance…”}.max() - 特定のOCIDを持つインスタンスの1分間隔の最大CPU使用率 • IopsRead[1m]{compartmentId=“ocid1.compartment...”}.grouping().max() - 特定のコンパートメント内の全てのブロックボリュームの1分間隔のread IOPSの最大値 https://docs.oracle.com/cd/E97706_01/Content/Monitoring/Reference/mql.htm Monitoring Query Language(MQL) Copyright © 2020 Oracle and/or its affiliates. 14
  14. 15 Copyright © 2020 Oracle and/or its affiliates. アラーム 特定のメトリック・ストリームに対して設定したトリガー・ルールに基づいて、メッセージを発報する

    機能 • メトリック・ストリーム値の評価にはMQLを利用可能 • トリガー・ルールには、閾値(threshold) または 「なし」(absence : メトリックが収集できない)を評価 基準として設定 • メッセージはOCI通知サービスに連携
  15. 16 Copyright © 2020 Oracle and/or its affiliates. サービス・メトリック •

    各リソースの個別メトリック画面と同内容だがコンパートメ ント内の全てのリソースを一覧できる • ディメンションやタグによる絞り込み可能 メトリック・エクスプローラー • 個別のメトリックの詳細な閲覧、同じチャートに複数リソー スや複数メトリックを同時に表示 • MQL(Metric Query Language) を利用した複雑なメトリックの表 示 アラーム・ステータス • 定義済アラームの発報状況を、重要度別にフィルターして閲 覧 • アラーム抑制(今後の通知発生の防止)の個別設定/停止 アラーム定義 • メトリックをもとにアラームを作成し、OCI Notificationサービ スを経由する通知を設定 OCIコンソールからの利用方法
  16. 17 Copyright © 2020 Oracle and/or its affiliates. OCIコンソール :

    サービス・メトリック メニュー 選択したネームスペースに 定義されているメトリック が全てタイルで表示される
  17. 18 Copyright © 2020 Oracle and/or its affiliates. メトリック・エクスプローラー 作成した問合

    せのMQLが表 示される 問合せを作成する 問合せエディタ
  18. 19 Copyright © 2020 Oracle and/or its affiliates. アラーム定義 トリガー・ルールの設定

    を反映したチャート アラームをトリガー(起動) するルール 連携する通知サービス 詳細へのリンク
  19. OCI モニタリング・サービス – 価格 月当たりのデータ・ポイント数による課金 • 収集 - 毎月5億データポイントは無料、以降100万データポイントごとに0.3円 •

    閲覧 - 毎月10億データポイントは無料、以降100万データポイントごとに0.18円 データ・ポイントの数え方 • メトリック毎のタイムスタンプと値のペアを1データ・ポイントとしてカウント - (例) 2020-01-10T22:19:00Z, 10.4 • データポイントは、未加工(Raw)または集約(Aggregated)によって、それぞれ収集間隔が異なる - 未加工(Raw)データ・ポイント = APIの PostMetricData操作 を使用して、メトリック・ネームスペースからモニ タリング・サービスにポストされるデータ・ポイント、間隔はネームスペースによって異なる - 集約(Aggregated)データポイント = 未加工データ・ポイントに統計(statistics)と間隔(interval)を適用し、APIの SummarizeMetricsData 操作でポストされるデータ・ポイント、例えば1時間毎のCPU使用率の平均値(mean)を集 約するリクエストは、未加工データ・ポイント以外に1時間毎に1つのデータ・ポイントを生成する 価格の最新情報は下記をご参照ください https://www.oracle.com/cloud/systems-management/monitoring/pricing.html Copyright © 2020 Oracle and/or its affiliates. 21
  20. 22 Copyright © 2020 Oracle and/or its affiliates. Ingestion: カスタムメトリックのデータポ

    イントにのみ課金される。OCIの各サービ スが提供するメトリックは含まれない。 Retrieval: アナライズされたデータポイン トを取得する際に課金される。コンソー ルのメトリック・エクスプローラーなど でグラフ表示やリロードした際にカウン トされる。 Metric Data Point • メトリックストリーム内でのタイムスタンプ付き の単一の値 Retrieval時のAnalyzed Data Point • メトリック取得クエリー実行時のメトリックスト リームごとの1分ごとのデータポイント。 • 1分間に複数のデータポイントがある場合は要約 された値になる。 モニタリング 課金について FAQ https://www.oracle.com/cloud/systems-management/monitoring/faq.html Monitoring - Retrieval Monitoring - Ingestion
  21. 23 Copyright © 2020 Oracle and/or its affiliates. OCI モニタリング・サービス

    使用上の注意点 コンピュート・インスタンスのモニタリングには、Oracle Services Networkへのアクセスが必要 • モニタリング・サービスはVCNの外側(OracleServices Network)にある • インスタンス内のエージェントからOracle Services Networkへのアウトバウンド通信が必要 • 適切なゲートウェイ(サービス・ゲートウェイ/NATゲートウェイ/インターネット・ゲートウェイ)の設 定が必要 一部、まだモニタリング・サービスに対応していないサービスもある • サポートされているサービス一覧 - https://docs.cloud.oracle.com/iaas/Content/Monitoring/Concepts/monitoringoverview.htm#supported
  22. 24 Copyright © 2020 Oracle and/or its affiliates. モニタリング・メトリックを生成できるOCIサービス (2020/1/17時点)

    • API Gateway、ブロック・ボリューム、コンピュート(コンピュート・インスタンス、 Infrastructure Health Metrics)、データベース、イベント、ロード・バランサー、キー 管理、ネットワーク(vNIC、FastConnect、VPN、サービス・ゲートウェイ)、通知、 オブジェクト・ストレージ、ファンクション、OS管理、ストリーミング、WAF • https://docs.cloud.oracle.com/iaas/Content/Monitoring/Concepts/monitoringoverview.htm#s upported 最新情報と各サービス・メトリックの詳細はリンク先のマニュアルを参照のこと サービス制限のデフォルト • アラーム数:50、メトリック数:無制限 • 必要に応じて引き上げ申請可能 保管期間 サポートされるサービスとサービス制限 保持期間 メトリック・データ 14日間 アラーム履歴のエントリー 90日間
  23. 27 Copyright © 2019 Oracle and/or its affiliates. アプリケーション性能とユーザー 体験を可視化し、満足度を向上

    あらゆるログを収集・可視化し、 新しい知見を抽出 ITリソース状況を横断的に集約・ 分析し、投資判断を支援 Application Performance Monitoring Log Analytics IT Analytics Infrastructure Monitoring Orchestration クラウドやオンプレミスをまたがり ITコンポーネントを監視 クラウドスケールのタスク スケジューリングと自動実行 Oracle Management Cloud の提供するサービス
  24. 28 Copyright © 2019 Oracle and/or its affiliates. Infrastructure Monitoring

    ~柔軟・包括的なインフラ監視フレームワーク 管理者 REST API 経由で アップロード 包括的な監視フレームワーク Host (OS) Oracle Database / MySQL Microsoft SQL Server Apache Tomcat Oracle WebLogic Server Docker Engine / Container Cisco Ethernet (Catalyst) Switch Etc. • オンプレミスやIaaS上のターゲット監視(エージェント経由) • クラウドサービスの監視(REST API経由) • 監視対象の拡張 • しきい値設定とアラート通知 パフォーマンス異常の 自動検知 • ベースラインを自動的に算出し 「通常」の動きを決定 • アノマリー=範囲を超えたメト リック値 事前定義済みの 監視ターゲットと監視項目 • ヘテロジニアス環境に対応 • ターゲットタイプごとに事前定義 済み監視項目を提供 エージェント 経由でアップロード APサーバ APサーバ APサーバ DBサーバ DBサーバ オンプレミス クラウド Cloud Agent Cloud Agent Cloud Agent Cloud Agent Cloud Agent Oracle Management Cloud 様々な環境に対する 共通ビュー
  25. 29 Copyright © 2019 Oracle and/or its affiliates. Log Analytics

    ~あらゆるログの収集・分析・ビジュアライズによる新たな知見・脅威を抽出 情報(ログ)の自動収集 様々な観点での迅速/容易な分析 障害分析担当 Oracle Management Cloud • GUIベースでインタラクティブにログ分析 • すべてのログを横断した検索&ビジュアル 化 • 機械学習を活用した大量ログの高速分析 • スケーラブルなビッグデータ基盤 • クラウドベースでどこからでもすぐ分析 Webサーバー APサーバー DBサーバー アクセスログ syslog アプリケーション ログ ミドルウェア各種 ログ Cloud Agent 各 種 ロ グ の 収 集 GUIによるログ分析 異常ログの抽出 (クラスタ分析) Cloud Agent Cloud Agent
  26. 30 Copyright © 2019 Oracle and/or its affiliates. Application Performance

    Monitoring ~アプリケーション・パフォーマンスをエンド・ツー・エンドで”見える化” • 実際のエンドユーザー体感性能を可視化 • すべてのページ(Ajax含)に対するパフォー マンスを分析可能 • セッションの時系列のアクセス情報を表示 • リソース使用量には表面化しないパフォー マンス上の問題を、ユーザーの観点で監 視・検出・分析 • ベースラインと傾向判断による異常値 (アノマリー)を検知・アラート通知 • 主な対応プラットフォーム • WebLogic/Tomcat/JBoss/ WebSphere / Jetty • IIS (.NET) • Node.js / Ruby on Rails サーバ処理状況の可視化 ユーザー体験の可視化 Oracle Management Cloud APM Agent <html>…</html> <script> APMスクリプ ト </script> ブラウザ・パフォーマンス データ エンドユーザー 体感性能を記録 APサーバー アプリケーションのHTMLに APMスクリプトが自動的に挿入される エンド to エンドの性能可視化 処理状況の可視化
  27. 31 Copyright © 2019 Oracle and/or its affiliates. IT Analytics

    ~俯瞰的なビジュアライゼーション 多様なビジュアライゼーションを活用し 多数の管理対象から問題のある対象を 効率よく発見 リソースがひっ迫している サーバー・VM リソースが余っている サーバー・VM ↑例:Scatter Chart(散布図)を用いたサーバーリソース全体の俯瞰 (「どのサーバーでリソースが余っているのか?」) ←例:タイル図を用いたCPUリソースの可視化 (「余剰は今だけか?今後も使用量は増えないか?」) タイル=OS(VM) タイルサイズ:CPU使用量 タイル色:CPU使用量の増減 様々な環境に対する 共通ビュー
  28. 32 Copyright © 2019 Oracle and/or its affiliates. Oracle Management

    Cloud Service価格体系 Oracle Management Cloudのパッケージング Infrastructure Monitoring クラウドやオンプレミスをまたがり ITコンポーネントを監視 アプリケーション性能とユーザー体験を 可視化し、満足度を向上 Application Performance Monitoring あらゆるログを収集・可視化し、 新しい知見を抽出 Log Analytics ITリソース状況を横断的に集約・分析し、 投資判断を支援 IT Analytics OMC Standard Edition ¥100.816 / 100エンティティ / 時間 OMC Enterprise Edition ¥201.616 / 100エンティティ / 時間 Log Analytics Edition ¥48.384 / 300GB / 時間
  29. Copyright © 2019 Oracle and/or its affiliates. 33 【2019年9月12日付け改定価格】 サービス名

    単位 契約タイプ 単価(¥) 数量 時間 日数 月数 定価 月計(¥) 定価 年計(¥) Oracle Management Cloud – Log Analytics Edition 300 Gigabytes Per Hour Monthly Flex 48.3840 1 24 31 12 36,000 432,000 Oracle Management Cloud – Standard Edition 100 Entities Per Hour Monthly Flex 100.816 1 24 31 12 75,000 900,000 Oracle Management Cloud – Enterprise Edition 100 Entities Per Hour Monthly Flex 201.616 1 24 31 12 150,000 1,800,000 • Oracle Management Cloud Standard Edition には Application Performance Monitoring・Infrastructure Monitoring が含まれます • Oracle Management Cloud Enterprise Edition には Application Performance Monitoring・Infrastructure Monitoring・Orchestration・IT Analytics が含まれます • Oracle Management Cloud – Log Analytics Edition には Log Analytics が含まれます Oracle Management Cloud サービス価格一覧 ※月計・年計額は端数を丸めているため参考金額です。
  30. 34 Copyright © 2019 Oracle and/or its affiliates. Oracle Management

    Cloud Service価格体系 ~Oracle Management Cloud Service - Standard Edition/Enterprise Edition OS Application Server 1JVM/ 1Appドメイン 1JVM/ 1Appドメイン 1JVM/ 1Appドメイン OS Database 1JVM or 1Appドメイン ➡ 15エンティティ換算 Database 1Processor ➡ 2エンティティ換算 1OS ➡ 1エンティティ換算 エ ン テ ィ テ ィ 数 1Application Server ➡ 1エンティティ換算 【エンティティ換算指標】 NW機器 1機器(スイッチやLB) ➡ 1エンティティ換算 IM/IT A IM/IT A IM/IT A IM/IT A 【課金の考え方】 ・課金対象:エンティティ数 -エンティティとは、OMCの管理対象となるオブジェクト (サーバー、データベース、JVMなど) -オブジェクト種類により、エンティティ数の換算方法が異なる ※詳細は下記参照 ・購入単位:100エンティティ単位の購入 APM
  31. 35 Copyright © 2019 Oracle and/or its affiliates. Oracle Management

    Cloud Service価格体系 ~Oracle Management Cloud Service - Log Analytics Edition 【課金の考え方】 ・課金対象:管理ログサイズ ・購入単位:300GB単位の購入 OS Application Server 1JVM 1JVM 1JVM OS Database ・Applicationログ ・Databaseログ ・OSログ など ※収集するログを選択可能 ※適宜収集したログのパージ可能 管理ログサイズ
  32. 36Copyright © 2020 Oracle and/or its affiliates. Oracle Management Cloud

    • オンプレミスや他クラウドサービスとの統合 的なリソース監視 • インフラ、データベースに加えてアプリケー ション監視(APM)、ログ分析、オーケストレー ション、構成管理などの高度な運用管理機能 • 自動化機能 (ベースラインなど)が活用できる OCI モニタリング・サービス • OCIサービスに特化したリソース監視 - マネージドサービスの監視 - 事前定義済みメトリック - インスタンスへのエージェントが組込み済 (Oracle Images) • OCI 通知、オブジェクト・ストレージなどの 各サービスとの連携 (将来はEventsやStreamsサービス経由で多種多 様なサービスと連携) • 使いこなすにはある程度の設定(MQL、アラー ムなど)が必要 • 低コスト OCI モニタリングサービス vs Oracle Management Cloud
  33. 38 Copyright © 2020 Oracle and/or its affiliates. OCI Monitoring

    (将来像) OCI Services Compute, Networking, Block Storage, … RESOURCES Audit Logs 4 Metrics 2 Cloud Events 1 Logs 3 DATA-TYPES TOOLS: COLLECT /MONITOR /ANALYZE Audit Monitoring Metrics Logging Events Search Streaming Service Streaming Customer Apps SaaS, Marketplace Apps, DBaaS, … TOOLS: ACT /MOVE /STORE AutoScaling Notifications Alarms Functions Streaming Object Storage Cloud Gurard OCI APIs
  34. 39 Copyright © 2020 Oracle and/or its affiliates. OCI 監査サービス

    (OCI Auditing) Auditing OCIの全てのアクティビティログを記録するサービス • コンソール、CLI、SDKを含む すべてのAPIコール を自動的に記録 • 一部の例外を除く全サービスが対応 - オブジェクト・ストレージのオブジェクト関連操作のみが監査記録対象外(2020年1月現在) • コンソール、APIから閲覧・検索可能 • テナンシー単位で監査保持期間(90日〜365日)を設定 • SR申請によりオブジェクト・ストレージに一括エクスポート設定可能 • 利用料は無料 2019年10月8日以降、記録スキーマが変更(Audit V2) • より詳細な情報が記録 • 業界標準フォーマット(CNCFのCloudEvents形式)に対応 • V1スキーマも引き続きサポート(APIからのアクセスのみ)
  35. 40 Copyright © 2020 Oracle and/or its affiliates. 状態変更情報の記録 •

    変更前の値と変更後の値をそれぞれ記録 - “stateChange”: { “previous”: { “Instance”: { “compartmentId”: “ocid1.compartment.oc1..aaaaaaaax2brdepqmzkurnwpjh5pz7diffwtl2nw4kfycz7vcesomi6” } }, "current": { "Instance": { "compartmentId": "ocid1.compartment.oc1..aaaaaaaadb3r2mgpaiwvrkcxnpzxn7v5ngfafwlrh5w6cs66jv3nm4s" } } 長時間実行される非同期APIイベントの記録 • 非同期API (例 : LaunchInstance) の開始(.Begin)と終了(.End)のイベントを記録 OCI Audit V2 (2019/10/8~)
  36. 41 Copyright © 2020 Oracle and/or its affiliates. 詳細なエラーメッセージ(トラブルシュート目的) -

    "message": "The following tag namespaces / keys are not authorized or not found: TagNamespace Finance does not exists.¥n" 新スキーマ (Audit V2スキーマ) • ペイロード内は、CNCFCloudEvents の標準フォーマットに準拠 • https://docs.cloud.oracle.com/iaas/Content/Audit/Reference/logeventreference.htm ユーザーの認証タイプ(OCIネイティブユーザー / Federated User)の記録 OCI Audit V2 (2019/10/8~) 続き
  37. 42 Copyright © 2020 Oracle and/or its affiliates. OCI 監査サービス

    使用上の注意点 Auditing 監査ログの収集には少し時間がかかる • マニュアルの表記は最大15分 (実際はもう少し短そう) • OCI Audit V2 対応で短縮 1分程度? (ただし現時点では全てのサービスがV2対応ではない) まだ、Audit V2にネイティブ対応していないサービスもある • 現在のV2ネイティブ対応サービス - Compute, Block Volumes, Object Storage, Key Management, NAT Gateway, Service Gateway, Streaming, Notifications, Resource Manager など • V2非対応サービスもフォーマットはV2で出力されるが、データがない箇所は欠損 • 徐々に対応サービスが増える予定 一括エクスポート機能は、現時点ではAudit V1スキーマのみ
  38. 43 Copyright © 2020 Oracle and/or its affiliates. VCN内の仮想NICに流れる通信トラフィックを記録するサービス •

    時間、パケットサイズ、送信元アドレス、送信先アドレスなどを記録 • 設定したオブジェクト・ストレージに出力 • 利用シーン - 通信のトラブルシューティング - ネットワークの監査 - 不審なトラフィックの検出 [Limited Available] OCI VCNフローログ (OCI VCN Flow Logs)
  39. 44 Copyright © 2020 Oracle and/or its affiliates. フォーマットとサンプル (一般リリース時には変更になる可能性があります)

    [Limited Available] OCI VCNフローログ (OCI VCN Flow Logs) Field Name Field Type Notes version int Version of the schema vnicId string OCID of VNIC vnicCompartmentId string OCID of VNIC’s compartment action enum Possible values: ACCEPT, REJECT protocol short Network Protocol number sourceAddress string IP4 address in octet notation sourcePort short Port number destinationAddress string IP4 address in octet notation destinationPort short Port number packets long Number of packets bytes long Number of bytes startTime long Time in seconds since UNIX epoch denoting the start of the flow logs aggregation window endTime long Time in seconds since UNIX epoch denoting the end of the flow logs aggregation window
  40. 45 Copyright © 2020 Oracle and/or its affiliates. OCIリソースや、ユーザーアプリケーション、ホスト等から出力されたログを一元的に収集し、管理する サービス

    • データコレクター として fluentd のエージェントを利用可能 • 検索、フィルタリング、パターンマッチングによる分析をサポート • ログに対応する処理発動を定義できるルールエンジンを内蔵 • OCI ストリーミング や オブジェクト・ストレージなどのOCIサービスにログをパブリッシュ LA期間中は一部のOCIサービスがログ収集対象 • Object Storage, Events Service, Functions, VCN Flow Logs • 一般公開(Generally Available)までには対応サービスが追加予定 LAサービスのリクエストフォーム • http://bit.ly/2kAkGmM [Limited Available] OCI ロギング (OCI Logging)
  41. 46 Copyright © 2020 Oracle and/or its affiliates. [Limited Available]

    OCI ロギングの全体像(GA時点の将来像) OCIサービスログ OCI監査ログ アプリケーショ ンログ OCサービス OCI ロギング・サービス Log processing and rules Log search and analysis OCI Stream Oracle Functions オブジェクト ・ストレージ ユーザー リソース セキュリティ ログ
  42. [Limited Available] OCI ロギング - ログの収集 • 単一の仕組みによるログの収集 - OCI監査ログ

    - OCIサービスログ * - ユーザーリソースのカスタムログ • Fluentdのエージェントや公開プラグインを活 用したログ収集 • メタデータ、タグ * の付与 • カスタムのパース処理の組み込み • OCI IAMの認可によるコントロール * • ロググループ機能によるアクセス制御 * * 印は Limited Available機能でもサポート OCIサービスログ OCI監査ログ アプリケーショ ンログ OCサービス ユーザー リソース セキュリティ ログ Copyright © 2020 Oracle and/or its affiliates. 47
  43. [Limited Available] OCI ロギング – 検索と解析 . OCI ロギング・サービス ルールベースの処理

    検索・解析 • SQLライクな検索言語 * • 複数ログ、複数ソース、複数リージョンに跨 る横断検索 * • 拡張関数のサポート - 重複排除, フィルター, 参照(Lookup), スカラー関 数, 平均/Min/Max/合計など • 高度な検索機能のサポート - 検索条件の保存 - 他ユーザーとのシェア - 遅延実行、定期実行、時間範囲指定による複数 実行 - 閾値設定によるアラート、アクションの実行 * 印は Limited Availableでもサポート Copyright © 2020 Oracle and/or its affiliates. 48
  44. 他のOCIサービスとの連携 • IF-This-Then形式で直感的に定義 • OCI通知サービス(OCI Notification Service)経由 での外部通知 - Email

    / JIRA / PagerDuty / Webhook • メトリックをOCIモニタリングサービス(OCI Monitoring Service)に連携し、ダッシュボード やアラーム発動 • ログをオブジェクト・ストレージに書出し * • OCIストリームに書き出し - Stream経由での他サービス(Splunkなど)への連携 * 印は Limited Availableでもサポート [Limited Available] OCI ロギング – アクション . Write to Stream Invoke Oracle Function View in Dashboard Integrate with OCI Monitoring & more! Archive to Object Storage Copyright © 2020 Oracle and/or its affiliates. 50
  45. 51 Copyright © 2020 Oracle and/or its affiliates. サービスの自動連携を行うイベント・プラットフォーム •

    OCIの様々なサービスの変化に基づく事前定義済イベントからパブリッシュ - OCI監査、OCIロギングサービス*と連携し、全てのCRUD処理とワークリクエストがイベントを生成 • OCIの他サービスへの連携 - OCIの通知(Noticfications)、ファンクション(Functions)、ストリーム(Streams) サービス - Oracle Functionsと連携してイベント・ドリブン処理を行うサーバレス・プラットフォームを構築できる • Cloud Native Computing Foundation (CNCF) の CloudEvents 標準に準拠 - CloudEventsに準拠する他サービスとのイベント連携 (Azure Event Gridなど) • 無償で利用可 OCIイベント・サービス (OCI Events) Events Cloud Native *OCIロギングサービスのGA時に連携が予定されています
  46. 52 Copyright © 2020 Oracle and/or its affiliates. サービスのGA(2019年7月)以降、イベントを発行できる サービスや種類が順次追加

    • 現時点の対応サービス(2020/1時点) - Analytics Cloud, Block Volume, Compute, Database, File Storage, Functions, IAM, Integration, Networking, Notifications, Object Storage, Resource Manage, DHCP options, DRGs, DRG attachments, Internet gateways, LPG, NSG, Public IP, Route table, Security list, Subnet, VCN, VNIC • 対応サービス一覧と詳細 - https://docs.cloud.oracle.com/iaas/Content/Events/Reference/eve ntsproducers.htm 利用例 • データベースのバックアップが完了したらイベントを実行 • インスタンスプールの自動スケールでスケールした場合にイベン トを実行 • NAT Gatewayが作成されたらイベントを実行 • ブロックボリュームのKMSのキーがアップデートされたらイベン トを実行 イベント対応のサービスの拡充 Storage Events Notifications Streaming Database Functions Compute Network
  47. 54 軽量、構造化されたアクション可能なメッセージ リソースの状態変更によりパブリッシュされる 単なる「ログ」とは異なり、コンテキスト(状況)と構造を伴い、アクション可能な単位で発行される イベントの例 • ユーザーによるCRUD処理 - “バケットの更新”, “バケットの削除"

    • リソースのライフサイクル状態の変更 - “インスタンス停止”, “バックアップの開始" • システム・イベント - “インスタンスの再起動 – ハードウェア障害” イベントの中身 • イベントの発生源 • タイムスタンプT • イベント・タイプ (例 バックアップの官僚) • サービス毎のペイロード (状態の変更を説明するもの、タグなど) アーキテクチャ - イベント Copyright © 2020 Oracle and/or its affiliates.
  48. 55 OCIイベント・サービスのアーキテクチャ – イベントの中身 CNCF CloudEvents フォーマットに準拠 { “eventType”: “string”,

    #例: ADW.instance.backup.complete "eventTypeVersion": "string", "cloudEventsVersion": "string", "source": "URI/string", #例: /service/dbaas/resourceType/ADW/ "eventID": "string", “eventTime”: “timestamp”, #イベントの発生時刻 "contentType": "string", #application/json "extensions": { “compartmentId”: “string” #コンパートメントIDを格納するOCI特有の拡張フィールド }, “data”: “JSON object” #サービス毎の内部ペイロード } Copyright © 2020 Oracle and/or its affiliates.
  49. 56 OCIイベント・サービスのアーキテクチャ – ルール • ユーザーは「ルール」を利用してイベントを制御 • ルールではモニターするイベント・タイプとイベント発生時に起動するアクションを設定できる - 監視するリソースのINSPECT権限が必要

    ルールの設定内容 • 名前とコンパートメント • トリガー条件 – 処理対象のイベントタイプおよびその他のフィルター条件 - 例 : "Event Type = Delete bucket" and "Tags = Prod_Dont_Delete" • アクション – 条件に合致する場合に実行される自動化アクション、複数設定可能 - 例 : “管理者に通知” and “Functionsのバックアップスクリプトを起動” Copyright © 2020 Oracle and/or its affiliates.
  50. 58 OCIイベント・サービス 保証 • イベントが取り込まれると、ルールに対して少なくとも1回は評価されることが保証 • ルールが一致した場合、すべてのアクションに対して少なくとも1回の配信試行が保証 • イベントの順次処理や順次配信は保証されない •

    アクションターゲットが応答しない場合、サービスは最大5時間、または再試行不可能なエラーが発 生するまで配信を再試行する それ以外の場合、障害メトリックが発行され、それ以上の再試行は行われない
  51. 59 Copyright © 2020 Oracle and/or its affiliates. 蔓延する漏洩と攻撃 Cloud

    Guardは常に監視しAudit/Data Safe/OS Management/Logging/Network Flow Logs Servicesからデータを収集 Cloud Guardはデータを分析し脅威や設定ミスを検出。そしてアラートをあ げ、さらに良いことには、人の介入なしに脅威を排除 Cloud Guard (開発中) 提供予定
  52. Usage / Cost / Budget / Service Limit / Compartment

    Quota コストを最適化する
  53. 61 Copyright © 2020 Oracle and/or its affiliates. 割当て制限 •

    テナンシーやコンパートメントごとにリソース制限 (Quota) を割当てる機能 予算 • 予算を割り当てて、実績値や予測値をもとにアラートを通信する機能 コスト分析 • 現在の課金状況が閲覧できる管理者向けの機能 使用状況レポート • リソース毎に1時間単位のOCIの使用量に関する詳細レポート コスト最適化に役立つOCIの標準ツール
  54. 62 Copyright © 2020 Oracle and/or its affiliates. テナンシーに対するサー ビス制限

    (Service Limit) と、コンパートメントへ のリソース割当て (Compartment Quota)の状 況を閲覧できる画面 • リソース別に制限、現 在の使用量、作成でき るリソース量が表示 • テナンシー全体または コンパートメント単位 で閲覧 制限、割当ておよび使用状況
  55. 63 Copyright © 2020 Oracle and/or its affiliates. サービス制限引き上げリクエスト 「制限、割当ておよび使用状況」画

    面より、サービス制限引き上げの申 請が可能 引き続きMyOracle Supportからサー ビスリクエストでも申請可能
  56. 64 Copyright © 2020 Oracle and/or its affiliates. コンパートメントごとにリソース制限 (Quota)

    を割 当てる機能 • サービス制限 (Service Limit) との違い - サービス制限: Oracleが設定, テナンシー単位 - 割当て制限 : ユーザーが設定, コンパートメント 単位 • クォータ・ステートメントを書いて設定 • 割当て制限はルートコンパートメント内に配置 されるため、テナンシー全体の管理者が設定す る必要がある コンパートメントの割当て制限 (Compartment Quota)
  57. 65 • set - コンパートメントに作成できるリソースの最大数を設定 • unset -クォータをデフォルトのサービス制限にリセット • zero

    – コンパートメントに作成できるリソース数をゼロに設定 クォータ・ステートメントの書き方 Copyright © 2020 Oracle and/or its affiliates.
  58. 66 コンパートメントAのVM.Standard2.1のインスタンスを2個に制限する例 : • set compute quota vm-standard2-1-count to 2

    in compartment A コンパートメントAでは東京リージョンに仮想マシンインスタンスが5個だけ作れるように制限する例 (複数行を書いた場合は、上から順番に評価) • zero compute quotas in compartment A set compute quota /*vm*/ to 5 in compartment A where request.reqion=ap-tokyo-1 コンパートメントAは仮想マシンインスタンスしか作れないが、コンパートメントBは全てのシェイプの インスタンスが作ることができる例 • zero compute quotas in tenancy set compute quota /*vm*/ to 5 in compartment A unset compute quota in compartment B クォータ・ステートメントの例 Copyright © 2020 Oracle and/or its affiliates.
  59. 67 数で制限を割当てた場合、ネストした下位コンパートメントを含む対象コンパートメントツリー合計で その数が有効になる • つまり、コンパートメント毎に数を指定したい場合、上位コンパートメント(下記の例ではusers)への 一括設定は不可で、末端のコンパートメント(usersA、usersB)全てに割当て制限をする必要がある - set compute quota

    vm-standard2-1-count to 10 in compartment users:user-A set compute quota vm-standard2-1-count to 10 in compartment users:user-B ステートメントは割当て制限あたり10行まで書け、上から順に関連性を持って評価されるが、関連性を 持って評価されるのは単一の割当て制限に閉じる • つまり、一度zeroを指定して全部のリソースを制限した上で、下の行でsetやunsetで制限を緩和する 場合は、1つの割当て制限に書き切る必要がある • 別の割当て制限とは関連を持って評価されず、一番制限の厳しい割当て制限が適用される(AND条件) • つまり、割当て制限Aでzero、割当て制限Bでsetを書いた場合は、割当ては0になる コンパートメントの割当て制限 使用上の注意 Copyright © 2020 Oracle and/or its affiliates.
  60. 68 コスト分析 課金状況が閲覧できる管理者画面 • SKU(課金コンポーネント)単位の 単価、使用量、金額 • OCIネイティブ以外のPaaSサービ スの課金も表示 •

    日付範囲、コンパートメント、 コスト追跡タグでの絞り込み • 注意点 - タイムゾーンがUTC固定 - 収集に1〜2時間程度かかる - 確定請求額とは集計誤差あり - テナンシー単位の権限が必要 (自分が権限を持つコンパートメ ントのデータのみを閲覧、とい うのはできない) Copyright © 2020 Oracle and/or its affiliates.
  61. 69 Copyright © 2020 Oracle and/or its affiliates. 月間あたりの予算を設定可能 •

    予算設定単位 - テナンシー全体 - コンパートメント - コスト・トラッキング・タグ 予算オーバーの場合のアラート通知 • 実績値または予測値で計測 • 閾値を額 or %で設定 • 超過した場合メールで通知 予算 (Budget) と 予算アラート (Budget Alert)
  62. 予算アラート サンプル Copyright © 2020 Oracle and/or its affiliates. 70

    アラートメール 予算アラート・ルール ・しきい値メトリック: 実績 / 予測 ・しきい値タイプ: 予算の比率 / 絶対金額
  63. 71 使用状況レポート OCIの使用量に関する詳細レポート (現時点では課金額は出力されない) • リソース毎に1時間単位で使用した量と単位が1行ずつ出力されるCSVファイル • メタデータ、タグの情報入り • 日次で自動生成され、Oracleが所有するオブジェクト・ストレージのバケットに出力される

    • ネイティブOCI出ないPaaSサービスは含まれない • コンソール / APIからダウンロード可能 • 保管期間 = 1年 • 利用目的 - 請求書との照合 - カスタム・レポート - リソースの棚卸 • 利用開始にあたっては、管理者によるレポートへのアクセス許可のためのポリシー設定が必要(以下 を参照) - https://docs.oracle.com/cd/E97706_01/Content/Billing/Tasks/accessingusagereports.htm Copyright © 2020 Oracle and/or its affiliates.
  64. 73 Copyright © 2020 Oracle and/or its affiliates. コスト・トラッキング・タグ (Cost-tracking

    Tags) リソースの使用量(Usage)やコスト(Cost)を積算し、追 跡することができる特殊なタグ • コンパートメントとは無関係にタグ付け可能 • テナンシーで10タグまで定義できる • タグ・デフォルト機能(Tag Default)と組み合わせ ると強力なコスト管理のツールになる • コスト分析、予算、使用状況レポートなどの機能 で利用可能
  65. 74 Copyright © 2020 Oracle and/or its affiliates. リソース作成時に、コンパートメント内の全てのリソー スに自動的に適用されるタグを指定できる機能

    • 複数コンパートメントに同じタグを強制的に付与し たい場合などに有効 • ネストされた下位コンパートメントにも適用される • デフォルト値は空白にして、リソース作成時にユー ザーに入力(または値リストから選択)させることもで きる • あくまで「リソース作事にデフォルトで付与される タグ」なので、 - 適切な権限があれば付与後に値を変更できる (変更させたくない場合は権限設定に注意) - タグ定義やデフォルト値を後から変更しても付与済みの タグは変更されない • 注意 - タグ定義を廃止した場合、タグ・デフォルトが残ってい ると、タグが適用できないためにコンパートメントにリ ソースが作成できなくなる タグ・デフォルト (Tag Default) システムA comp’t システムB comp’t システムC comp’t システムD comp’t ルート コンパートメント 部門X 部門X 部門Y 部門Y
  66. 75 Copyright © 2020 Oracle and/or its affiliates. • December

    17, 2019以降に作成されたテナンシーでは、ルートコンパートメントに2つのタグデフォル トが自動的に追加されている。 • CreatedBy (Cost-tracking tag) : リソースを作成したプリンシパル名 • CreatedOn:リソースが作成された日付 ルート・コンパートメントへのタグデフォルトの自動追加 2019/12/18
  67. 76 コスト最適化のために • コンパートメントをコスト/予算管理の為に活用する - コストを管理したい単位(部門など)毎にコンパートメントを切る - コンパートメントとは別の観点でコストを把握したい場合は、コスト追跡タグを使う • コンパートメントの割当て制限を使って高価なリソースをブロックする

    - Zero compute quotas /*bm*/ in tenancy - Zero compute quotas /*-24*/ in tenancy • 夜間や週末などに止められるインスタンスは停止する - 参考 : https://github.com/mmarukaw/oci-nigthly-stop タグのついていないインスタンスを一括停止するPythonス クリプト • 予算を作成し、予測額が100%の場合の予算アラートを作成する - Monthly Flexの場合はその額をテナンシーの予算に設定する ※ただし、現在は予算の期間は歴月に固定、Monthly Flex期間とは合わせられない • 全てのリソースのモニタリングを有効化し、リソースの利用率をチェックする - 不要に大きいサイズのシェイプを使用しているケースや、放置されたサービスがわかる - 16コアのインスタンスは月8万円、500GBのブロック・ボリュームは月2000円 Copyright © 2020 Oracle and/or its affiliates.
  68. Oracle Cloud Infrastructure リージョン - Phoenix リージョン - Ashburn テナント

    (Tenancy) コンパートメントA InstanceA InstanceB 78 OCIは、リージョン、コンパートメントという強力 な壁があるため、セキュリティや管理権限の分散 (移譲)はしやすい反面、リソースの一覧性が少し悪 い • コンソールやAPI/CLIは必ずリージョンを指定し て操作を行う(APIエンドポイントもリージョン ごとに異なる) • コンパートメントをリスト・スコープで切り替 える必要がある 権限の少ないユーザーには便利だが、リージョン やコンパートメントが増えると管理者は大変 OCIのちょっと不便なところ – リソースの一覧性が悪い コンパートメントB InstanceC InstanceD Copyright © 2020 Oracle and/or its affiliates.
  69. 79 Copyright © 2020 Oracle and/or its affiliates. OCI検索サービス (OCI

    Search) アクセス権のあるOCIリソースを横断的に検索する機能 • キーワード(フリーテキスト)や、詳細条件を指定しての検索 • 複数のコンパートメントや複数のリソース・タイプのリソースを一度にリスト可能 • コンソール、API、CLIをサポート フリーテキスト検索 • コンソール上部のナビゲーションバーにある検 索ボックスからキーワード検索 クエリー検索(拡張検索) • 検索クエリーを使い様々な条件指定とともに検 索
  70. 80 Copyright © 2020 Oracle and/or its affiliates. コンパートメント・エクスプローラ コンパートメントの中のリソースを一覧する画面

    • 全てのリージョンのリソースが閲覧可能 (ただしリンクを使ったドリルダウンは選択中の リージョンのリソースのみ可能) • 「SHOW RESOURCES IN SUBCOMPARTMENTS」 チェックボックスをつけると、ネストされたサ ブコンパートメントを含む再帰検索が可能 • リソース・タイプによるフィルタ可能 • 内部的にはOCI検索(OCI Search)を使用するた め、サポートするリソースの種類はOCI検索と 同じ - サポートするリソース・タイプ https://docs.cloud.oracle.com/iaas/Content/General/C oncepts/compartmentexplorer.htm#support
  71. 81 Copyright © 2020 Oracle and/or its affiliates. タイムラグが少しある •

    バックグラウンドで実行されるインデックス作成には少し時間がかかる • API利用時に、作成したリソースをすぐ検索して次に使用する、という用途には使えない (作成時のAPIコールの戻り値や、ワークリクエストのIDを利用する) (OCI検索/コンパートメント・エクスプローラ共に)一部検索されないリソース・タイプがある • 対象リソースは順次追加されているので最新情報を確認 • 検索をサポートするリソース https://docs.cloud.oracle.com/iaas/Content/Search/Concepts/queryoverview.htm#resourcetypes OCI検索(OCISearch)機能では、リージョン横断検索はできない • 一つ一つのリージョン毎に検索する必要がある • コンパートメント・エクスプローラは、リージョン横断の閲覧ができる OCI検索 / コンパートメント・エクスプローラ 利用上の注意
  72. 82 Copyright © 2020 Oracle and/or its affiliates. https://github.com/oracle/oci-python-sdk/tree/master/examples/showoci showoci

    showoci – OCI Python SDK の examples の中にある、 リソース検索に使える強力なスクリプト • ほぼ全てのリソースをカバー (OCI Searchでサポートしないリソースも検索可 能) • コンパートメント単位や、ネストされたコン パートメントを含む再帰検索可能 • リソースの • CSV、JSON、標準出力の形式で出力 • どうしても消えないコンパートメントがある場 合などに便利