Oracle Cloud Infrastructureでのオンプレミス・ログの格納および分析
Oracle Cloud Infrastructure Data Flowは、大量のログ・ファイルの処理に最適な、完全に管理されたApache Spark™サービスです。
ログ・ファイルは常に生成されます。ハードウェア、オペレーティング・システム、ネットワーク・デバイス、Webサービスおよびアプリケーションのすべてが継続的にログを生成します。このログ・データを分析すると、トラブルシューティングと診断、予測修復、侵入検出、Webアクセス・パターンなどに役立ちます。
データ・フローを使用すると、Oracle Cloud Infrastructure Object Storageにログ・データを一元的に格納できます。これにより、Apache Sparkアプリケーションを一度作成してから、オブジェクト・ストレージに届いた新しいログ・ファイルで実行することで、データを分析できます。この分析の出力は、問合せおよびレポート作成のためにAutonomous Data Warehouseにロードできます。これらはすべて、クラスタまたはソフトウェア・インストールのプロビジョニングなどのオーバーヘッドなしで実行されます。
アーキテクチャ
このアーキテクチャでは、オブジェクト・ストレージに接続し、ログ・ファイルを分析し、レポート用に結果をAutonomous Data Warehouseに保存するデータ・フローを示します。
次の図は、この参照アーキテクチャを示しています。

