概要
当エントリーでは導入したHyperglanceの管理者画面をAWS管理者視点で淡々と眺めていき、自分へのメモも兼ねて情報として残します。
製品の導入を終えるまでの流れは以下エントリーで紹介していますので、必要に応じてご覧ください。
認証画面
ベーシックな認証画面です。
ここでのローカルUserを作成するには
以下手順に従って実施する必要があります。 具体的にHyperglanceサーバーOS内に設置されている専用のシェルスクリプトを実行します。
SAML連携
以下手順が公開されておりSSOをする際には利用出来ます。
Dashboard
Dashboardは、ログイン時に最初表示されるTOPページのようなものを兼ねています。
左ペイン Inventory
左ペインには存在するリソースへ簡易アクセス出来る項目が列挙されます。
月額コストが表示される点もいいですね。
"EC2" という括りの中に Regionとか VPC が入ってて「???」って感覚を覚えたりと不完全な項目もありますが、今後改善されていくと思われます。
Inventry からリソースを選択すると一覧が表示されます。
例えば、EBS Snapshot を押下すると以下のような保有一覧が表示されます。
その表示された一覧から更にリソース単体の行を押下すると詳細情報が表示されます。
External Links のリンクを押下すると、AWSマネジメントコンソールで対象リソースの描画画面へと遷移します。
Hyperglance画面を確認しながら何か実作業をしたくなっても直ぐにアクセス出来るので便利です。
左ペイン Alarms
リソース単位に円グラフでアラームの発生の割合を把握する事が出来ます。
こちらは後述する Security & Compliance 機能の結果と連動します。
左ペイン States
管理対象アカウントの各リソースのステータスをリソース単位に把握する事が出来ます。 ステータス表示に非対応対応しているものは、N/Aとしてグレーアウト描画されます。
EC2インスタンス等は、起動中のものは ACTIVE、停止中のものは STOPPED として描画されました。
右ペイン Rules
後述する Security & Compliance 機能で有している独自のチェックルールのサマリーが描画されます。
Search Rules and Labels
デフォルトでは何も選択されず全ての検出結果が表示されている状態となっています。
ここで例えば、「AWS Lambda」だったり「PCI-DSS」 と入力しラベル選択する事で関連するものだけにフィルタリング出来ます。
Export & Import
ルールを構成している全てのJSONファイルが ZIPで纏まってローカルにダウンロードするExport機能とローカル環境からファイルを1つ指定してアップロード&インポートが出来る機能があります。
バックアップだけでなく、GUIでのポチポチが辛い大量変更時とかに便利そうです。
Diagram
構成図としての描画する機能です。
トップ画面だと、Hyperglanceの管轄として登録したアカウント(今回は自分のAWS検証環境2つ、Azure検証環境1つ)の図が描画されます。
左ペイン SUMMARY
左ペインは、上で紹介した Dashboardの左ペインと同様のものが描画され、押下すると対象リソースが一覧として描画されます。
そして、[Show in Diagram] を押下すると対象リソースを構成図として描画出来ます。
ルールに準拠していないものは構成図でもエクスクラメーションマーク(!)で警告をつけてくれるので管理しやすそうです。
今回は、S3バケットで試しましたが、例えば1アカウント内にシステムが混在する環境でもに固有のタグが付与されるような整った環境であれば、タグから抽出 -> [Show in Diagram] で簡単にシステム全体構成図の描画が可能となります。
右ペイン のアイコン類
図の描画調整系のアイコンが列挙されています。 細かいので割愛しますが、コストや描画するリソース項目をチェックで切り替えたり、線を描画するか否かとか細かい調整ができます。
[Export]では、CSV, VSDX, PDF 形式で構成図をエクスポート出来ます。
注目すべきはVSDX (MS-Visioの編集可能な形式)に対応している点で、
MS-Visioだけでなく Draw.io といったフリーのWebツールとかで編集可能なファイルをアウトプットとして得ることが出来ます。
Advanced Search
リソースの高度な検索画面です。
左ペインの Inventory からの抽出より更に細かい指定で対象リソースをフィルタリングしたい場合に利用します。
一見抽出コマンドを作り込まないといけないような難しそうな印象を受けるかもしれませんが、GUIで動的なサジェストのイケてるガイドがあるのでこの手の製品の管理者になるようなレベルの方であればそこまで迷う機会は少なそうな印象です。 (Webアプリとして良く出来ています)
画面下に表示されているTips
Search Tips: ・To search an exact tag or attribute use key:value ・Add an asterisk to the end of the value to do a partial match. Example key:partialval* ・Compare numbers using =, <, >, <=, >=. Example "Root Volume Size" > 20 ・Compare dates using daysSince, daysUntil, hoursSince, hoursUntil. Example daysSince("Started Time") > 3 ・Search for similar tags: fuzzyHasTag("foo") = true or fuzzyMatchTag("foo") = "bar" ・Select "Metric..." from the dropdown to search based on metrics data. ・Use "Filter by Type" to restrict to certain types and speed up your search.
高度な抽出で困った時は、以下マニュアルの Syntax Guide を参照すると良いでしょう。
以下例では、簡単ではありますが管轄のEC2インスタンスで CPUメトリクスの平均が50以下のものを抽出しています。(このように事前に用意されている細かな指定をAND/OR,With/Withoutで作りこむことがで来ます)
もちろん当画面で抽出されている状態で[Show in Diagram]を押下すると対象リソースのみの構成図も描画出来ますし、Exportしてレポーティングでの利用も可能です。
検索対象リソースによってはカラムにPolicyとかも一覧に表示可能です。
Cost
Overview
管轄リソースコスト一覧が表示されます。
当機能を利用するには、クラウドアカウント側で初期設定が必要となります。
(AWSの場合はコストのレポーティング情報をS3バケットに出力するといった数分の作業です)
AWSの場合の手順
Azureの場合の手順
パートナー経由で調達してコスト関連の描画権限がないアカウントの場合は利用出来ない可能性がありますので注意が必要です。
Export Diagram
コストがどのような割合で発生しているのかの可視化がされます。
マルチクラウドで複数アカウントやら複数リージョンが散った状態であってもこちらで集約して確認出来るので必要コストか否かの判断や見直し箇所の特定で有益に使えると思います。
この薄い色のラインを選択してフィルタリングも可能です。
デザインも美しいので、こちらを Export してエクゼクティブサマリーとかに盛り込んだら 導入満足感も上がるのではないでしょうか。
Reserved Instance
リザーブドインスタンスを購入したほうが良いと思われるものをレコメンドしてくれる機能があります。
どれだけ節約できそうかの金額の目安まで丁寧に描画してくれる事が確認出来ます。
Right Sizing
過剰なスペックの EC2インスタンスのサイジングをレコメンドしてくれる機能です。 (画面は、検証環境かつ最適サイズだった為1つも描画されませんでした)
Settings にて CPU使用率の目安を指定することでダウンサイズによるコスト削減の機会を教えてくれます。
Security & Compliance
CSPM相当の機能です。
High,Medium,Low の3段階のプライオリティで評価され画面のように一覧で表示されます。
プライオリティだけでなく、対象としたいフレームワーク(AWS Well-Architected Framework , HIPAA 等)やリソース (Amazon EC2 , AWS Lambda等) を選択する事で絞って状況を確認する事が出来ます。
High Priority かつ Amazon EC2 かつ PCI DSS でフィルタリングした例
当機能は、Advanced Searchと連動しており当該ルールを選択すると、抽出フィルター条件が指定された Advanced Search画面へと遷移し、対象リソースを確認出来ます。
Automation
初回アクセス時は、以下画面のようにポップアップでSetupが要求されます。
以下手順に従い別途対応を実施する必要があります。
(こちらは別のblogエントリーで紹介予定です)
初回設定を終えてAutomation処理が走行した場合は、以下画面のように処理履歴を日付単位で確認が出来ます。
あくまで現在実行中の処理やら過去の実行状況の履歴を確認する画面となっており Automationの設定自体はAdvanced Search画面にて行う形となるので混乱しないよう気をつけたいところです。
Menu
Settings
Integration Settings
Hyperglance管轄として登録するクラウド環境を管理する画面となります。 こちらからアカウントを登録したり更新したり、読み込む対象サービスやリージョンといったものの微調整を行えます。
ここは会社のポリシー次第で難しいところでありますが、
全リージョンを取得する設定にしたら、各リージョンにはDefault VPC等のリソースもある事から無駄にカウンターが回ってしまう事になるのでAWS Organization のSCPで利用者が使えるリージョンを制約するして必要リージョンのみHyperglanceで管理するといった形が良さそうです。
API
APIが出来ます。 以下リファレンスとなり、画面下にサンプルスクリプトも数点紹介されています。
Configure Views
構成図のビューを微調整できます。
Alart Notifications
通知設定として以下指定項目が用意されています
- Amazon SNS (画面は、AWS SNSになってて間違ってますね...)
- Azure EventGrid
- Email & SMTP
- Slack (Webhook)
Slack通知イメージ
ルールやAutomationの通知がされますが、執筆時点で通知する内容やら粒度の調整とかが出来ないようです。
製品側で通知内容を絞れるよう将来、機能改善がされる可能性がありますが 執筆時点では大量に通知される事を前提に通知の設定をし、受取先でフィルタリングなり振り分けを考慮する必要があります。
Automation
処理自動化の 初期設定
を行う画面です。
AWSの場合は、処理自動化の設定手順(=GithubのReadme)に従ってTerraformで apply した際に作成されるS3バケット名を指定するだけです。
Tools
Apply Licence Key
ライセンスキーを入力する画面が描画されます。
アップグレードの際等に利用します。
Download Diagnostic Bundle
製品サポートと調査する場合等に取得を要求される sosreport的なファイルをこちらのボタンを押下するとダウンロード出来ます。
14日間程度の試用環境なので参考にならないかもですが、その期間だけでも80MiB程度のサイズのzipファイルがダウンロード出来ました。
伸張展開して中身を確認してみると、dbのdmpに加え、Logファイルが含まれています。
(DEBUGレベルで出力されておりGUIなエディタで全読み込みは厳しいサイズなので注意しましょう)
ytamu@SilverMachine Downloads % ls -lRh diagnostic_bundle_19-03-2022-10-58 total 0 drwxr-xr-x@ 3 ytamu staff 96B Mar 19 11:14 DB/ drwxr-xr-x@ 9 ytamu staff 288B Mar 19 11:14 logs/ diagnostic_bundle_19-03-2022-10-58/DB: total 96 -rw-rw-r--@ 1 ytamu staff 46K Mar 19 01:58 db-dump6526771758584734212.dmp diagnostic_bundle_19-03-2022-10-58/logs: total 1790720 -rw-rw-r--@ 1 ytamu staff 0B Mar 19 01:58 audit.log -rw-rw-r--@ 1 ytamu staff 124M Mar 19 01:58 server.log -rw-rw-r--@ 1 ytamu staff 150M Mar 19 01:58 server.log.1 -rw-rw-r--@ 1 ytamu staff 150M Mar 19 01:58 server.log.2 -rw-rw-r--@ 1 ytamu staff 150M Mar 19 01:58 server.log.3 -rw-rw-r--@ 1 ytamu staff 150M Mar 19 01:58 server.log.4 -rw-rw-r--@ 1 ytamu staff 150M Mar 19 01:58 server.log.5 ytamu@SilverMachine Downloads % ytamu@SilverMachine Downloads % head -n 5 diagnostic_bundle_19-03-2022-10-58/logs/server.log 2022-03-18 10:04:28,736 DEBUG [com.realstatus.hgs.collection.TopologyCollectorImpl] (EE-ManagedExecutorService-default-Thread-24) [Amazon - dev-tamura] Finish collecting S3 Bucket entities 2022-03-18 10:04:28,737 DEBUG [com.realstatus.hgs.collection.TopologyCollectorImpl] (EE-ManagedExecutorService-default-Thread-24) [Amazon - dev-tamura] Start collecting Route53 Policy Record entities 2022-03-18 10:04:28,737 DEBUG [com.realstatus.hgs.collection.TopologyCollectorImpl] (EE-ManagedExecutorService-default-Thread-24) [Amazon - dev-tamura] Start collecting Route53 Hosted Zone entities 2022-03-18 10:04:31,208 DEBUG [com.realstatus.hgs.collection.TopologyCollectorImpl] (EE-ManagedExecutorService-default-Thread-25) [Amazon - Local Account] Finish collecting S3 Bucket entities 2022-03-18 10:04:31,209 DEBUG [com.realstatus.hgs.collection.TopologyCollectorImpl] (EE-ManagedExecutorService-default-Thread-25) [Amazon - Local Account] Start collecting Route53 Policy Record entities ytamu@SilverMachine Downloads %
Download Logs
上で説明した Diagnostic Bundle の DBのdmpデータだけが含まれず Logsだけの zipファイルをダウンロード出来ます。
管理者としてログ調査をする際とメーカーに送付する場合で使い分ける選択肢が与えられているようです。 (サーバー側のOSコマンドで調査したい管理者の方が多数派な気もしますが)
Disable tutorial
よくある初回アクセス時に使い方をポップアップで教えてくれる親切機能が Hyperglanceでも備わっており、デフォルトで有効化されています。
不要な場合はこちらから無効化します。
Change Password
ユーザーのパスワード変更をGUI行える画面です。
初回ログイン時にはこちらから変更しましょう。
可能であれば一般管理ユーザーを作成して、adminは利用しないほうが良いでしょう。
About
よくある製品バージョン等を確認するための画面ですが
こちらで現状の利用リソース量が表示されるので そちらの用途で参照する機会のほうが多いかもしれません。
Logout
ログアウトしてベーシック認証画面へと戻ります
まとめ
Hyperglance製品画面を管理者視点で眺めながらコメントしてみました。
もし自分が、会社で契約しているクラウドアカウント全体の管理者のような立場であれば是非導入して、構成図の作成やら維持管理といった労力の割りに合わないタスクから開放(工数削減)を目指したり日常運用で積極的に活用したいと思える製品でした。
まとめに書くのもあれですが、静止画像だけで説明するのが難しい箇所も多々ありましたので オフィシャルの製品操作の紹介動画(YouTube)も是非見てみてください。
タグ情報で高度に対象をフィルタリングし、好ましい環境を目指すよう自動化に取り組み、適切に監視していく様をイメージできると思います。
改めて管理対象のクラウド環境のタグ設計やら統率の大切さを感じました。
そういった活動を始めるきっかけとしても、この手の製品を試してみるというのもいいかもしれません。