API呼出しの記録(以下、AWS操作ログ)を取得し、蓄積とログ監視する方法を説明します。これは、AWS操作ログをローカルサーバに取得し加工し、Hinemosによって監視することで実現します。AWS操作ログをローカルサーバに取得し加工するスクリプト(クラウド操作ログ取得スクリプト)は、本技術情報からダウンロードできます。この技術情報は、AWS上でシステムを構築しようとしている、または既に構築済みのユーザを対象としています。課題オンプレミス環境や仮想化環境でのシステム構築においては、物理的に隔離された環境(社内設備、データセンタ等)を利用していました。パブリッククラウドへのシステムの導入により、インフラ(仮想サーバやネットワーク)の操作など様々なことがWebブラウザ・API経由で操作できるようになり、これが適切な運用にて行われているかを確認する必要があります(セキュリティの観点)。運用開始後のシステムにおいて、次のようなケースでアラートを上げたいという要望があります。権限のないアクセスまたリソースの変更が簡易に出来ることで、運用しているシステムへの影響が出た場合の障害切り分けが困難になります。そのため、リソースの変更とシステムの状態を紐づけて管理する必要性が出てきています(障害解析の観点)。Hinemosにより予期せぬクラウドの環境変更に対してユーザにアラートを上げたり、AWS操作ログを蓄積管理することが出来ます。メリットこの技術情報を用いることでユーザが得られるメリットについて説明します。簡単なセットアップ簡単なセットアップで、パブリッククラウドの操作ログの管理が可能になります。あるHinemosを利用することで、様々な手段でのユーザへの通知、異常検知時のジョブ起動による運用自動化、業務カレンダによるアラートの抑制まで、様々な機能と連携することができます前提条件この技術情報を用いる上で前提条件を説明します。・AWSアカウント読者のAWSアカウントを利用します。CloudTrailの機能の有効化が必要です。CloudTrailにアクセスするため、アクセスキー、シークレットキーが必要になります。対象環境この技術情報を適用する環境について説明します。v4.1の環境を想定します。・インターネットに接続可能なLinuxサーバAWSのエンドポイントに接続可能なインターネット接続環境が必要です。パブリッククラウド環境上の何れも問いません。CLI、pythonを使用します。セットアップ方法はクラウド操作ログ取得スクリプトのREADMEを参照してください。・Hinemosのインストール不要クラウド操作ログ取得スクリプトを動作させるだけの場合には、Hinemosのインストールは不要です。本技術情報の動作環境Hinemosを使ってAWS操作ログの監視や蓄積をするため、クラウド操作ログ取得スクリプトの動作するサーバにHinemosエージェントのインストールが必要になります。スモールセットの環境は以下の通りです。技術情報を実現する方法について説明します。Callを記録しログに保存するサービスです。CloudTrailを利用します。記録される情報には、以下のようなものが含まれます。Callのイベントをログファイル(AWS操作ログ)としてS3に出力します。出力されるAWS操作ログは、JSON形式になります。ログのバージョン、API操作の対象サービスによって、出力されるログの項目は変わる柔軟なフォーマットです。CloudTrailにて出力されるイベントの詳細は、以下のリンクを参照して下さい。CloudTrailのAWS操作ログに対して、ヘッダ項目を抽出し、Hinemos及び他のプログラムから操作が簡易にできるように1イベント1行に変換してローカルのファイルへ出力するプログラムです。複数行で表示されるJSON形式のAWS操作ログを1イベント1行に変換します。ヘッダ項目を抽出1イベント1行に変換する際に、AWS操作ログとして重要なイベント出力時刻(eventTime)、対象リージョン(awsRegion)、操作対象のAPI名(eventName)等を抽出して、毎回既定の順で行の左側から表示されるようにします。本スクリプトはLinuxのタスクスケジューラのcronで定期的に実行します。本スクリプトは次のファイルを出力します。CLIにて指定するプロファイル名、<region>はAWSのリージョンのIDになります。log>クラウド操作ログ取得スクリプトは以下のリンクからダウンロードしてください。ダウンロードV1.0.0(2014/12/25)V1.0.1(2016/6/30)セットアップ方法は、ダウンロードファイルの中に含まれるREADME.txtを参照してください。2.Hinemosログファイル監視設定Hinemosログファイル監視機能を使用して、cloudtrail_<region>.logを監視します。ログファイル監視の「チェック設定」の項目では、以下の内容を指定します。<profile>はユーザの環境によって異なるので適宜変更してください。[ログファイル監視のチェック設定]ディレクトリ:/var/log/aws/cloudtrail/<profile>ファイル名(正規表現):cloudtrail_.*.logログファイル監視で設定するパターンマッチの例は次の「利用例/ユースケース」で紹介します。利用例/ユースケース技術情報を利用するシーンの例、ユースケースを説明します。"RunInstances",クラウドリソースの生成と削除は請求料金に大きく関わります。次のようなパターンマッチの設定が考えられます。アクセスコントロールの変更は運用後のシステムでは非常に大きな事項です。次のようなパターンマッチの設定が考えられます。・CreateNetworkAclEntroy*による検索また、特に注意すべき事項を監視するという手段があります。認証の失敗によるエラーの抽出もセキュリティの観点で重要です。次のようなパターンマッチの設定が考えられます。・AccessDenied*による検索アラートを上げたいものを正規表現で指定し、それ以外は「.*」で指定する事で全てのログをHinemosのイベントとして蓄積することもできます。それ以外にも、クラウド操作ログ取得スクリプトはローカルのディレクトリにCloudTrailの最新のAWS操作ログをダウンロードしてくれるので、このファイルをS3とは別に長期保管ということも可能です。弊社は一切の責任を負いません。本ドキュメントの内容を実施すると、AWSにおいて料金が発生する場合があります。AWSの料金体系等を理解した上で操作を実施してください。AWSのサービスに従い記載しておりますが、AWSのサービス変更に伴い、これらの操作が変更となる可能性があります。Hinemos営業窓口までご相談ください。Corporationご相談・御見積FAQサイト内検索ワード。