図architecture-analyze-logs.pngの説明
アーキテクチャには、次のコンポーネントがあります。
- リージョン
Oracle Cloud Infrastructureリージョンは、可用性ドメインと呼ばれる1つ以上のデータ・センターを含む、ローカライズされた地理的領域です。地域は他の地域から独立しており、広大な距離で(国または大陸間で)分離できます。
- 可用性ドメイン
可用性ドメインは、リージョン内のスタンドアロンの独立したデータ・センターです。各可用性ドメインの物理リソースは、フォルト・トレランスを提供する他の可用性ドメインのリソースから分離されます。可用性ドメインは、電源や冷却などのインフラストラクチャや内部可用性ドメイン・ネットワークを共有しません。したがって、ある可用性ドメインで障害が発生しても、リージョン内の他の可用性ドメインに影響する可能性はほとんどありません。
- フォルト・ドメイン
フォルト・ドメインは、可用性ドメイン内のハードウェアおよびインフラストラクチャのグループです。各アベイラビリティ・ドメインには、独立した電源とハードウェアを備えた3つのフォルト・ドメインがあります。複数のフォルト・ドメインにリソースを分散する場合、アプリケーションでは、フォルト・ドメイン内の物理サーバー障害、システム・メンテナンスおよび電源障害を許容できます。
- 仮想クラウド・ネットワーク(VCN)およびサブネット
VCNは、Oracle Cloud Infrastructureリージョンで設定するカスタマイズ可能なソフトウェア定義ネットワークです。従来のデータ・センター・ネットワークと同様に、VCNではネットワーク環境を完全に制御できます。VCNには、VCNの作成後に変更できる複数の重複しないCIDRブロックを含めることができます。VCNは、リージョンまたは可用性ドメインにスコープ指定できるサブネットにセグメント化できます。各サブネットは、VCN内の他のサブネットと重複しない連続したアドレス範囲で構成されます。サブネットのサイズは、作成後に変更できます。サブネットはパブリックまたはプライベートにできます。
- オブジェクト・ストレージ
オブジェクト・ストレージを使用すると、データベース・バックアップ、分析データ、イメージやビデオなどのリッチ・コンテンツを含む、あらゆるコンテンツ・タイプの大量の構造化データおよび非構造化データにすばやくアクセスできます。迅速、即時および頻繁にアクセスする必要があるホット・ストレージには標準ストレージを使用します。長時間保持し、ほとんどまたはほとんどアクセスしないコールド記憶域には、アーカイブ記憶域を使用します。
- Autonomous Data Warehouse
Oracle Autonomous Data Warehouseは、データ・ウェアハウスのワークロード用に最適化された自己稼働型の自己保護型自己修復データベース・サービスです。ハードウェアを構成または管理したり、ソフトウェアをインストールする必要はありません。Oracle Cloud Infrastructureは、データベースの作成と、データベースのバックアップ、パッチ適用、アップグレードおよびチューニングを処理します。
- データ・フロー
Oracle Cloud Infrastructure Data Flowは、Apache Spark™アプリケーションを実行するための完全に管理されたサービスです。これにより、開発者はアプリケーションに焦点を当て、それらを実行するための簡単なランタイム環境を提供できます。アプリケーションおよびワークフローとの統合のためのAPIサポートを備えた簡単で単純なユーザー・インタフェースを備えています。基礎となるインフラストラクチャ、クラスタ・プロビジョニングまたはソフトウェア・インストールに時間を費やす必要はありません。
推奨事項
実際の要件は、ここで説明するアーキテクチャとは異なる場合があります。開始点として次の推奨事項を使用します。
- VCN
VCNを作成する場合、VCNのサブネットにアタッチする予定のリソースの数に基づいて、必要なCIDRブロックの数と各ブロックのサイズを決定します。標準のプライベートIPアドレス空間内にあるCIDRブロックを使用します。
プライベート接続を設定する予定の他のネットワーク(Oracle Cloud Infrastructure、オンプレミス・データ・センターまたは別のクラウド・プロバイダ内)と重複しないCIDRブロックを選択します。
VCNを作成した後、CIDRブロックを変更、追加および削除できます。
サブネットを設計する際には、トラフィック・フローとセキュリティ要件を考慮してください。特定の層またはロール内のすべてのリソースを、セキュリティ境界として機能する同じサブネットにアタッチします。
- オブジェクト・ストレージ
すべてのログ・ファイルをOracle Cloud Infrastructure Object Storageに収集します。ビジネス要件に基づいて適切なバッチ・サイズを決定し、データ・フロー・アプリケーションを実行してファイルを処理します。
- データ・フロー
特別な構成は必要ありません。ただし、アプリケーションの各実行で処理されるログ・データの量に基づいて、SparkドライバおよびエグゼキュータのVMシェイプを大きくすることをお薦めします。
- Oracle Autonomous Data Warehouse
データ・ウェアハウスへのアクセスに必要なウォレットが安全な場所に格納され、認可されたユーザーのみがアクセスできることを確認します。Autonomous Data Warehouseのデプロイメントでは、これをプライベート・エンドポイントとしてVCNに作成することを検討します。
- SECURITY
Oracle Cloud Infrastructure Identity and Access Managementソリューションを使用してポリシーを適用し、ユーザー、グループおよびリソースへのアクセスを提供します。Sparkアプリケーションは、ログ・ファイルを読み取るためにバケットにアクセスする必要があります。ボールト・サービスを使用して、Autonomous Data Warehouseへのアクセスに必要なパスワードを格納します。
注意事項
- 頻度
アプリケーションを実行する頻度は、受信ログ・ファイルのボリュームと頻度によって異なります。Sparkアプリケーションは、この着信データ・バッチを処理できるように、適切なロジックで記述する必要があります。一般的なガイドラインは、各バッチの処理にかかる時間が、処理済出力を使用するダウンストリーム・サービスによってAutonomous Data Warehouseで必要とされるリフレッシュの頻度と一致する必要があることです。
- パフォーマンス
いくつかの要因がパフォーマンスに影響しますが、最も重要なのは受信ログ・ファイルのデータ分散とパーティション化です。Sparkアプリケーションは、必要に応じてOCPUおよびメモリー・リソースと並行して各パーティションに対して実行できます。Oracle Cloud Infrastructure Data Flowでは、アプリケーションの各実行に必要なリソースを完全に柔軟に管理できます。
- SECURITY
ポリシーを使用して、Oracle Cloud Infrastructureリソースにアクセスできるユーザーとその程度を制限します。Oracle Cloud Infrastructure Identity and Access Management (IAM)を使用して、データ・フローおよびデータ・フロー内の実行管理の両方について、特定のユーザーおよびユーザー・グループに権限を割り当てます。
暗号化はOracle Cloud Infrastructure Object Storageに対してデフォルトで有効になっており、無効にできません。
- コスト
Oracle Cloud Infrastructure Data Flowは使用ごとに支払うため、データ・フロー・アプリケーションの作成時ではなく実行時にのみ支払います。オブジェクト・ストア(ホット記憶域)とアーカイブ・ストア(コールド記憶域)の異なる層を使用してログを格納することをお薦めします。処理されたデータは、Autonomous Data Warehouseに格納できます。
デプロイ
このリファレンス・アーキテクチャのTerraformコードは、GitHubで入手できます。
- GitHubに移動します。
- リポジトリをローカル・コンピュータにクローニングまたはダウンロードします。
READMEドキュメントの指示に従います。