TECH PLAY

SCSKクラウドソリューション

SCSKクラウドソリューション の技術ブログ

1234

はじめに クラウドセキュリティは、多くの企業にとって必須の検討事項です。クラウドセキュリティを強化するため、CSPM(Cloud Security Posture Management)ツールの導入を検討すると、ツール選定が必要になります。ツール選定では多くの場合、自分のクラウド環境で提供されているCSPMツールを始めとして、サードパーティーのCSPMツールなどと比較・評価を行いますが、比較・評価にはそれなりの時間が必要となります。 そこで本記事では、AWS社のCSPMサービスであるSecurity HubとCPSMの代表的なサービスであるPalo Alto Networks社のPrisma Cloudを比較・評価して両ツールの違いを解説し、Prisma Cloudを利用することのメリットをお伝えいたします。   Prisma Cloudとは Prisma CloudというCSPMツールを初めて聞いた方向けに、まずはPrisma Cloudを説明いたします。 Prisma Cloud®は、クラウド ネイティブ アプリケーション保護プラットフォーム(CNAPP)であり、アプリケーション、データ、インフラストラクチャに対して業界で最も広範なセキュリティとコンプライアンスを提供し、コードからクラウド™まで、テクノロジー スタック全体のセキュリティ保護を支援します。 Prisma CloudのSaaSベースのソリューションは、ハイブリッドおよびマルチクラウド環境において、データ流出、インターネットに公開されているAPI、脆弱なCI/CDパイプラインが発生しやすい攻撃経路を検出するのに役立ちます。Prisma CloudのAIを活用したソリューションを活用して、問題をプロアクティブに予測し、ますます巧妙化する脅威や攻撃者に先手を打つことができます。 原文:Prisma Cloud® is a Cloud Native Application Protection Platform (CNAPP), providing you with the industry’s broadest security and compliance coverage for applications, data, and infrastructure, helping you secure your entire technology stack, from Code to Cloud™. Prisma Cloud’s SaaS based solution helps you detect attack paths prone to data exfiltration, internet exposed APIs, and vulnerable CI/CD pipelines across hybrid and multi-cloud environments. Leverage Prisma Cloud’s AI powered solution to proactively anticipate issues and stay ahead of increasingly sophisticated threats and attackers. 引用: Prisma Cloudへようこそ Prisma Cloudはアプリ、データ、インフラに対して、幅広くセキュリティを提供しているCSPMツールとなります。また、ハイブリッドやマルチクラウド環境において発生しやすい攻撃経路を検出できることや、AIを活用して問題を予測することができます。 Prisma Cloudでは以下3つの機能が提供されています。 クラウドセキュリティ :認証や権限の問題、設定ミス、未解決の脆弱性に起因する攻撃からクラウド資産を保護するのに役立ちます。 アプリケーションセキュリティ :アプリケーション依存関係の視覚化を提供し、IaC、ソースコード上のシークレットを検出するのに役立ちます。 ランタイムセキュリティ :アプリケーションのライフサイクル全体にわたってマイクロサービス、ホスト、コンテナ、サーバーレス機能を保護するのに役立ちます。 クラウドへの移行の初期段階にある場合は、クラウドの体制をより詳細に可視化するために、クラウドセキュリティから始めることをPrisma Cloudは推奨しています。 本記事ではこのクラウドセキュリティで利用できる以下6つの機能をAWS Security Hubで利用できるかで比較・評価します。 監視可能なパブリッククラウド ポリシー コンプライアンス アラート リソース可視化 ダッシュボード 評価項目はPrisma Cloudの ドキュメント目次 をサマライズして作成しています。 また、本内容は2024年2月7日時点の情報となります。最新の情報を必ず各社メーカーのドキュメントでご確認ください。   監視可能なパブリッククラウド Prisma CloudとSecurity Hubで監視可能なパブリッククラウドです。 Prisma Cloudは複数のパブリッククラウドに対応していますが、Security HubはAWSのマネージドサービスのため、AWSしか監視できません。 項目 Prisma Cloud Security Hub 評価 評価 AWS 〇 〇 Azure 〇 × GCP 〇 × Oracle Cloud Infrastructure 〇 × Alibaba Cloud 〇 × 参考: クラウド・アカウント・オンボーディング (prismacloud.io)   ポリシー Prisma Cloudではポリシーとは検知項目を表しており、Security HubにおけるFindingsと同じです。 組み込みポリシーの種類では、Prisma CloudはAWS用のポリシーだけで約1766種類が用意されています。 また、Prisma Cloudはマルチクラウド対応のため全パブリッククラウドのポリシーを合計すると約2940種類が用意されております。 検知領域では、Prisma Cloudのクラウドセキュリティは異常な振る舞い(ユーザ、ネットワーク、DNS)、特権アクティビティ、ネットワークの保護、ワークロードのインシデント、設定ミス・非推奨設定、脆弱性、攻撃経路の有無を検知できます。 また、Security Hubは組み込みのコンプライアンスによる検知や、他サービスとの統合(※1)により、侵入検出の結果(Amazon GuardDuty)、脆弱性(Amazon Inspector)、S3バケットポリシーの検出結果(Amazon Macie)、一般にアクセス可能なクロスアカウントリソース(IAM Access Analyzer)などを検知できます。 項目 Prisma Cloud Security Hub 評価 補足 評価 補足 組み込みポリシーの種類 〇 約1766種類 (※AWSポリシーのみ) 〇 約304種類 ポリシーのカスタマイズ 〇 SQLに似た独自言語でカスタマイズ △ Configでカスタムルール作成後に 統合で可能 (※2) ポリシー重要度 〇 5段階 〇 5段階 参考: Prisma Cloudポリシーの管理 ※1: AWS Security Hub での製品の統合 – AWS Security Hub (amazon.com) ※2: AWS Security Hub が AWS Config のマネージドルールとカスタムルールの評価結果を受け取るようになりました (amazon.com)   コンプライアンス Prisma Cloudではコンプライアンス標準や業界標準に対してクラウド環境の健全性とコンプライアンス体制を表示、評価、レポート、監視、レビューできます。 本記事では、異なるバージョンのコンプライアンス標準は別の標準としてカウントしています。 項目 Prisma Cloud Security Hub 評価 補足 評価 補足 組み込みのコンプライアンス 〇 約67種類(AWSの場合※1) 〇 8種類(※2) コンプライアンスのカスタマイズ 〇 ポリシーを付け替えてカスタム可能 △ コンプライアンス内の ルール有効/無効のみ(※3) コンプライアンス準拠状況のレポート作成 〇 – × – 参考: Prisma Cloud Compliance ※1: Compliance Standards (prismacloud.io) ※2: Security Hub 標準のリファレンス – AWS Security Hub (amazon.com) ※3: すべての標準におけるコントロールの有効化と無効化 – AWS Security Hub (amazon.com)   アラート Prisma Cloudではすべてのクラウド環境を継続的に監視し、ポリシー違反によってアラートを生成します。 Security Hubと同様にPrisma Cloudでもアラートを手動で無視できます。無視されたアラートは、同じポリシー違反が再び発生した場合でも無視された状態のままになります。( View and Respond to Prisma Cloud Alerts ) また、アラートのポリシーに関連付けられたCLIコマンドを実行し、違反を検出したクラウド環境でポリシー違反を自動的に修正できます。 項目 Prisma Cloud Security Hub 評価 補足 評価 補足 アラートのメール通知 〇   △ EventBridgeとSNSとの統合で可能 サードパーティへの通知 〇 Teams、Slackなど複数製品に対応 (※1) △ EventBridgeとLambdaとの統合で可能 アラートの無視 〇   〇   アラートの一時的な無視 〇   ×   リソースの自動修正 〇   △ EventBridgeとLambdaとの統合で可能 リソースを修正するための推奨手順 〇 ポリシーから手順を確認できる(※2) △ ドキュメントから個別に手順を確認する必要がある(※3) アラート状況のレポート作成 〇   ×   参考: Prisma Cloud Alerts ※1: Prisma Cloudでの外部統合の構成 リソースを修正するための推奨手順の確認方法 Prisma Cloudの場合は、ポリシー毎に具体的な修正手順が記載されているため、アラートへ対応しやすいかと思います。 ※2: Risk Prioritization and Remediation (prismacloud.io) Security Hubの場合は、下記リンクのようにドキュメントが修正手順となります。修正手順の中でさらに別ドキュメントの参照を促され、ドキュメントを確認する手間が発生します。 ※3: Amazon Simple Storage Service コントロール – AWS Security Hub   リソース可視化 Prisma CloudではAWSリソースだけでなく、マルチクラウドで所有しているリソースとアラート状況を一元的に確認できます。 また、それぞれのリソースで検知されているアラート数も容易に確認できます。 AWSではPrisma Cloudのようにリソースとアラート状況を一覧化する機能はなく、各サービス毎にリソースを確認する必要があります。 ※AWS Resource Explorerというサービスでリソースを横断的に検索、一覧化できますが、検索結果の上限が1000件などの制限があります。 参考: Prisma Cloud Asset Inventory(プリズマ クラウド アセット インベントリ)   ダッシュボード Prisma Cloudではダッシュボードを利用して、クラウド環境の健全性とセキュリティ体制を可視化できます。 Prisma Cloudのダッシュボード 参考: Get Started with Dashboards Security Hubのダッシュボード   CSPMの導入にかかる手間 Prisma Cloudではパブリッククラウドと接続することで全リージョンのリソース情報が取得されるため、リソースの可視化、監視を容易に開始できます(※1)。一方、Security HubではSecurity Hub自体がリージョンサービスのため、全リージョンを監視する場合、各リージョンでのSecurity Hub有効化と設定の管理が必要となります。また、他AWSサービス/サードパーティーと統合して利用する場合、各リージョン/サードパーティ毎に統合するサービスの有効化、設定の管理が必要となります。 ※AWS Organizationsにより、一部サービスで上記を自動化することも可能です。 ※1: 【CSPM】Prisma Cloud で AWS 環境をチェックしてみた 項目 Prisma Cloud Security Hub 評価 評価 CSPM導入にかかる手間 〇 △   まとめ 本記事では、AWSのSecurity HubとPrisma Cloudのクラウドセキュリティ機能を比較・評価して両ツールの違いを解説し、Prisma Cloudを利用することのメリットをお伝えしました。本記事でPrisma Cloudを利用することのメリットが伝わりましたら幸いです。 また当社ではPrisma Cloud利用して、複数クラウド環境の設定状況を自動でチェックし、設定ミスやコンプライアンス違反、異常行動などのリスクを診断するCSPMソリューションを販売しております。 マルチクラウド設定診断サービス with CSPM| SCSK株式会社 ご興味のある方は是非、お気軽にお問い合わせください。
こんにちは、SCSK株式会社の小寺崇仁です。 このブログではZabbixのデータベース内部構成について紹介をしたいと思ってます。 第2弾としてアイテム、トリガーの設定を取得するSQLを作成してみます。 はじめに 私はZabbixの構築を主に担当しています。最近はZabbixと外部システムを連携しているお客様が増加傾向にあると感じています。外部システムと連携をしたいお客様にはサポート範囲内である、ZabbixAPIを使用した方法を案内しています。 しかし、Zabbixはオープンソースであり、RDBMSを使用しているため、DBを直接参照することが可能です。DBの知識がある方であれば、容易にデータ抽出ができますので、表の構造とサンプルSQLを記事にしたいと思います。 注意事項 Zabbixのデータベース内部に関するは情報が少ないです。そのため私が個人的にDBを解析して情報発信を行う非公式情報になります。 当社ではZabbixの有償サポートを実施しております。Zabbixのデータベース内部に関する問い合わせはサポート範囲に含まれておらず、本ブログの内容をサポート宛に問い合わせをいただいても回答ができません。 個人的に作成したSQLです。自己責任でご利用ください。間違っていた場合イベント等でこっそり教えてください。 テーブル定義(MySQL) items アイテム情報が格納されるのテーブルです。 Field 日本語名称 Type Null Key Default Extra itemid アイテムID bigint unsigned NO PRI NULL   type タイプ int NO   0 0 – Zabbix エージェント 2 – Zabbix トラッパー 3 – シンプル チェック 5 – Zabbix インターナル 7 – Zabbix エージェント (アクティブ) 9 – Web アイテム 10 – 外部チェック 11 – データベース監視 12 – IPMI エージェント 13 – SSH エージェント 14 – Telnet エージェント 15 – 計算済み 16 – JMX エージェント 17 – SNMP トラップ 18 – 依存アイテム 19 – HTTP エージェント 20 – SNMP エージェント 21 – スクリプト snmp_oid SNMP OID varchar(512) NO       hostid ホストID bigint unsigned NO MUL NULL   name 名前 varchar(255) NO       key_ アイテムキー varchar(2048) NO MUL     delay 監視間隔 varchar(1024) NO   0   history ヒストリ保存期間 varchar(255) NO   90d   trends トレンド保存期間 varchar(255) NO   365d   status ステータス int NO MUL 0 0 – 有効なアイテム 1 – 無効なアイテム value_type 値のタイプ int NO   0 0 – 数値(浮動小数) 1 – 文字列 2 – ログ 3 -数値(整数) 4 – テキスト trapper_hosts トラッパーホスト varchar(255) NO       units 単位 varchar(255) NO       formula 計算式 varchar(255) NO       logtimefmt ログ時間形式 varchar(64) NO       templateid テンプレートID bigint unsigned YES MUL NULL   valuemapid 値のマップID bigint unsigned YES MUL NULL   params パラメータ text NO   NULL   ipmi_sensor IPMIセンサー varchar(128) NO       authtype 認証タイプ int NO   0   username ユーザー名 varchar(64) NO       password パスワード varchar(64) NO       publickey 公開鍵 varchar(64) NO       privatekey 秘密鍵 varchar(64) NO       flags フラグ int NO   0   interfaceid インターフェースID bigint unsigned YES MUL NULL   description 説明 text NO   NULL   inventory_link 在庫リンク int NO   0   lifetime 有効期間 varchar(255) NO   30d   evaltype 評価タイプ int NO   0   jmx_endpoint JMXエンドポイント varchar(255) NO       master_itemid マスターアイテムID bigint unsigned YES MUL NULL   timeout タイムアウト varchar(255) NO   3s   url URL varchar(2048) NO       query_fields クエリフィールド varchar(2048) NO       posts 投稿 text NO   NULL   status_codes ステータスコード varchar(255) NO   200   follow_redirects リダイレクト追跡 int NO   1   post_type 投稿タイプ int NO   0   http_proxy HTTPプロキシ varchar(255) NO       headers ヘッダ text NO   NULL   retrieve_mode 取得モード int NO   0   request_method リクエストメソッド int NO   0   output_format 出力形式 int NO   0   ssl_cert_file SSL証明書ファイル varchar(255) NO       ssl_key_file SSL鍵ファイル varchar(255) NO       ssl_key_password SSL鍵パスワード varchar(64) NO       verify_peer ピア検証 int NO   0   verify_host ホスト検証 int NO   0   allow_traps トラップ許可 int NO   0   discover ディスカバー int NO   0   uuid UUID varchar(32) NO       ※参考:APIマニュアル https://www.zabbix.com/documentation/6.0/jp/manual/api/reference/item/object triggers トリガー情報が格納されるのテーブルです。 Field 日本語名称 Type Null Key Default Extra triggerid トリガーID bigint unsigned NO PRI NULL   expression 式 varchar(2048) NO       description 説明 text NO   NULL   url URL varchar(255) NO       status ステータス int NO MUL 0 0 – 有効 1 – 無効 value 値 int NO MUL 0   priority 優先度 int NO   0 0 – 未分類 1 – 情報 2 – 警告 3 – 軽度の障害 4 – 重度の障害 5 – 致命的な障害 lastchange 最終変更 int NO   0   comments コメント text NO   NULL   error エラー varchar(2048) NO       templateid テンプレートID bigint unsigned YES MUL NULL   type タイプ int NO   0   state 状態 int NO   0   flags フラグ int NO   0   recovery_mode リカバリーモード int NO   0   recovery_expression リカバリー式 varchar(2048) NO       correlation_mode 相関モード int NO   0   correlation_tag 相関タグ varchar(255) NO       manual_close 手動クローズ int NO   0   opdata 操作データ varchar(255) NO       discover ディスカバー int NO   0   event_name イベント名 varchar(2048) NO       uuid UUID varchar(32) NO       ※参考:APIマニュアル https://www.zabbix.com/documentation/6.0/jp/manual/api/reference/trigger/object functions アイテムとトリガーの関連付け情報が格納されるのテーブルです。 Field 日本語名称 Type Null Key Default Extra functionid 関数ID bigint unsigned NO PRI NULL   itemid アイテムID bigint unsigned NO MUL NULL   triggerid トリガーID bigint unsigned NO MUL NULL   name 名前 varchar(12) NO       parameter パラメータ varchar(255) NO   0   サンプルSQL アイテム取得 SELECT h.hostid AS ホストID ,i.itemid AS アイテムID ,h.name AS ホスト名 ,i.name AS アイテム明 ,i.key_ AS アイテムキー ,i.delay AS 監視間隔 ,i.history AS ヒストリ保存期間 ,i.trends AS トレンド保存期間 FROM hosts h LEFT JOIN items i ON h.hostid = i.hostid WHERE h.hostid = 10084 AND i.flags IN (0,4) トリガー取得 SELECT DISTINCT h.hostid AS ホストID ,h.name AS ホスト名 ,t.triggerid AS トリガーID ,t.description AS トリガー名 ,t.expression AS 条件式 ,CASE t.priority WHEN 0 THEN '未分類' WHEN 1 THEN '情報' WHEN 2 THEN '警告' WHEN 3 THEN '軽度' WHEN 4 THEN '重度' WHEN 5 THEN '致命的' END AS 重要度 FROM hosts h LEFT JOIN items i ON h.hostid = i.hostid LEFT JOIN functions f ON i.itemid = f.itemid LEFT JOIN triggers t ON f.triggerid = t.triggerid WHERE h.hostid = 10084 AND i.flags IN (0,4) ホスト+アイテム+トリガー取得 SELECT h.hostid AS ホストID ,i.itemid AS アイテムID ,t.triggerid AS トリガーID ,h.name AS ホスト名 ,i.name AS アイテム明 ,i.key_ AS アイテムキー ,i.delay AS 監視間隔 ,i.history AS ヒストリ保存期間 ,i.trends AS トレンド保存期間 ,t.description AS トリガー名 ,t.expression AS 条件式 ,CASE h.status WHEN 0 THEN '有効' WHEN 1 THEN '無効' END AS ホストステータス ,CASE i.status WHEN 0 THEN '有効' WHEN 1 THEN '無効' END AS アイテムステータス ,CASE t.status WHEN 0 THEN '有効' WHEN 1 THEN '無効' END AS トリガーステータス FROM hosts h LEFT JOIN items i ON h.hostid = i.hostid LEFT JOIN functions f ON i.itemid = f.itemid LEFT JOIN triggers t ON f.triggerid = t.triggerid WHERE h.hostid = 10084 AND h.status in (0,1) AND i.flags IN (0,4)
こんにちは、広野です。 AWS AppSync を使用したアプリケーションを開発する機会があり、リゾルバ、主に VTL の書き方に関してまとまった知識が得られたので紹介します。前回からの続きもので、今回は 1つの VTL で 2つのクエリをアトミックに (同期的に冪等性を担保して) 実行する方法を紹介します。 本記事では、VTL の書き方にフォーカスしています。ご了承ください。 AWS AppSync、リゾルバ、VTL の説明については以下の記事をご覧下さい。 AWS AppSync リゾルバ (VTL) の書き方サンプル No.1 - Amazon DynamoDB GetItem Amazon DynamoDB に VTL で GetItem をかけるときの基本的な書き方を紹介します。 blog.usize-tech.com 2024.01.09 AWS AppSync リゾルバ (VTL) の書き方サンプル No.2 – Amazon DynamoDB BatchGetItem Amazon DynamoDB に VTL で BatchGetItem をかけるときの基本的な書き方を紹介します。 blog.usize-tech.com 2024.01.19 AWS AppSync リゾルバ (VTL) の書き方サンプル No.3 – Amazon DynamoDB Query Amazon DynamoDB に VTL で Query をかけるときの基本的な書き方を紹介します。 blog.usize-tech.com 2024.02.26 AWS AppSync リゾルバ (VTL) の書き方サンプル No.4 - Amazon DynamoDB PutItem Amazon DynamoDB に VTL で PutItem をかけるときの基本的な書き方を紹介します。 blog.usize-tech.com 2024.02.26 AWS AppSync リゾルバ (VTL) の書き方サンプル No.5 – Amazon DynamoDB UpdateItem Amazon DynamoDB に VTL で UpdateItem をかけるときの基本的な書き方を紹介します。 blog.usize-tech.com 2024.02.27 AWS AppSync リゾルバ (VTL) の書き方サンプル No.6 - Amazon DynamoDB 応用編 引数内のフラグにより処理を分ける Amazon DynamoDB に VTL でデータ読み書きをさせるときに、引数内のフラグにより実行させる処理を分岐する方法を紹介します。 blog.usize-tech.com 2024.06.17 AWS AppSync リゾルバ (VTL) の書き方サンプル No.7 - Amazon DynamoDB 応用編 2つのクエリを直列に実行 Amazon DynamoDB に VTL で 複数のクエリを直列に実行するときの書き方を紹介します。前のクエリの結果を後のクエリで使用することができるスグレモノです。 blog.usize-tech.com 2024.06.19 AWS AppSync を使って React アプリからキックした非同期ジョブの結果をプッシュ通知で受け取る 非同期ジョブを実行した後、結果をどう受け取るか?というのは開発者として作り込み甲斐のあるテーマです。今回は React アプリが非同期ジョブを実行した後に、AWS AppSync 経由でジョブ完了のプッシュ通知を受け取る仕組みを紹介します。 blog.usize-tech.com 2022.12.01 やりたいこと 以下のような処理をしたいです。冒頭、アトミックにという表現をしましたが、言葉を変えて説明します。 アプリからの1回のリクエストを受けて、リゾルバの中で 2つの書き込みオペレーションを実行したい。 ただし、2つのオペレーションが両方とも成功した場合にのみ、オペレーションをコミットしたい。もし片方が失敗した場合は、成功した方もオペレーションを無効にしたい。 これは、以下のように Amazon DynamoDB が提供している TransactWriteItems API を利用することで実現できます。 公式には、以下のドキュメントをご覧下さい。 Amazon DynamoDB Transactions: 仕組み - Amazon DynamoDB Amazon DynamoDB Transactions を使用すれば、複数のアクションをまとめてグループ化し、1 つのオールオアナッシングの TransactWriteItems または TransactGetItems オペレーションと... docs.aws.amazon.com 本記事のサンプルでは、アプリから AWS AppSync に「2つの書き込みオペレーション」リクエストを受けたとします。テーブル名はリゾルバの別の設定 (Data Source) で設定しますが、実際に使用されるのはリクエストマッピングテンプレート内で設定されたテーブルになります。 1つ目のオペレーション: パーティションキー pkey、ソートキー skey1、属性 attr1 をテーブル A に書き込み 2つ目のオペレーション: パーティションキー pkey、ソートキー skey2、属性 attr2 をテーブル B に書き込み Amazon DynamoDB に TransactWriteItems する VTL リクエストマッピングテンプレート { "version": "2018-05-29", "operation": "TransactWriteItems", "transactItems": [ ## 1つ目のオペレーションを定義 { "table": "TableA", "operation": "PutItem", "key": { "pkey": $util.dynamodb.toDynamoDBJson($context.arguments.pkey), "skey1": $util.dynamodb.toDynamoDBJson($context.arguments.skey1) }, "attributeValues": { "attr1": $util.dynamodb.toDynamoDBJson($context.arguments.attr1) } }, ## 2つ目のオペレーションを定義 { "table": "TableB", "operation": "PutItem", "key": { "pkey": $util.dynamodb.toDynamoDBJson($context.arguments.pkey), "skey2": $util.dynamodb.toDynamoDBJson($context.arguments.skey2) }, "attributeValues": { "attr2": $util.dynamodb.toDynamoDBJson($context.arguments.attr2) } } ] } transactItems の中に、配列で同期的に実行したいオペレーション、ここでは 2つの PutItem を定義しています。 関数 1 のレスポンスマッピングテンプレート この例では、エラーになったときは “error” を返すようにしています。 #if($ctx.error) $util.toJson({ "pkey": "error" }) #elseif($ctx.result) $util.toJson({ "pkey": $context.arguments.pkey }) #else $util.toJson({ "pkey": "error" }) #end まとめ いかがでしたでしょうか。 複数のオペレーション結果を総合的に判断させるクエリが作成が必要なケースはあると思います。もっとエラー時のレスポンスはきちんと作らないといけないとは思いますが。 本記事が皆様のお役に立てれば幸いです。
こんにちは、SCSK 池田です。 新しい試みとして、LifeKeeperの紹介動画を作成しました。 第一弾として、昨年11月に記事を掲載させていただいた「第1回 HAクラスタウェア「LifeKeeper」で可用性を高めよう!」の内容を動画化しました。 SCSKのYouTube公式チャンネル(以下リンク)からご視聴ください 5分で解説!HAクラスターソフトウェア「LifeKeeperとは?」 サムネイル   動作環境について 本動画コンテンツは、以下のツールを組合せて作成しています。   ◆パソコン Apple社 M3 MacBook Pro 16インチ ◆動画編集 Adobe社 Premiere Pro ※Adobe CreativeCloudサブスク ◆AIナレーション AHS社 VOICE PEAK AI音声合成技術を搭載した入力文字読み上げソフト 6人のナレーターと感情パラメータによる喜怒哀楽の表現も可能 ◆アニメーションソフト VYOND アニメーション映像製作プラットフォーム おわりに 今後、これまで記事にしてきた内容を動画でも公開していく予定ですので、ご期待ください!
こんにちは、広野です。 AWS AppSync を使用したアプリケーションを開発する機会があり、リゾルバ、主に VTL の書き方に関してまとまった知識が得られたので紹介します。前回からの続きもので、今回は 1つの VTL で 2つのクエリを直列に実行する方法 (パイプラインリゾルバ) を紹介します。 本記事では、VTL の書き方にフォーカスしています。ご了承ください。 AWS AppSync、リゾルバ、VTL の説明については以下の記事をご覧下さい。 AWS AppSync リゾルバ (VTL) の書き方サンプル No.1 - Amazon DynamoDB GetItem Amazon DynamoDB に VTL で GetItem をかけるときの基本的な書き方を紹介します。 blog.usize-tech.com 2024.01.09 AWS AppSync リゾルバ (VTL) の書き方サンプル No.2 – Amazon DynamoDB BatchGetItem Amazon DynamoDB に VTL で BatchGetItem をかけるときの基本的な書き方を紹介します。 blog.usize-tech.com 2024.01.19 AWS AppSync リゾルバ (VTL) の書き方サンプル No.3 – Amazon DynamoDB Query Amazon DynamoDB に VTL で Query をかけるときの基本的な書き方を紹介します。 blog.usize-tech.com 2024.02.26 AWS AppSync リゾルバ (VTL) の書き方サンプル No.4 - Amazon DynamoDB PutItem Amazon DynamoDB に VTL で PutItem をかけるときの基本的な書き方を紹介します。 blog.usize-tech.com 2024.02.26 AWS AppSync リゾルバ (VTL) の書き方サンプル No.5 – Amazon DynamoDB UpdateItem Amazon DynamoDB に VTL で UpdateItem をかけるときの基本的な書き方を紹介します。 blog.usize-tech.com 2024.02.27 AWS AppSync リゾルバ (VTL) の書き方サンプル No.6 - Amazon DynamoDB 応用編 引数内のフラグにより処理を分ける Amazon DynamoDB に VTL でデータ読み書きをさせるときに、引数内のフラグにより実行させる処理を分岐する方法を紹介します。 blog.usize-tech.com 2024.06.17 AWS AppSync を使って React アプリからキックした非同期ジョブの結果をプッシュ通知で受け取る 非同期ジョブを実行した後、結果をどう受け取るか?というのは開発者として作り込み甲斐のあるテーマです。今回は React アプリが非同期ジョブを実行した後に、AWS AppSync 経由でジョブ完了のプッシュ通知を受け取る仕組みを紹介します。 blog.usize-tech.com 2022.12.01 やりたいこと 以下のような処理をしたいです。 アプリからの1回のリクエストを受けて、リゾルバの中で直列した 2 つの処理を実行した結果をアプリにレスポンスする。 アプリへのレスポンスは、1つ目の処理 (関数1) の結果を 2つ目の処理 (関数2) が受け取り、処理に使用する。 これは、以下のようなパイプラインリゾルバを構築することで実現できます。 公式には、以下のドキュメントをご覧下さい。 リゾルバーのマッピングテンプレートの概要 - AWS AppSync AWS AppSync 対応のリゾルバーのマッピングテンプレートの概要 docs.aws.amazon.com 本記事のサンプルでは、アプリから AWS AppSync に「グラフに使用する 3 つのデータを取得する」リクエストを受けたとします。Amazon DynamoDB には適切なデータがある想定です。テーブル名はリゾルバの別の設定 (Data Source) で行います。 1つ目の関数: パーティションキー pkey、ソートキー skey1 が “TRUE” である件数をテーブル A から取得 2つ目の関数: パーティションキー pkey、ソートキー skey1 が “FALSE” である件数をテーブル A から取得 3つ目の関数: パーティションキー pkey、ソートキー skey2 が “Red” から始まる件数をテーブル B から取得 pkey は pkey という変数名で引数としてアプリから値を渡される これらの件数を、以下のフォーマットの JSON データとしてまとめてレスポンスする。 { "true": xx, "false": xx, "red": xx } Amazon DynamoDB に命令する VTL まず、大元締めのパイプラインリゾルバのマッピングテンプレートをつくりますが、実体はほぼ空です。実処理は各関数のリゾルバに記述します。 パイプラインリゾルバのリクエストマッピングテンプレート 何もしません。(笑) {} パイプラインリゾルバのレスポンスマッピングテンプレート 最後に実行された関数から受け取ったレスポンスをそのままパイプラインリゾルバのレスポンスとしてアプリに返す仕様にします。 $util.toJson($context.result) 関数 1 のリクエストマッピングテンプレート { "version": "2018-05-29", "operation": "Query", "query": { "expression": "#pkey = :pkey AND #skey1 = :skey1", "expressionNames": { "#pkey": "pkey", "#skey1": "skey1" }, "expressionValues": { ":pkey": $util.dynamodb.toDynamoDBJson($context.arguments.pkey), ":skey1": $util.dynamodb.toDynamoDBJson("TRUE") } }, "nextToken": $util.toJson($util.defaultIfNullOrEmpty($context.arguments.after, null)), "scanIndexForward": false, "consistentRead": false, "projection": { "expression": "pkey" } } シンプルな、条件に合致する行の件数をカウントしたいだけのクエリなので、projection に pkey のみを指定しています。これによりレスポンスのデータ量を節約します。 関数 1 のレスポンスマッピングテンプレート 結果のうち、件数だけを取得したいので、以下のように scannedCount を使用します。 $util.toJson({ "true": $ctx.result.scannedCount }) このレスポンスは、関数 2 に渡されます。 関数 2 のリクエストマッピングテンプレート { "version": "2018-05-29", "operation": "Query", "query": { "expression": "#pkey = :pkey AND #skey1 = :skey1", "expressionNames": { "#pkey": "pkey", "#skey1": "skey1" }, "expressionValues": { ":pkey": $util.dynamodb.toDynamoDBJson($context.arguments.pkey), ":skey1": $util.dynamodb.toDynamoDBJson("FALSE") } }, "nextToken": $util.toJson($util.defaultIfNullOrEmpty($context.arguments.after, null)), "scanIndexForward": false, "consistentRead": false, "projection": { "expression": "pkey" } } 本サンプルでは、関数 2 は関数 1 のソートキーの条件を変えただけのもので、ほとんど同じです。skey1 が FALSE である件数を取得する目的です。 関数 2 のレスポンスマッピングテンプレート ここは関数 1 とは少し変わります。関数 1 のレスポンスを受け取ったものをここでマージします。 $util.qr($ctx.prev.result.put("false", $ctx.result.scannedCount)) $util.toJson($ctx.prev.result) $ctx.prev.result が関数 1 のレスポンスです。そこに “false”: に続けて関数 2 の結果 $ctx.result の中の件数に当たる scannedCount を取り出してマージしています。結果として、以下のデータが関数 2 のレスポンスとして関数 3 に渡されます。 { "true": xx, "false": xx } 関数 3 のリクエストマッピングテンプレート こちらは、関数 1,2 とは別のテーブルから別のデータの件数を取得します。 { "version": "2018-05-29", "operation": "Query", "query": { "expression": "#pkey = :pkey AND begins_with(#skey2, :skey2)", "expressionNames": { "#pkey": "pkey", "#skey2": "skey2" }, "expressionValues": { ":pkey": $util.dynamodb.toDynamoDBJson($context.arguments.pkey), ":skey2": $util.dynamodb.toDynamoDBJson("Red") } }, "nextToken": $util.toJson($util.defaultIfNullOrEmpty($context.arguments.after, null)), "scanIndexForward": false, "consistentRead": false, "projection": { "expression": "pkey" } } 関数 3 のレスポンスマッピングテンプレート 関数 2 から受け取ったレスポンスをここでマージします。やっていることは関数 2 と同じです。 $util.qr($ctx.prev.result.put("red", $ctx.result.scannedCount)) $util.toJson($ctx.prev.result) 結果として、以下のデータが関数 3 のレスポンスとしてパイプラインリゾルバに返されます。パイプラインリゾルバは今回の例ではそのままアプリにデータを返すので、実質関数 3 のレスポンスが最終的なレスポンスになります。 { "true": xx, "false": xx, "red": xx } (参考) AWS CloudFormation テンプレート 私はこの面倒なリゾルバの定義を AWS マネジメントコンソールで設定する気が起きず (UI がわかりにくいので)、AWS CloudFormation でデプロイしています。完全な AWS AppSync のテンプレートではありませんが、パイプラインリゾルバのところの Resources のみ抜粋して紹介します。 # パイプラインリゾルバの定義 AppSyncResolverPipeline: Type: AWS::AppSync::Resolver Properties: ApiId: !GetAtt AppSyncApi.ApiId # AppSync の API ID TypeName: Query FieldName: queryUserExamScore # AppSync のスキーマで定義したクエリの名前 Kind: PIPELINE # ここでパイプラインリゾルバであることを宣言 PipelineConfig: Functions: # 作成したい関数を処理順に並べる、関数 ID を参照 - !GetAtt FunctionUserExamScore1true.FunctionId - !GetAtt FunctionUserExamScore2false.FunctionId - !GetAtt FunctionUserExamScore3red.FunctionId RequestMappingTemplate: | {} ResponseMappingTemplate: | $util.toJson($context.result) DependsOn: - FunctionUserExamScore1true - FunctionUserExamScore2false - FunctionUserExamScore3red # 関数 1 の定義 FunctionUserExamScore1true: Type: AWS::AppSync::FunctionConfiguration Properties: ApiId: !GetAtt AppSyncApi.ApiId # DynamoDB テーブル A のデータソース名をここで参照 DataSourceName: !GetAtt AppSyncDataSourceTableA.Name Description: AppSync Function for User Exam Score Graph 1 for true FunctionVersion: 2018-05-29 Name: AppSyncFunctionUserExamScore1true RequestMappingTemplate: | { "version": "2018-05-29", "operation": "Query", "query": { "expression": "#pkey = :pkey AND #skey1 = :skey1", "expressionNames": { "#pkey": "pkey", "#skey1": "skey1" }, "expressionValues": { ":pkey": $util.dynamodb.toDynamoDBJson($context.arguments.pkey), ":skey1": $util.dynamodb.toDynamoDBJson("TRUE") } }, "nextToken": $util.toJson($util.defaultIfNullOrEmpty($context.arguments.after, null)), "scanIndexForward": false, "consistentRead": false, "projection": { "expression": "pkey" } } ResponseMappingTemplate: | $util.toJson({ "true": $ctx.result.scannedCount }) DependsOn: - AppSyncDataSourceTableA # 関数 2 の定義 FunctionUserExamScore2false: Type: AWS::AppSync::FunctionConfiguration Properties: ApiId: !GetAtt AppSyncApi.ApiId # DynamoDB テーブル A のデータソース名をここで参照 DataSourceName: !GetAtt AppSyncDataSourceTableA.Name Description: AppSync Function for User Exam Score Graph 2 for false FunctionVersion: 2018-05-29 Name: AppSyncFunctionUserExamScore2false RequestMappingTemplate: | { "version": "2018-05-29", "operation": "Query", "query": { "expression": "#pkey = :pkey AND #skey1 = :skey1", "expressionNames": { "#pkey": "pkey", "#skey1": "skey1" }, "expressionValues": { ":pkey": $util.dynamodb.toDynamoDBJson($context.arguments.pkey), ":skey1": $util.dynamodb.toDynamoDBJson("FALSE") } }, "nextToken": $util.toJson($util.defaultIfNullOrEmpty($context.arguments.after, null)), "scanIndexForward": false, "consistentRead": false, "projection": { "expression": "pkey" } } ResponseMappingTemplate: | $util.qr($ctx.prev.result.put("false", $ctx.result.scannedCount)) $util.toJson($ctx.prev.result) DependsOn: - AppSyncDataSourceTableA # 関数 3 の定義 FunctionUserExamScore3red: Type: AWS::AppSync::FunctionConfiguration Properties: ApiId: !GetAtt AppSyncApi.ApiId # DynamoDB テーブル B のデータソース名をここで参照 DataSourceName: !GetAtt AppSyncDataSourceTableB.Name Description: AppSync Function for User Exam Score Graph 3 for red FunctionVersion: 2018-05-29 Name: AppSyncFunctionUserExamScore3red RequestMappingTemplate: | { "version": "2018-05-29", "operation": "Query", "query": { "expression": "#pkey = :pkey AND begins_with(#skey2, :skey2)", "expressionNames": { "#pkey": "pkey", "#skey2": "skey2" }, "expressionValues": { ":pkey": $util.dynamodb.toDynamoDBJson($context.arguments.pkey), ":skey2": $util.dynamodb.toDynamoDBJson("Red") } }, "nextToken": $util.toJson($util.defaultIfNullOrEmpty($context.arguments.after, null)), "scanIndexForward": false, "consistentRead": false, "projection": { "expression": "pkey" } } ResponseMappingTemplate: | $util.qr($ctx.prev.result.put("red", $ctx.result.scannedCount)) $util.toJson($ctx.prev.result) DependsOn: - AppSyncDataSourceTableB まとめ いかがでしたでしょうか。 今回のサンプルでは、それぞれの関数の結果を順番にマージしていくだけの簡単な直列処理でしたが、前の関数の結果を次の関数のクエリのパラメータに使用することもできます。その場合はリクエストマッピングテンプレートの中で前の関数のレスポンス $ctx.prev.result を使用します。 それにより通常 DynamoDB への単体のクエリでは実現できない、テーブルの結合に近いことが実はできます。まあ同じことやるにしても Lambda 関数書けば普通にできるんですが、VTL の方が処理が速いのと Lambda 関数が乱立しなくていいなぁと思って極力私は VTL を使っています。 本記事が皆様のお役に立てれば幸いです。
こんにちは、SCSK株式会社の小寺崇仁です。 先日Zabbixの7.0がリリースされました。 Zabbix7.0では、様々な機能追加、改善が行われております。 詳細は以下をご確認ください。 What's new in Zabbix 7.0 LTS www.zabbix.com   はじめに 今回は7.0で行われた性能改善について検証をしていきたいと思います。 公式HPでは以下の記載があります。 Improved data collection speed and scalability ・Faster metric polling for agent, SNMP and HTTP checks ・Next metric can now be polled before waiting for a response from previously requested metric 今までは、エージェント監視、SNMPエージェント監視、HTTPエージェント監視は「poller」プロセスで監視が行われておりましたが、「agent poller」「snmp poller」「http poller」に分割されたようです。 また、値を取得する際に、リクエスト送信からレスポンス受信までの間はプロセスが待機をしており、ビジー率上昇をしておりましたが、非同期で処理を行うように改善されたようです。 検証環境について 6.0と7.0のZabbixサーバからSNMPDのインストールされたサーバーに対してSNMPポーリング監視を行い、稼働状況を確認します。 サーバ情報 項目 Zabbix6.0 Zabbix7.0 SNMPサーバ OS RHEL 9.4 RHEL 9.4 RHEL 9.4 Zabbixバージョン 6.0.30 7.0.0 ー SNNPDバージョン ー ー 5.9.1 インスタンスタイプ t2.medium(2vcpu,4GB) t2.medium(2vcpu,4GB) t2.medium(2vcpu,4GB) ディスク 30GB (gp3 3000iops) 30GB (gp3 3000iops) 30GB (gp3 3000iops) Zabbixのパラメータ情報 項目 Zabbix6.0 Zabbix7.0 備考 StartPollers 5 5 デフォルト=5 StartSNMPPollers ー 10 7.0新機能 MaxConcurrentChecksPerPoller ー 1000 7.0新機能 CacheSize 512M 512M 検証時に不足 TrendCacheSize 256M 256M 検証時に不足 ※上記以外がデフォルトパラメータを使用 ※Mariadbはデフォルトパラメータを使用 監視設定 インターフェースのステータスを取得するテンプレートを作成しました。 インターフェースは50個ある想定で50アイテム作成しています。 ホストを1000台登録し、1のテンプレートを適用しました。 SNMPインターフェースのBulkリクエストは検証のため無効にしました。 アイテムの取得間隔は1分です。 7.0の新機能を使うには、アイテムのOIDは「get[OUID]」「walk[OID,OID]」と記入する必要があります。 Zabbixの状態としては以下の通りです。 項目 Zabbix6.0 Zabbix7.0 備考 監視対象ホスト 1002 1002   アイテム数 50175 50180     1秒あたりの監視項目数(NVPS) 835.86 835.91   検証結果1(通常監視) Zabbix6.0 Pollerプロセスの使用率は平均11% キューなし Zabbix7.0 SNMPPollerプロセスの使用率は1%前後 キューなし   結果&考察 Zabbix7.0でSNMPPollerプロセスの使用率がほぼ上がらず、とても効率よく処理ができていると思われます。 検証1はZabbixサーバとSNMPサーバが同じVPCにあり、SNMPの値の取得が一瞬で終わっています。検証2では実際の環境に近い形で検証しします。 検証2(レスポンスの悪いOIDを追加する) 実際の監視では、レスポンスの悪いNW機器があり、待機時間によりPollerプロセスの使用率を上昇させていることがあると思います。 検証2では、レスポンスの悪いカスタムOIDを追加し検証します。 /etc/snmp/snmpd.confに以下を追記します。 view systemview included .1 extend sleep /tmp/test.sh /tmp/test.shの内容は以下となります。2秒待機してから値を返却します。 #!/bin/sh sleep 2 echo 11 新しく作成した監視のアイテムを作成します。 各ホストにアイテムを1つ(1000アイテム)追加しています。 Zabbix6.0 応答が遅いOIDが追加されたことでPollerプロセスの使用率が50%弱まで上昇しました。 Zabbix7.0 SNMPサーバ側が負荷に耐えられなくなったため、MaxConcurrentChecksPerPollerを1000→100に変更しました。 SNMPPollerプロセスの使用率は1%前後のままから上昇しませんでした。(値を取得するまで待機していない事が分かります) 値が正しく取得できているか不安になりますが、問題なく取得できています。 総括 データ収集処理は非同期処理に変更され、値の取得を待機しなくなったため、パフォーマンスが劇的に改善しました。 1プロセスのリクエスト数(MaxConcurrentChecksPerPoller)が設定できるようになり、効率化されている。 アイテム作成時にOIDの書き方に注意が必要です。(get[],walk[]をつける必要がある) 最後に 弊社ではZabbix関連サービスを展開しています。以下ページもご参照ください。 SCSK Plus サポート for Zabbix SCSK Plus サポート for Zabbix 世界で最も人気のあるオープンソース統合監視ツール「Zabbix」の導入構築から運用保守までSCSKが強力にサポートします www.scsk.jp ★YouTubeに、SCSK Zabbixチャンネルを開設しました!★ SCSK Zabbixチャンネル 本チャンネルでは、SCSK株式会社でのZabbixに関するトレンド/事例紹介などを動画にまとめて取り上げております。 最新のトピックについては、以下の弊社HPもしくはツイッターアカウントをぜひ参照ください。 ツイッターアカウント: www.youtube.com ★X(旧Twitter)に、SCSK Zabbixアカウントを開設しました!★ 【公式】SCSK Zabbix (@SCSK_Zabbix) / Twitter SCSKが提供するZabbixサービスのオフィシャルアカウントです。 #Zabbix #SCSKPlusサポートforZabbix #監視 #SCSK twitter.com
こんにちは、SCSK株式会社の中野です。 2024年6月に最新バージョンであるZabbix 7.0 LTSがリリースされました。 Zabbix 7.0の新機能をいろいろ試しておりまして、今回は多要素認証機能(Duo認証)の利用方法をご紹介いたします。 多要素認証機能(TOTP)の利用方法は前回の記事「 多要素認証機能 (TOTP) を利用してみた 」にて紹介しております。 宜しければご覧ください。 Zabbixとは まずはZabbixの説明を簡単にさせていただきます。 Zabbixは、エンタープライズ対応のオープンソース統合監視ツールです。 サービスやそれを支える ITシステム(サーバ、ネットワーク機器等)の状態を把握し、障害の予兆やサービスへ影響を及ぼす事象が発生した際に、システム管理者やオペレータに通知を行うオープンソースの統合監視ソリューションです。 数万デバイス規模のエンタープライズ環境でも多数の稼動実績を誇っています。 Zabbixの詳細情報については、下記リンクよりご確認ください。 Zabbix :: The Enterprise-Class Open Source Network Monitoring Solution ZabbixはITインフラストラクチャ・コンポーネントの可用性やパフォーマンスを監視するためのエンタープライス向けソフトウェアです。Zabbixはオープンソース・ソフトウェアとして開発されており、無料でダウンロードいただくことが可能です。 www.zabbix.com   多要素認証機能 Zabbix7.0 LTSは多要素認証により、Zabbix Webインターフェースへのアクセスのセキュリティが強化されております。 認証方法としては、以下2つの認証が利用可能です。 ・ワンタイムパスワード(TOTP) ・Duo認証 今回はDuo認証を用いて、多要素認証を実装していきたいと思います。 ※Duo認証は多要素認証(MFA)を含む一連のセキュリティ機能を提供してます。また、シングルサインオン(SSO)やデバイスの信頼性チェック、適用型アクセスポリシーなど、セキュリティを強化しながらユーザビリティを維持するための追加機能が提供されていることが特徴です。 多要素認証機能(Duo認証)を実装 (事前準備) Duo認証を利用するためには、以下の事前準備を実施しておく必要がございます。 ・Duo Mobileアプリのインストール ・Zabbixサーバへphp-curlのインストール ・HTTPSでのZabbixへのアクセス ※ブラウザでZabbixへアクセスする際に、IPアドレスではなくホスト名でアクセスする必要があります。 ・Duoサーバへのアウトバウンド通信の許可設定 ・Webサーバでコンテンツセキュリティポリシーを有効にしている場合は、CSPディレクティブに「duo.com」を追加 また、Duo上でDashboard/Applications/Web SDK上から以下の認証情報をメモしてください。 ・Client ID ・Client secret ・API hostname 多要素認証機能(Duo認証)を実装 (Zabbixサーバ側の設定) ZabbixでDuo認証を利用する方法を記載します。 まずは「ユーザ」/「認証」/「多要素認証(MFA)の設定」で「多要素認証の有効化」にチェックを入れます。 新しい認証方法を「追加」します。 タイプ:「Duoユニバーサルプロンプト」 名前:任意の文字列 APIホスト名:上記でメモした「API hostname」を入力 クライアントID:上記でメモした「Client ID」を入力 クライアントシークレット:上記でメモした「Client secret」を入力 続いて、「ユーザ」/「ユーザーグループ」上で多要素認証を上記の多要素認証(MFA)方式名に変更し「追加」をクリックします。 以下の例だと「Duo」といった方式名にしてます。 以上でZabbix側の多要素認証機能の設定は完了です。 多要素認証機能(Duo認証)を実装 (ユーザー側の設定) 上記で設定したグループに所属するユーザーでZabbix Webインターフェースへのアクセスする際に Duoにリダイレクトされるので、「Get Started」をクリックし、Duoのセットアップをしていきます。   追加するデバイスを選択します。今回は「Duo Mobile」を選択してます。 電話番号の記載をした後に、「Continue」をクリックします。 Duo Mobileをダウンロードしていない場合はダウンロードを実施し、「Next」をクリックします。 Duo Mobile上でQRコードを読み込みます。 成功すると、Duo Mobileを追加できた旨が表示されるので「Continue」をクリックします。 他のデバイスを追加する画面が出ましたが、今回はスキップ「Skip for now」しました。 セットアップが完了し、「Log in with Duo」をクリックします。 以上でユーザー側の多要素認証機能の設定も完了です。 次回以降、Duo Mobileアプリが提供する方法(Duo Push、パスコード、バイバスコードなど)でログインすることが可能になります。 最後に Zabbix 7.0の新機能であるDuoによる多要素認証はTOTP同様に簡単に実装することができ、よりセキュリティの強化を図ることが可能になりました。 IDとパスワードだけでは不十分であると感じる場合は、多要素認証機能の実装をご検討いただければと思います。 また今回説明した機能の他にも、Zabbix7.0はプロキシ冗長化構成や分散監視の実装、スクリーンショットも取得ができる新しいWeb監視、監視処理の効率化によるパフォーマンスの大幅な向上やダッシュボードの新しいウィジェットなど、非常に多くの機能を実装しております。 他の新機能も試してみて情報を発信していきたいと思います。 最後まで読んでいただき、ありがとうございました。
こんにちは、SCSK株式会社の小寺崇仁です。 このブログではZabbixのデータベース内部構成について紹介をしたいと思ってます。 第1弾としてホスト設定を取得するSQLを作成してみます。 はじめに 私はZabbixの構築を主に担当しています。最近はZabbixと外部システムを連携しているお客様が増加傾向にあると感じています。外部システムと連携をしたいお客様にはサポート範囲内である、ZabbixAPIを使用した方法を案内しています。 しかし、Zabbixはオープンソースであり、RDBMSを使用しているため、DBを直接参照することが可能です。DBの知識がある方であれば、容易にデータ抽出ができますので、表の構造とサンプルSQLを記事にしたいと思います。 注意事項 Zabbixのデータベース内部に関するは情報が少ないです。そのため私が個人的にDBを解析して情報発信を行う非公式情報になります。 当社ではZabbixの有償サポートを実施しております。Zabbixのデータベース内部に関する問い合わせはサポート範囲に含まれておらず、本ブログの内容をサポート宛に問い合わせをいただいても回答ができません。 個人的に作成したSQLです。自己責任でご利用ください。間違っていた場合イベント等でこっそり教えてください。 テーブル定義 hosts ホスト情報が格納されるメインのテーブルです。 Field 日本語名称 Type Null Key Default Extra hostid ホストID bigint unsigned NO PRI NULL   host ホスト名 varchar(128) NO MUL     name 名前 varchar(128) NO MUL     description 説明 text NO   NULL   templateid テンプレートID bigint unsigned YES MUL NULL   flags フラグ int NO   0   status ステータス int NO MUL 0 0:有効 1:無効 3:テンプレート maintenance_status メンテナンスステータス int NO   0   ipmi_authtype IPMI認証タイプ int NO   -1   ipmi_privilege IPMI権限 int NO   2   ipmi_username IPMIユーザー名 varchar(16) NO       ipmi_password IPMIパスワード varchar(20) NO       maintenanceid メンテナンスID bigint unsigned YES MUL NULL   maintenance_type メンテナンスタイプ int NO   0   maintenance_from メンテナンス開始 int NO   0   tls_connect TLS接続 int NO   1   tls_accept TLS受け入れ int NO   1   tls_issuer TLS発行者 varchar(1024) NO       tls_subject TLSサブジェクト varchar(1024) NO       tls_psk_identity TLS PSKアイデンティティ varchar(128) NO       tls_psk TLS PSK varchar(512) NO       proxy_hostid プロキシホストID bigint unsigned YES MUL NULL – proxy_address プロキシアドレス varchar(255) NO       auto_compress 自動圧縮 int NO   1   discover ディスカバー int NO   0   lastaccess 最終アクセス int NO   0   custom_interfaces カスタムインターフェース int NO   0   uuid UUID varchar(32) NO       name_upper 名前(大文字) varchar(128) NO MUL     hosts_gropus ホストとグループの関連付けが保存されるテーブルです。 Field 日本語名称 Type Null Key Default Extra hostgroupid ホストグループID bigint unsigned NO PRI NULL   hostid ホストID bigint unsigned NO MUL NULL   groupid グループID bigint unsigned NO MUL NULL   hstgrp ホストグループが保存されるテーブルです。 Field 日本語名称 Type Null Key Default Extra groupid グループID bigint unsigned NO PRI NULL   name ホストグループ名 varchar(255) NO MUL     internal インターナル int NO   0   flags フラグ int NO   0   uuid UUID varchar(32) NO       interface インターフェースに関するテーブルです。 Field 日本語名称 Type Null Key Default Extra interfaceid インターフェースID bigint unsigned NO PRI NULL   hostid ホストID bigint unsigned NO MUL NULL   main メイン int NO   0   type タイプ int NO   1   useip IP使用 int NO   1   ip IPアドレス varchar(64) NO MUL 127.0.0.1   dns DNS varchar(255) NO       port ポート varchar(64) NO   10050   available 利用可能 int NO MUL 0   error エラー varchar(2048) NO       errors_from エラー発生元 int NO   0   disable_until 無効期限 int NO   0   サンプルSQL ホスト取得 SELECT h.hostid ,h.host ,h.name as 表示名 ,CASE h.status WHEN 1 THEN '無効' ELSE '有効' END AS ステータス FROM hosts h WHERE h.status in (0,1); ホスト+ホストグループ SELECT h.hostid ,h.host ,h.name as 表示名 ,CASE h.status WHEN 1 THEN '無効' ELSE '有効' END AS ステータス ,hg.name FROM hosts h LEFT JOIN hosts_groups hgs ON h.hostid = hgs.hostid LEFT JOIN hstgrp hg ON hgs.groupid = hg.groupid WHERE h.status in (0,1) ホスト+インターフェース SELECT h.hostid AS ホストID ,h.host as ホスト ,h.name as 表示名 ,CASE h.status WHEN 1 THEN '無効' ELSE '有効' END AS ステータス ,CASE i.type WHEN 1 THEN 'Zabbixエージェント' WHEN 2 THEN 'SNMP' WHEN '3' THEN 'IPMI' WHEN '4' THEN 'JAVA' END AS タイプ ,CASE i.main WHEN 1 THEN 'メイン' END AS メイン ,CASE i.useip WHEN 0 THEN 'DNS' ELSE 'IP' END AS 接続方法 ,i.ip AS IPアドレス ,i.dns AS DNS名 ,i.port AS ポート ,s.version AS SNMPバージョン ,s.community AS SNMPコミュニティ ,CASE s.bulk WHEN 1 THEN '有効' END AS SNMPバルク FROM hosts h LEFT JOIN interface i ON h.hostid = i.hostid LEFT JOIN interface_snmp s ON i.interfaceid = s.interfaceid WHERE h.status in (0,1) 最後に 弊社ではZabbix関連サービスを展開しています。以下ページもご参照ください。 SCSK Plus サポート for Zabbix SCSK Plus サポート for Zabbix 世界で最も人気のあるオープンソース統合監視ツール「Zabbix」の導入構築から運用保守までSCSKが強力にサポートします www.scsk.jp ★YouTubeに、SCSK Zabbixチャンネルを開設しました!★ SCSK Zabbixチャンネル 本チャンネルでは、SCSK株式会社でのZabbixに関するトレンド/事例紹介などを動画にまとめて取り上げております。 最新のトピックについては、以下の弊社HPもしくはツイッターアカウントをぜひ参照ください。 ツイッターアカウント: www.youtube.com ★X(旧Twitter)に、SCSK Zabbixアカウントを開設しました!★ 【公式】SCSK Zabbix (@SCSK_Zabbix) / Twitter SCSKが提供するZabbixサービスのオフィシャルアカウントです。 #Zabbix #SCSKPlusサポートforZabbix #監視 #SCSK twitter.com
こんにちは、SCSK株式会社の中野です。 2024年6月4日に最新バージョンであるZabbix 7.0 LTSがリリースされました。 Zabbix 7.0の新機能として新たに多要素認証がサポートされましたので、機能の利用方法をご紹介いたします。 Zabbixとは まずはZabbixの説明を簡単にさせていただきます。 Zabbixは、エンタープライズ対応のオープンソース統合監視ツールです。 サービスやそれを支える ITシステム(サーバ、ネットワーク機器等)の状態を把握し、障害の予兆やサービスへ影響を及ぼす事象が発生した際に、システム管理者やオペレータに通知を行うオープンソースの統合監視ソリューションです。 数万デバイス規模のエンタープライズ環境でも多数の稼動実績を誇っています。 Zabbixの詳細情報については、下記リンクよりご確認ください。 Zabbix :: The Enterprise-Class Open Source Network Monitoring Solution ZabbixはITインフラストラクチャ・コンポーネントの可用性やパフォーマンスを監視するためのエンタープライス向けソフトウェアです。Zabbixはオープンソース・ソフトウェアとして開発されており、無料でダウンロードいただくことが可能です。 www.zabbix.com   多要素認証機能 Zabbix7.0 LTSは多要素認証により、Zabbix Webインターフェースへのアクセスのセキュリティが強化されております。 認証方法としては、以下2つの認証が利用可能です。 ・ワンタイムパスワード(TOTP) ・Duo認証 今回はワンタイムパスワード(TOTP)を用いて、多要素認証を実装していきたいと思います。 ※TOTPはTime-based One-Time Passwordの略称です。一度しか利用できない「ワンタイムパスワード」の一種であり、時間に基づいた乱数からパスワードを生成します。生成されるパスワードは30秒ほどで切り替わるため、不正アクセスなどのリスクを抑えられるのが特徴です。 多要素認証機能(TOTP)を実装 (Zabbixサーバ側の設定) Zabbixでワンタイムパスワード(TOTP)を利用する方法を記載します。 まずは「ユーザ」/「認証」/「多要素認証(MFA)の設定」で「多要素認証の有効化」にチェックを入れます。 新しい認証方法を「追加」します。 タイプ:「TOTP」 or 「Duoユニバーサルプロンプト」 名前:任意の文字列 ハッシュ関数:「SHA-1」or 「SHA-256」 or 「SHA-512」 認証コード長:「6」 or 「8」 続いて、「ユーザ」/「ユーザーグループ」上で多要素認証を上記の多要素認証(MFA)方式名に変更し「追加」をクリックします。 以下の例だと「MFA」といった方式名にしてます。 以上でZabbix側の多要素認証機能の設定は完了です。 多要素認証機能(TOTP)を実装 (ユーザー側の設定) 上記で設定したグループに所属するユーザーでZabbix Webインターフェースへのアクセスする際に 以下のQRコードが出てきますので、QRコードをスキャン、まやはGoogle Authenticatorアプリに秘密キーを入力し アプリで生成された認証コードを「Vertification code」に入力して「サインイン」ボタンをクリックします。 設定が完了後、次回のログイン時からワンタイムパスワード(TOTP)を使用したログインが可能になります。 以上でユーザー側の多要素認証機能の設定も完了です。   最後に Zabbix 7.0の新機能である多要素認証は簡単に実装することができ、よりセキュリティの強化を図ることが可能になりました。 IDとパスワードだけでは不十分であると感じる場合は、多要素認証機能の実装をご検討いただければと思います。 また今回説明した機能の他にも、Zabbix7.0はプロキシ冗長化構成や分散監視の実装、スクリーンショットも取得ができる新しいWeb監視、監視処理の効率化によるパフォーマンスの大幅な向上やダッシュボードの新しいウィジェットなど、非常に多くの機能を実装しております。 他の新機能も試してみて情報を発信していきたいと思います。 最後まで読んでいただき、ありがとうございました。
こんにちは、広野です。 AWS AppSync を使用したアプリケーションを開発する機会があり、リゾルバ、主に VTL の書き方に関してまとまった知識が得られたので紹介します。前回からの続きもので、今回は引数内のフラグ条件により実行させる処理 (オペレーション) を分岐する方法を紹介します。 本記事では、VTL の書き方にフォーカスしています。ご了承ください。 AWS AppSync、リゾルバ、VTL の説明については以下の記事をご覧下さい。 AWS AppSync リゾルバ (VTL) の書き方サンプル No.1 - Amazon DynamoDB GetItem Amazon DynamoDB に VTL で GetItem をかけるときの基本的な書き方を紹介します。 blog.usize-tech.com 2024.01.09 AWS AppSync リゾルバ (VTL) の書き方サンプル No.2 – Amazon DynamoDB BatchGetItem Amazon DynamoDB に VTL で BatchGetItem をかけるときの基本的な書き方を紹介します。 blog.usize-tech.com 2024.01.19 AWS AppSync リゾルバ (VTL) の書き方サンプル No.3 – Amazon DynamoDB Query Amazon DynamoDB に VTL で Query をかけるときの基本的な書き方を紹介します。 blog.usize-tech.com 2024.02.26 AWS AppSync リゾルバ (VTL) の書き方サンプル No.4 - Amazon DynamoDB PutItem Amazon DynamoDB に VTL で PutItem をかけるときの基本的な書き方を紹介します。 blog.usize-tech.com 2024.02.26 AWS AppSync リゾルバ (VTL) の書き方サンプル No.5 – Amazon DynamoDB UpdateItem Amazon DynamoDB に VTL で UpdateItem をかけるときの基本的な書き方を紹介します。 blog.usize-tech.com 2024.02.27 AWS AppSync を使って React アプリからキックした非同期ジョブの結果をプッシュ通知で受け取る 非同期ジョブを実行した後、結果をどう受け取るか?というのは開発者として作り込み甲斐のあるテーマです。今回は React アプリが非同期ジョブを実行した後に、AWS AppSync 経由でジョブ完了のプッシュ通知を受け取る仕組みを紹介します。 blog.usize-tech.com 2022.12.01 やりたいこと 例えば、AWS AppSync から以下のリクエストを受けたとします。Amazon DynamoDB には適切なデータがある想定です。テーブル名はリゾルバの別の設定 (Data Source) で行います。 引数となるパラメータ: status の中に true/false の Boolean 値、パーティションキー pkey、ソートキー skey、属性 attr 今回は受け取った status をフラグとして、 true の場合はパーティションキーとソートキー、属性をそのまま PutItem し、 false の場合はパーティションキーとソートキーに該当するデータを DeleteItem します。 Amazon DynamoDB に命令する VTL リクエストマッピングテンプレート { "version": "2018-05-29", "operation": #if($context.arguments.status) "PutItem" #else "DeleteItem" #end, #if($context.arguments.status) "key": { "pkey": $util.dynamodb.toDynamoDBJson($pkey), "skey": $util.dynamodb.toDynamoDBJson($skey) }, "attributeValues": { "attr": $util.dynamodb.toDynamoDBJson($context.arguments.attr) } #else "key": { "pkey": $util.dynamodb.toDynamoDBJson($pkey), "skey": $util.dynamodb.toDynamoDBJson($skey) } #end } operation の部分に、上記のように if 分岐を書くことで、オペレーションを PutItem にするか DeleteItem にするか、1行で分けることができます。 当然、PutItem のときと DeleteItem のときで DynamoDB に渡す “key” の項目が異なりますので、そこも if 分岐を書きます。 簡単な処理であれば、1つの VTL で引数によって処理を変えられるので、使いようによっては開発を効率化できると思います。もちろん他のオペレーションにも応用できます。 レスポンスマッピングテンプレート 結果は配列に格納されます。戻ってきたデータをそのままアプリ側に戻す書き方です。 $utils.toJson($context.result) VTL に関しては以下の AWS 公式ドキュメントも必要に応じてご確認ください。 Resolver mapping template reference for DynamoDB - AWS AppSync Resolver Mapping Template Reference for DynamoDB for AWS AppSync. docs.aws.amazon.com まとめ いかがでしたでしょうか。 VTL 内では if 分岐を自由に書けるので、今回の例に限らずやりたいことを試してみて頂けたらと思います。 本記事が皆様のお役に立てれば幸いです。
どうも、SCSK株式会社の2023 Japan AWS Jr. Championsの齋藤です。 2024年4月30日を持ちまして、2023 Japan AWS Jr. Championsの任期が満了しました。 Jr.Championsという制度の第一期生ということで、1年間活動してきた記録や感想をこのブログで記載します。 2023 Japan AWS Jr. Championsの活動について そもそもJr. Championsとは何なのか?という方は下記サイトをご参照ください。 2023 Japan AWS Jr. Champions の発表 | Amazon Web Services 皆様、こんにちは!PSA (Partner Solutions Architect) の Yukki です。「 aws.amazon.com 2023 Japan AWS Jr. Championsは、大きく分けて2つの種類の活動特性があったと個人的に考えております。 コミュニティ活動としての特性 公人(インフルエンサー)としての特性 コミュニティ活動としての特性 2023 Japan AWS Jr. Championsでは、毎月約3つのコミュニティ活動があり、他社のJr.Championsなどと交流することができました。 AWS社主催のJr. Champions限定MeetUp Jr. ChampionsによるLTが多め。月によってはWorkshopやJAM大会など実施。 Jr. Champions有志による勉強会 Jr. Champions内のみで開催される有志によるLT会。 Jr. Champions有志によるTopEngineers招待の勉強会 TopEngineersを招待して、Jr. ChampionsによるLTを実施。 公人(インフルエンサー)としての特性 2023 Japan AWS Jr. Championsという名前を背負って公人として活動し、AWSの良さを社内外に幅広くアピールして、周りに影響を与えていく、つまりインフルエンサーのような活動を実施することが求められました。 例えば、JAWSなどの社外勉強会の登壇、社内コミュニティのリード、ブログの執筆、書籍の執筆などです。 これに関しては、自分で機会を探して、自ら手を挙げて積極的に発信をしていく必要がありました。   私のこれまでの活動記録 2つの活動特性がある「2023 Japan AWS Jr. Champions」として、どのような活動をしてきたか書いていきます。 社内での登壇 社内での登壇は下記2件を実施しました。 社内勉強会でのLT 社内で開催された勉強会で、私はAWSハンズオン教材に関する登壇を実施しました。 開催された勉強会が「AWSの勉強法について」のようなテーマだったため、私なりにハンズオンを用いた学習方法のおすすめポイントや、おすすめ教材などの紹介を実施いたしました。 新人研修での登壇 昨年度の自分が所属する部門の新人研修にて、Jr.Championsとして登壇をいたしました。 Jr.Championsは若手が目指す制度という特性があるので、同制度のメリットや、なるための心得といったことを新人向けへ話してきました。登壇後の新人からのアンケートでも、好意的なフィードバックをいただけたことは大変嬉しかったです。 社外での登壇 JAWS-UG東京 ランチタイムLT会 #5 2023年11月に開催されたJAWS-UGのランチタイム会に登壇をしてきました。 テーマは、「AWS上のサイバー攻撃に気をつけよう!」という内容で、よくあると感じるAWS上のサイバー攻撃の事例とその対策についてLTをしてきました。 初めて公の場でのLT登壇をしましたが、オンラインでのLTに慣れていたので、そこまで実感が湧かなかったです(笑) JAWS-UG東京 ランチタイムLT会 #5 (2023/11/21 12:00〜) JAWS-UG東京のリブート企画として開催したフリーテーマのランチLT会、好評だったので毎月継続します! オンラインなので全国どこからでも参加OK。お昼食べながら気軽にご参加ください👍 # アジェンダ 1時間以内でサクッと終わる予定です! ... jawsug.connpass.com グローバルクラウドアーキテクトコミュニティJapan Meetup 2023年11月にNTTデータ様主催のグローバルイベントにて、LT登壇を実施いたしました。 NTTデータ様の海外法人(スペイン、イタリア、ドイツ)のAWS Ambassadorの方々が来日し、各国のコミュニティ活動の事例などをお話しされていました。 グローバルクラウドアーキテクトコミュニティJapan Meetup開催! NTTDATAでは、技術力の最大化に向けて、クラウド技術に関するグローバル連携の強化を推進している。2022年の夏、コロナ禍の最中にスタートしたグローバルクラウドアーキテクトコミュニティ(Global Cloud Architect Com... www.nttdata.com また、イベントの中で、参加者の中から英語によるLT大会がありましたので、そちらに立候補してきました。 初めての英語のLTで、完全にカンペ頼りなLTになってしまいましたが、貴重な体験となったことは間違い無いです! JAWS DAYS 2024 2024年3月に東京・池袋サンシャインシティで開催されJAWS DAYS 2024に、ランチタイムスポンサーとして登壇してきました。 お昼の中の15分でLTができるという枠なので、このTechHarmonyのおすすめ記事を紹介するという内容で、弊社AWS Ambassadorと登壇してきました。 本イベントでは、他の登壇者や、ボランティアの中にもJr.Championsの方々が参加しており、Jr.Championsが登壇するセッションには他のJr.Championsが応援しにいくなど、Jr.Championsの強いつながりを実感したイベントでありました! オンサイトイベントでのLTは慣れておらず、発表は大変緊張しましたが、この1年で1番楽しかったイベントで間違いないです!! コロナ世代で社会人1日目からフルリモート勤務を経験した身としては、オンサイトでのコミュニティ活動の良さを実感したイベントですので、来年も同様のイベントに参加したいと思っています!! JAWS DAYS 2024 JAWS DAYS 2024 Official HP jawsdays2024.jaws-ug.jp Jr. Championsコミュニティでの登壇 前述の「2023 Japan AWS Jr. Championsの活動について」で記載したJr. Championsのコミュニティ活動においても、LT登壇などを実施してきました。 AWS社主催のJr. Champions限定MeetUpでの登壇 前述した「①コミュニティ活動としての特性」の中の①に該当するイベントで登壇をしてきました。 内容としては、「AWS上のサイバー攻撃に気をつけよう!」という内容です。社外登壇のJAWS-UGのランチタイム会とほとんど同様の内容ですが、登壇としてはこちらの方が先です。 Jr.Champions内のイベントで発表した際、好意的なフィードバックなどをいただいたため、社外イベントであるJAWSへの登壇を決めるきっかけになりました。 中々社外のイベントに出る勇気がなかったのですが、Jr.Champions内のイベントというクローズドな場で発表して手応えを感じたため、出てみようというきっかけを作ることができたと考えております。 TopEngineers招待の勉強会 前述した「①コミュニティ活動としての特性」の中の③に該当するイベントで登壇をしてきました。 内容としては、「AWSサポートの使い方」という内容で、AWSサポートには適切の適切な使い方と、アンチパターンなどを発信しました。AWSサポートの使い方について詳しく話をする人はそうそういないようで珍しがられました(笑) ちなみに、このTopEngineers招待の勉強会は、基本オンラインでの開催ですが、弊社の本社がある東京都江東区豊洲周辺の企業はオンサイトで集まって一緒に勉強会を聞くという「 豊洲会 」を開催しております。 私が登壇した際は、弊社の豊洲本社に社内外含めて30人ほど招いて開催をいたしました!   1年を振り返っての感想 Jr.Championsの1年は、大変多くの人や機会に恵まれた1年だと感じております。 多くのイベントに参加し、社内外の多くの人と交流できたことは、私のエンジニア人生でこれから何がしたいのかを考えるいい機会になりました。 この1年で自分には技術的な経験が不足していると感じたのと、これからもっと技術力を磨き、技術の素晴らしさを世に発信できる人になりたいと考えたため、4月から新しい仕事内容に従事し、技術的な研鑽を日々行っております。 Jr.Championsを卒業した後も、技術を勉強し、それを発信し続け、業界をリードできるような人材になれるように努力していきます。   これからJr.Championsになる方へ 私からこれからJr.Championsになる方へ下記2点をすることをお勧めします。 自己分析をすること とにかく発信すること Jr.Championsになって、積極的な発信を求められる立場になりましたが、私自身技術的な仕事をしているわけではなかったのと、周りのJr.Championsの方が強そうに見えて、どのような発信をすれば良いか悩んだ時期も少しだけありました。 しかし、周りのJr.Championsの方が積極的に発信している姿勢を見て感化させられた部分があり、自分の詳しい分野は何か?強みは何か?というのを考えて、徐々に発信活動を増やしていきました。 発信をしてみると、周りの方からは「勉強になりました!」と言ってくださる方も多く、非常にやりがいを感じるようになりました。 そして、発信活動を増やしていくと、周りの方々からお声がけをいただいてイベントに登壇する機会をいただけるなど、周りからの視線も変わってきて、多くの機会や人との出会いに恵まれるようになります。 そのため、これからJr.Championsになる方は、自分の発信できる領域が何かというのを考えて、とにかくなんでも良いので発信してみるといいと思います! 1年という役割の期間は、長いようで短いと感じており、悩んでた時期がもったいなかったなと今は考えておりますので、選ばれた方は貴重な1年をどう過ごすのかをしっかり考えて過ごしていくことをお勧めします!
こんにちは、SCSK株式会社の中野です。 2024年6月4日に最新バージョンであるZabbix 7.0 LTSがリリースされましたので、                         早速インストールしてみたいと思います。 今回は、AWS環境上にRHEL9.3を立てて、その中にZabbix(Ver.7.0)をインストールしてみました。 Zabbixとは まずはZabbixの説明を簡単にさせていただきます。 Zabbixは、エンタープライズ対応のオープンソース統合監視ツールです。 サービスやそれを支える ITシステム(サーバ、ネットワーク機器等)の状態を把握し、障害の予兆やサービスへ影響を及ぼす事象が発生した際に、システム管理者やオペレータに通知を行うオープンソースの統合監視ソリューションです。 数万デバイス規模のエンタープライズ環境でも多数の稼動実績を誇っています。 Zabbixの詳細情報については、下記リンクよりご確認ください。 Zabbix :: The Enterprise-Class Open Source Network Monitoring Solution ZabbixはITインフラストラクチャ・コンポーネントの可用性やパフォーマンスを監視するためのエンタープライス向けソフトウェアです。Zabbixはオープンソース・ソフトウェアとして開発されており、無料でダウンロードいただくことが可能です。 www.zabbix.com   導入手順 早速、Zabbix7.0を導入していきたいと思います。今回の構成は以下とさせていただきます。 ZABBIX VERSION: 7.0 LTS OS DISTRIBUTION: Red Hat Enterprise Linux OS VERSION: 9 DATABASE: MySQL WEB SERVER: Apache SELinux: 無効 Firewalld: 無効 関連パッケージのインストール、DB初期設定 Zabbixをインストールする前に、MySQLとApacheをインストールしておきます。 # 関連パッケージのインストール dnf install mysql-server httpd # データベースを起動 systemctl start mysqld systemctl enable mysqld 続いて、Zabbix用データベースを作成します。                                          DB名、アカウント名やパスワード環境に応じて設定いただければと思います。 # DBへの接続 mysql -uroot -p Enter password: (MySQLのrootアカウントのパスワードを入力) # DB、アカウントを作成 > CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin; > CREATE USER zabbix@localhost IDENTIFIED BY 'zabbix'; > GRANT all privileges ON zabbix.* TO zabbix@localhost; > SET global log_bin_trust_function_creators = 1; > exit Zabbixサーバのインストール Zabbixをインストールする前に、専用のリポジトリを追加します。 # 専用リポジトリのインストール rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rhel/9/x86_64/zabbix-release-7.0-2.el9.noarch.rpm # キャッシュのクリア dnf clean all # Zabbixサーバのインストール dnf install zabbix-server-mysql zabbix-web-mysql zabbix-web-japanese zabbix-apache-conf zabbix-sql-scripts zabbix-agent 続いて、Zabbix用データベースへ初期データをインポートします。 # DBへ初期データをインポート zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix Enter password: (MySQLのzabbixアカウントのパスワードを入力) 初期データのインポート後、log_bin_trust_function_creatorsを無効にします。 # DBへの接続 mysql -uroot -p Enter password: (MySQLのrootアカウントのパスワードを入力) > SET global log_bin_trust_function_creators = 0; > exit その後、Zabbixサーバーの設定と起動を行います。 # 各パラメータ設定 /etc/zabbix/zabbix_server.conf DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=zabbix # サービスの起動 systemctl start zabbix-server zabbix-agent httpd php-fpm systemctl enable zabbix-server zabbix-agent zabbix-agent httpd php-fpm Zabbix WEBコンソールへのアクセス Zabbixのインストールは完了しましたので、Webコンソール上でセットアップしていきます。 ブラウザを立ち上げて、以下にアクセスします。 http://xxx.xxx.xxx.xxx/zabbix xxxには、今回構築したIPアドレスを入れてください。例えば、もしZabbixサーバーのIPアドレスが192.168.0.1なら、アドレスバーには”http://192.168.0.1/zabbix”と入力します。 言語を【日本語(ja_JP)】に変更して、【次のステップ】をクリックします。 すべての項目が「OK」になっていることを確認し、【次のステップ】をクリックします。 パスワード欄に先ほど設定したZabbixDBのパスワードを入力し、【次のステップ】をクリックします。 タイムゾーン欄で【(UTC+9:00) Asia/Tokyo】を選択、Zabbixサーバ名を記入し、【次のステップ】をクリックします。 設定内容に問題がなければ、【次のステップ】をクリックします。 【終了】をクリックすると、以下のようなログイン画面が表示されます。 初期状態でユーザーが登録されているので、以下のユーザー名・パスワードでログインします。 ユーザ名:Admin パスワード:zabbix ログインすると、WEBコンソール画面が表示されます。 以上でZabbixのインストールは完了です。   最後に Zabbix7.0は以前のバージョンと比較的に変わりなく、インストールすることができました。 Zabbix7.0はプロキシ冗長化構成や分散監視の実装、スクリーンショットも取得ができる新しいWeb監視、監視処理の効率化によるパフォーマンスの大幅な向上やダッシュボードの新しいウィジェットなど、非常に多くの機能を実装しているとのことです。 今回はインストールのみでしたが、新機能も試してみて情報を発信していきたいと思います。                     最後まで読んでいただき、ありがとうございました。
Prisma Cloudでは、クラウドインフラストラクチャ全体の設定ミスやリスクを監視するために”ポリシー”と呼ばれるものを使用します。 ポリシーには複数のポリシータイプが存在しますが、その中でもAttackPathポリシーは重要度が高いポリシーとなっています。 今回は、AttackPathポリシーの重要性と検知の仕組みについて調査した結果をもとに解説していきたいと思います。 AttackPathポリシーとは? AttackPathポリシーは、セキュリティリスクの高い経路を特定し、対策を講じるためのポリシーです。 AttackPathポリシーはデフォルトで有効になっており、さまざまなセキュリティリスクを評価して相関関係を見つけ出します。 セキュリティリスクを評価して相関関係を見つけ出します、と言われてもピンと来ないと思いますので、例を挙げて説明したいと思いますが、たとえば以下のようなインスタンスA・Bがあったとします。 ・インスタンスA:脆弱性を抱えている ・インスタンスB:脆弱性を抱えている、 かつ、パブリック公開されている この場合、脆弱性を抱えているのはインスタンスA・Bどちらも同じですが、パブリック公開されているインスタンスBの方がAと比較してセキュリティリスクが高い、というような考え方ができるかと思います。 このように、複数の条件(セキュリティリスク)に当てはまるものは攻撃や侵害を受ける可能性が高いとしてアラート検知するのがAttackPathポリシーとなります。   なぜAttackPathポリシーが重要なのか? AttackPathポリシーは、セキュリティ侵害の可能性を高める要因を特定する意味で非常に重要になります。 要因には、過度に寛容なIDや権限、ネットワークへの露出、インフラストラクチャの設定ミス、アプリケーションの脆弱性などが含まれます。これらの要因が組み合わさることで、リスクがより高まることになります。 AttackPathポリシーは、こうしたリスク要因を視覚化し、すぐに対応が必要なものを特定するのに役立ちます。 特に、インターネットに公開されている仮想マシンやアプリケーションが、外部からの攻撃に対してどれだけ脆弱であるかを把握するのに役立ちます。 たとえば、脆弱性を抱えるリソースが大量にあったとして(それはそれで問題がありますが)、AttackPathポリシーで検知されたアラートを確認することで、よりリスクが高いリソースから優先的に対処していくといった対応が可能になります。 AttackPathポリシーのほとんどはPrismaCloudが定めているポリシー重要度がCritical(一番重要度が高い)となっていることからも、その重要性が伺えるかと思います。 アラートが大量に発生して対応が追い付いていない状態になってしまっているような場合でも、AttackPathポリシーで検知したアラートは最優先で確認・対処すべきというような位置づけだと考えられます。   AttackPathポリシーでの検知の仕組み AttackPathポリシーで監視を行うためには、まずポリシーが有効化されている必要があります。 基本的にはデフォルトで有効になっていますが、PrismaCloudコンソールで[ガバナンス]を選択し、ポリシータイプを「AttackPath(攻撃経路)」でフィルタリングして、AttackPathポリシーが有効になっていることを確認できます。 また、各AttackPathポリシーは、それぞれ複数のルールがあり、すべてのルールに一致するものが見つかるとアラートを生成する動きになります。 イメージが付きづらいと思うので、「Data breach risk due to an Azure Cosmos DB that is reachable from untrusted Internet sources having key based authentication enabled」というAttackPathポリシーで検知した場合を例に挙げて説明したいと思います。 ・検知したアラートのポリシー名の左横にあるマークをクリックします   ・左ペインで「ルールの表示」を選択すると、このAttackPathポリシーで検知する条件となるルールが表示されます。 以下の場合、 ①Azure Cosmos DB (PaaS) instance reachable from untrust internet source ②Azure Cosmos DB key based authentication is enabled という別のポリシーがあり、その両方でアラート検知されていることがこのAttackPathポリシーで検知するためのルールになります。 ・試しに①②のポリシーでアラート検知しているか確認したところ、AttackPathポリシーでアラート検知されていた「cosmosdb-test-account」というリソースに対して、①②両方のポリシーでアラート検知されていることが確認できました 上記の通り、AttackPathポリシーには、複数のポリシーでアラート検知していることを条件(ルール)としているものが存在します。 その場合には、ルールとなっているポリシーすべてについても有効化されている必要があることに注意しましょう。   AttackPathポリシーの注意点 「AttackPathポリシーでの検知の仕組み」でも触れた通り、AttackPathポリシーは様々なセキュリティ侵害の可能性を高める要因の組み合わせでアラート検知します。 要因の中には、CSPM機能だけ利用している場合には監視できないものも含まれています。 たとえば、CWPP(Prisma CloudのCompute機能)で検知される項目がルールの一つになっている場合や、CIEM(Prisma CloudのIAMセキュリティ機能)で検知される項目がルールの一つになっている場合は、その機能が利用できる状態になっていないとアラート検知しませんので、その点は注意が必要です。   まとめ 調べてみた結果、AttackPathポリシーがセキュリティリスクを特定し、対策を講じるのに役立つ重要なポリシーであることが分かりました。次回も、Prisma Cloudについて情報をお届けできればと思います。 また、当社では、複数クラウド環境の設定状況を自動でチェックし、設定ミスやコンプライアンス違反、異常行動などのリスクを診断するCSPMソリューションを販売しております。 マルチクラウド設定診断サービス with CSPM| SCSK株式会社 マルチクラウド環境のセキュリティ設定リスクを手軽に確認可能なスポット診断サービスです。独自の診断レポートが、運用上の設定ミスや設計不備、クラウド環境の仕様変更などで発生し得る問題を可視化し、セキュリティインシデントの早期発見に役立ちます。 www.scsk.jp ご興味のある方は是非、お気軽にお問い合わせください。
こんにちは。SCSK三上です。 今年もラスベガスで開催された、インフォマティカの “データマネジメント”の最大カンファレンス の一つである、 Informatica Worldに参加してきました! 昨年度の参加レポート↓ Informatica world 2023 参加レポート – TechHarmony (usize-tech.com) 1.カンファレンス概要 5月20日(月)~5月23日(木)午前迄の4日間でラスベガス Mandalay Resort&Casinoホテル で開催されました。 日本からは 17社31名 参加しています!SCSKからは私含め3名で参加してきました。 時差は16時間あるため、4泊6日しています♦フライトは行きはサンフランシスコ経由、帰りはロサンゼルス経由と、どちらも15時間以上のフライトで移動だけで一苦労でしたが、機内食もおいしく(ハーゲンダッツ付き!)映画も豊富で満喫しました🎵 本題に戻りまして、今年のメインメッセージは、 “ Everyone’s ready for AI expect your data ” ~AIを生かすデータを全社規模で適切に管理し、データと共にAIに命を吹き込む~ です。 昨年度はデータに注目されていましたが、今年度はそれに加えAIが強く伝えられていました。 2023年は、「 Where your data comes to LIFE 」2024年は、「 Where data & AI come to LIFE 」とデータ・AIが大切であることが伝わるメッセージでした。   2.セッション報告 セッションは9種類のタイプに分かれており、タイムテーブルを自分で作成して様々なセッションに出ることができました! 私は、KeynoteをはじめとしCDGC関連のセッションに参加しました。Round Tableのような会話型セッションに出る勇気が最後まで出ず…。少し悔やまれます… タイプ 講演者 講演テーマ Data and AI Architecture Summit ​ INFA   ( インフォマティカ )、 アナリスト、 パートナー、顧客 ​ 最新のアーキテクチャトレンド ​ Data and AI Market Insights Summit ​ INFA 、アナリスト、パートナー、顧客 ​ 最新の市場動向 ​ Partner Summit ​ INFA ​ 最新の INFA パートナー戦略 ​ Industry Summit ​ INFA 、顧客 ​ 最新のインダストリー・トレンド ​ Modernization Summit ​ INFA 、顧客 ​ 最新のモダナイゼーション・トレンド ​ Keynote ​ INFA 、パートナー、顧客 ​ 最新のデータマネジメント戦略 ​ Breakout Session /  Innovation Theater ​ 顧客、パートナー ​ 最新の顧客事例 ​ Deep Dive   /   What’s   New ​ INFA ​ 最新の INFA クラウド・サービス ​ Round Table ​ INFA ​ 双方向型の相談会 ​ Keynote:Informatica CEO, Amit 基調講演にはインフォマティカのCEOであるAmitが登壇し、様々なメッセージが伝えられました。 AIだけでは価値は生まれず、 AIに価値を生み出してもらうためにはデータが必要 である。 正確かつタイムリーにアクセスが可能で管理・保護され、民主化されたデータ。 しかし、あらゆる組織がAIの準備を整えているが、自社データについては準備できていない。 これらの データを生み出すものこそが、データマネジメント であり、イノベーションをリードするのがインフォマティカである。 Keynote:IDMC戦略発表 Keynoteの中では、インフォマティカ製品に関する機能拡張の発表がありました。 気になった発表を3点ほど上げていきます! IDMCの生成AI対応 データ統合やAPI統合、データ品質、データカタログなど従来から提供されているあらゆる製品が生成AI対応されていくそうです! 非構造化データ:非構造化データへのデータコネクタ提供や生成AIには不可欠なドキュメント、画像、動画データに対するメタデータ管理をサポート Vectorデータベース:こちらも生成AIに欠かせないVectorデータベースとの統合をサポート 言語モデル:LLMとのデータ統合をサポート データ統合/iPaaS データ統合/iPaaSで印象的だったのは、 自然言語対応のプロンプトが提供 されるということです。 こちらの画面にある通り、「AシステムとBシステムをデータ連携したい」と伝えるとデータ連携をしてくれる、そんな機能です。 この機能によりETLパフォーマンスが10倍向上し、ETL作業が90%削減されるとのことです。便利ですね~ 生成AIに対応したiPaaS機能を利用することでアプリ開発が1時間に短縮される事例も紹介されました。 CLAIRE GPT そして、今回最大の発表は、「 CLAIRE GPTのリリース完了 」でした! ~CLAIRE GPTとは~ Chat GPT のような会話型インターフェースで、 ​ 質問や依頼を投げることで CLAIRE GPT が回答・実現してくれる。 ​ 以下のような質問をCLAIRE GPTに投げることで裏でサービスが動き、CLAIRE GPT上に回答しれくれる、そんな機能です。 「売り上げ分析に使えるデータはある?」 「販売データはどこから持ってきているデータ?」 「在庫データの品質は?」 「データ連携のパイプラインを作成して」 CLAIRE GPTは全面的にアピールされており、基調講演だけでなくPavilionスペースでデモも行われていました。 今回はPavilionの一部で インフォマティカジャパン 森本様によるCLAIRE GPTデモ解説コーナー があり、日本人に大盛況でした! CLAIRE GPTは現在、 North AmericaでAWS Podを利用しているユーザ に限り使用できるそうです! 今後は他Podへの展開や日本語対応も可能になっていく…?とのことです。   3.Japan Partner Group Meeting with Amit そして今回は 日本から17社31名 で参加したのですが、パートナーとCEOであるAmit氏とのMeetingが開催されました。 この際、CLAIRE GPTの日本語対応も考えていく…と回答いただきました! その他にもモダナイゼーションのロードマップやMDMのマイグレーション、パートナー育成など様々な質問に答えて下さりました。 写真にはありませんが、パートナー17名で参加し活発なディスカッションが行われました。 ↓ 最後にツーショットも撮っていただきました🎵「Akikoは日本らしい名前で素敵だね!」と言ってくださいました♦ 4.現地状況 また会場では、VR体験やものづくりコーナーなどセッションだけではなくイベント自体を盛り上げるパフォーマンスがたくさん行われていました! (おそらく)有名な方のパフォーマンスは圧巻でした🎵 そして、超円安でのアメリカ!ホテルのお水は25$、コーヒーは16$でした…。 イベントでは無料でお水・コーヒーが飲めるコーナーがあるので、 ホテルで水を切らしたときには喉をカラカラにさせながら朝を待ちました…。 ラスベガスだというのにカジノをやらなかったことが悔いが残りますが、街全体が最高の景色で大満足です♡ 4.感想 初海外イベント参加で一番に感じたのはやはり” 英語力 “です…。 旅行レベルでは何とかなっていても、ビジネス英語は全くダメだと痛感しました…。 セッションも資料が投影されていれば、何となく言いたいことは分かるものの、 トークセッションになると何を話しているのか?会場全体がなぜ笑っているのか?ついていけないことが多々ありました…。 英語は常にアウトプットしていかなければですね!! また、ジャパンのパートナーとしては、CLAIRE GPT含め「 拡張機能の日本語対応はいつだろう… 」と思う発表も多々ありましたが、 他人事として待つのではなく、 ジャパンパートナーとして日本の事例を増やす 。これこそが、スピーディーな日本語対応に繋がるのだと、 改めてパートナーとしての役割を感じました! キャリーケースがボコボコになって返ってきたり、航空中耳炎になったり色んなトラブルもありましたが、 このような機会がないとお会いできない他社パートナーの方と出会えたことがこの出張一番の思い出です★ 今後もインフォマティカに関する技術情報、アウトプットしていこうと思います! 9月にはInformatica World Tour Tokyo 2024も開催予定です!ぜひチェックしてみてください~ Informatica World Tour 2024 – Join Us in a City Near You 以上、ご拝読いただきありがとうございました🎵
こんにちは、SCSK株式会社の川原です。 いよいよ日本最大の “AWS を学ぶイベント” AWS Summit Japan 2024 が近づいてきました! SCSKはプラチナスポンサー として、スポンサーセッションでの事例紹介とブースの出展を行います。 今回は、特にブースの詳細をご紹介します! 概要とスポンサーセッションの情報については、以前発信した記事に掲載していますので、ご確認ください。 AWS Summit Japan 2024に出展します! SCSKは 2024/6/20(木)~6/21(金)開催の日本最大の AWS を学ぶイベント「AWS Summit Japan」に出展します。 SCSKセッションでは、”データセンターのラックぜんぶ抜く!SCSK だからできる脱オンプレの秘策とは?”というテーマで、沖電気工業様のマイグレーション事例をご紹介いたします。 blog.usize-tech.com 2024.05.09 まだご登録がお済みでない方はぜひご登録ください↓↓   「AWS 愛が、凄い 。SCSK」 ブースのご紹介 SCSKブース(H4-P011)では「 AWS愛が、凄い。SCSK 」をテーマに、お客様のAWS利活用ステージに合わせて貢献できる各種ソリューションを出展します。 SCSK独自ソリューションの4商材を展示 、 ミニシアターでは7つのAWS関連ソリューションから発表いたします。 展示商材のご紹介 各商材のブースでは、実際のデモンストレーションを交えてご用意しております。 実際の操作画面や使用シナリオを通じて、各ソリューションの具体的な機能や利便性を直接体験いただけます。各ソリューションがどのようにお客様のビジネス課題を解決するのか、より深く理解していただけることと思います。 展示商材 紹介 クラウド移行 (ITX for MCP SCSK版) 2025年の崖が迫る中、SCSKではAWSへのリフト&シフトの豊富な移行メソッドを詰め込んだITXパッケージをAWSとともに一早くリリースしました。 時代は進み、今はクラウド徹底活用のためにクラウドネイティブが主流となっています。周回遅れと感じているお客様、リフトは終えこれからDX推進のためにクラウドネイティブ化を考えているお客様、いずれにもSCSKにお任せ下さい。弊社のITX紹介ブースへぜひお立ち寄りください! データ活用 (SCSKクラウドデータ活用サービス) 「データ活用をすぐに初めたいけど、どうしたらよいか分からない、コストもかけられない」そんなお悩みを1日で解決します! AWS × Snowflake × troccoの組み合わせでお客様のデータ価値がどのように最大化されるのかをご紹介します。さらに、SCSKのノウハウを集約した、すぐに使える「ナレコレBI」による経営課題の可視化・分析や、Amazon DataZoneによるデータコラボレーションが体験できます! 生成AI かんたんRAG構築 (InfoWeave) 生成AIを業務に組み込みたいが、何から始めればいいかわからない、セキュリティやコストが不安と思ったことありませんか? SCSKではナレッジを基に生成AIが回答してくれる RAG環境を構築できるテンプレートを提供するInfoWeaveをリリースしました 。最短3日で安価に、セキュリティやコストを考慮したRAG環境を構築できますので、PoCや自社業務への生成AI導入の第一歩に最適です! 製造現場 デジタル化 (Duetics) Duetics(デュエティクス)は製造現場のデジタル化を支援するトータルソリューションです。 AWSを活用したクラウドアプリケーションはもちろん、現場からクラウドに直結するネットワークや、現場でデータ収集・分析を行うエッジコンピューティングなど、必要なサービスを一気通貫でご提供致します。AWS Summit Japanではミニチュア工場を用いてデータ収集・可視化・分析を実現するデモをご用意し、皆様のご来場をお待ちしております。   ミニシアターのご紹介 7つのAWS関連ソリューションについて、1日に各2回ずつ講演を行います。 最新の技術トレンドを交えながら、 SCSKの豊富なソリューションの特長やAWS活用について専門スタッフがご紹介します。 当日表彰される AWS AmbassadorやTop Engineerも多く登壇予定です! ぜひお見逃しなく!    【Day1 – 6/20】       【Day2 – 6/21】 商材名 紹介 AWS ハイブリットクラウド (USiZE) SCSKのプライベートクラウドUSiZE(ユーサイズ)とAWSを組み合わせたハイブリッドクラウドの実現についての講演です。 マーケットニーズは、パブリッククラウドファーストから、システムを適材適所に配置したハイブリッドクラウド構成に変化しています。本講演では、パブリッククラウド利用における課題とニーズの観点から、なぜプライベートクラウドUSiZEが必要とされるのかを紹介します。 クラウドデータベースマイグレーションサービス AWS環境におけるデータ活用を見据えた最適なデータベースを選択し、確実でスピーディなデータベース移行を実現するサービスです。 「DBアセスメント」によりお客様にとって最適なデータベース選択と移行計画をご支援し、単純リフトから異種DB移行も含めたシフトまで幅広いDB移行に対応したサービスです。Oracle DBからAmazon Auroraなどの異種データベース移行を得意としています。 SCSKクラウドデータ活用サービス 「データ活用をすぐに初めたいけど、どうしたらよいか分からない、コストもかけられない」そんなお悩みを1日で解決します! AWS × Snowflake × troccoの組み合わせでお客様のデータ価値がどのように最大化されるのかをご紹介します。 ProActive C4 SCSKが提供するクラウドERP「ProActive C4」 Amazon QuickSightと連携した最新機能「ダッシュボードソリューション」など、本製品におけるAWSテクノロジーの活用事例を中心に、概要や特長について分かりやすくご紹介いたします。 CELF 「CELF」は、表計算ソフトに似た操作性で業務アプリを作成、利用できるノーコード開発ツールで、国内外で約1,000社以上の企業様が導入、また販売や開発をサポートいただくパートナーも約120社以上です。 予算実績管理や見積・案件管理、マスター管理など現場に密着した業務で高い効果を発揮するほか、AWS内でのERPやAmazon QuickSightとデータ連携する上で必要なデータ加工などにも対応可能です。 AI駆動開発 生成AIの登場によりシステム開発は単なる効率化に留まらない変化が起きつつあります。従来の生産性の向上に留まらず、開発プロセス全体にわたる変革へとシフトしています。 本セッションでは、SCSKにおけるAI駆動開発への取り組みを交えてご紹介します。 生成AI RAGソリューション (InfoWeave) 生成AIを業務に組み込みたいが、何から始めればいいかわからない、セキュリティやコストが不安と思ったことありませんか? SCSKではナレッジを基に生成AIが回答してくれるRAG環境をテンプレートで構築するInfoWeaveをご紹介します。 当日は、【H4-P011】ブースでお待ちしております! こちらのTシャツを着たスタッフがお待ちしております。 それでは、皆様の来場を心よりお待ちしております!
こんにちは。SCSKの江木です。 2024年5月にGoogle Cloud認定資格を全冠しました。 今回は、私が実際にどのように学習を進めてきたのか、具体的な勉強法や感想をお伝えしていきます。 これからGoogle Cloud認定資格取得を目指す方にとって、少しでも参考になれば幸いです。 Google Cloud11冠までの道 受験日と各試験の詳細は以下の通りです。ノーミスで11冠を取ることが出来ました。個人的な難易度は完全な主観になります。 カテゴリ 試験名 言語 受験日 個人的な難易度(5段階評価) Foundational Cloud Digital Leader(CDL) 日本語対応 2023-10-10 ★ Associate Cloud Engineer(ACE) 日本語対応 2023-10-15 ★★ Professional Cloud Architect(PCA) 日本語対応 2023-10-31 ★★★★ Professional Data Engineer(PDE) 日本語対応 2023-11-21 ★★★ Professional Cloud Developer(PCD) 日本語対応 2024-01-05 ★★★ Professional Cloud Security Engineer(PCSE) 日本語対応 2024-01-08 ★★★ Professional Cloud Network Engineer(PCNE) 日本語対応 2024-02-03 ★★★★★ Professional Cloud DevOps Engineer(PCDOE) 日本語対応 2024-03-03 ★★★ Professional Google Workspace Administrator(PGWA) 日本語対応 2024-03-16 ★★★ Professional Cloud Database Engineer(PCDE) 英語のみ 2024-04-06 ★★★★ Professional Machine Learning Engineer(PMLE) 英語のみ 2024-05-22 ★★★★ きっかけ 2023年9月より、Google Cloudに関する業務を行っていましたが、知識が足らず業務についていけない日々を過ごしておりました。危機感を覚え、知識を付ける必要があると感じ、Google Cloud認定資格を取得しようという思いに至りました。 今回11冠を成し遂げたのは自分の頑張りに加えて、職場の皆様のサポートによるところが大きいです。心よりお礼申し上げます。 受験順序 私の受験順序とオススメの受験順序を紹介します。私の受験順序は勉強の手戻りが多く発生しており、オススメできません。一通り受験した上で最短の勉強時間で11冠できるであろう受験順序を考えたので、そちらをオススメの受験順序として紹介します。 私の受験順序 私は業務で関連するサービスが多い順序で受験していきました。ポイントは下記の通りです。 CDL、ACE、PCAは基礎固めなので、最初に受験する 業務に関連する順序で受験する(PDE以降は人により異なります) 英語のみの試験はできるだけ近い日程で受験する この順序でのメリットは「業務理解が早くなる」ことが挙げられます。 オススメの受験順序 オススメの受験順序としては試験範囲が近いものをまとめて受験することです。ポイントは下記の通りです。 CDL、ACE、PCAは基礎固めなので、最初に受験する PCSE、PCNEは近い日程で受験する PDE、PCDEは近い日程で受験する PCD、PCDOEは近い日程で受験する この順序のメリットは冒頭でも紹介した通り、「勉強時間を最短にできる」ことが挙げられます。 勉強法 私は 試験理解 -> 知識のインプット -> 知識の整理 -> 問題集を解く -> 知識のインプット -> 知識の整理 -> 問題集を解く… という勉強サイクルを実施しました。このサイクルのうち、  知識のインプット -> 知識の整理 -> 問題集を解く を何回も繰り返すことで知識の定着を図りました。勉強サイクルのステップの詳細を説明していきます。 試験理解 試験を受ける前にまず試験の内容について把握しなければなりません。試験の内容については以下の試験ガイドをご参照ください。 Which Google Cloud Certification exam should I take? | Google Cloud Blog Interested in becoming Google Cloud certified? Wondering which Google Cloud certification is right for you? We’ve got yo... cloud.google.com 試験ガイドにて把握すべきものは「出題形式」、「出題内容」、「出題されるサービス」です。特に「出題されるサービス」が大切なので、必ず把握してください。 試験ガイドでも試験について知ることが出来ますが、合格体験記ブログを見ることも試験を知ることにつながります。試験の難易度や雰囲気を知ることができるので、かなりオススメです。 知識のインプット 試験理解 にて把握した「出題されるサービス」をもとに勉強していきます。私は書籍、Udemyの講座、公式ドキュメント、ハンズオンを活用して勉強しました。これらのコンテンツを使用する上でのポイントは以下の通りです。 まずは書籍、Udemyの講座で学習する 書籍、Udemyの講座を見てわからなければ、公式ドキュメント、ハンズオンの順で活用する ハンズオンまで行うことで、よくわからないサービスについて理解を深めることができます。 知識の整理 インプットした 知識の整理 をしています。私はメモ帳、Notionなどのツールを用いて、自分なりに文章を書いて整理していました。頭の中の知識を実際に文字に起こすことで、理解できていない箇所を特定でき、理解を深めることにつながります。私は「サービスの内容」、「使用方法」、「使用する上での注意点」を意識して整理していました。 構成図を確認したり、自分で書いてみることもオススメです。ネットワークの構成やパイプラインなど、図を書いたほうがよい分野もあります。 問題集を解く 私は公式問題集とUdemyの問題集を利用しました。少なくとも5周以上解くようにしていました。(つまり、 知識のインプット -> 知識の整理 -> 問題集を解く というサイクルを5周以上するということです。)復習する際は以下のポイントに注意していました。 間違えた問題は間違えた理由を明確にする 正解しても必ず復習する(偶然正解した可能性があるから) 上記のポイントに注意して、問題集を5周解いたときにはかなりの自信に満ち溢れているはずです。是非試してみてください。 11冠を終えて 11冠できて本当に嬉しい という率直な感想になります 。 昨年9月から11冠したい思いが強かったので、達成感を感じています。これからもこの経験を活かして、さらなるスキルアップを目指していきます。 11冠達成は大変でしたが、大きな恩恵を得ることができたと思っています。11冠達成によって得られた恩恵としては、業務遂行能力の向上があります。以前はGoogle Cloudに関する知識不足から業務遂行に支障をきたすことがありましたが、11冠達成後はほとんどなくなりました。 さらに、実装の幅が広がるという恩恵もありました。資格試験の勉強を通して知識が深まったことで、実装方法を複数思いつくことができるようになりました。 おわりに 今回はGoogle Cloud認定資格を11冠した軌跡をまとめてみました。 11冠達成した今、私としては、11冠達成はあくまでもエンジニアとしての通過点に過ぎないと感じました。 Google Cloud認定資格11冠の達成という貴重な経験を糧に、今後もエンジニアとして成長し続けていきたいと思います。 最後まで読んでいただき、ありがとうございました!!  
こんにちは。SCSKの島村です。 Google が提供するAIノートブックアプリ「NotebookLM」をご存知でしょうか。 Gemini 1.5 Pro を搭載した更新版の NotebookLM  を日本語を含む言語で 200 以上の国と地域に順次提供開始されました。 詳細はこちら☟☟☟  NotebookLM を日本語でも提供開始。ウェブサイトや Google スライドにもサポート (blog.google) 本記事では、 『NotebookLM』について実際に触ってみたキャプチャと共にその魅力について少しだけご紹介させていただければと思います。 弊社では、Google CloudのAI/MLの技術を生かしたソリューションを提供しております。 2024 年 8 月 1・ 2 日にパシフィコ横浜ノースにて開催される Google Cloud Next Tokyo ’24  につきましても、SCSKとして出展をさせていただきます。    ご興味ございましたら、以下応募ホームよりご登録いただけますと幸いです。よろしくお願いいたします。 ■開催概要 日程: 8 月 1 日(木)、 2 日(金) 会場: パシフィコ横浜ノース 主催: グーグル・クラウド・ジャパン合同会社 申し込み時に是非、『 招待コード : FY24nx_pt030』よりご登録ください。         HOME – Google Cloud Next Tokyo ’24 (cloudonair.withgoogle.com)   NotebookLMとは?? Googleが発表した 「AI を活用したリサーチや執筆する際のアシスタントサービス(NotebookLM)」 公式ドキュメントの説明を覗いてみると以下の記載があります。  NotebookLM とは – ヘルプ (google.com) NotebookLMでできること 複雑な資料を理解して精査し、情報から新しい類似性を見つけ、下書きなどをすばやく作成するのに役立つツール NotebookLM を日本語でも提供開始。ウェブサイトや Google スライドにもサポート (blog.google) 研究論文や取材記録、仕事でのドキュメントなどの参照文献(ソース)をアップロードすると、NotebookLM がそれらの重要な資料を理解し、必要なサポートを提供してくれます。 また、Gemini 1.5 Pro のネイティブなマルチモーダリティにより、スライドやドキュメント内の画像、グラフ、図についても質問できるようになりました。NotebookLM では、関連する場合、裏付けとなる証拠として画像の引用も含まれます。                 ■ 利用可能なソース 『Google ドキュメント、PDF、テキスト ファイルに加えて、Google スライドと Web URL 』をソースとしてサポート ■ 生成機能(NotebookLM でできること) [FAQ] :ソースとしてインポートしたドキュメントに基づいて一問一答形式で、『FAQ』を生成 [Study Guide] :ドキュメント内の重要な単語や用語を整理し、学習の為のガイド(試験問題のサンプル等)を生成 [Table of Contents] :アップロードした各ドキュメントに関するポイントを個々に整理 [Timeline] :日付・スケジュールに関する情報を抜き出し、予定や出来事を時系列で整理 [Briefing Doc] :ドキュメントソース全体をまとめたブリーフィング資料を生成   NotebookLM 利用手順 実際の利用手順について簡単にまとめてみました。 以下、URLより『NotebookLM』へ接続が可能です。画面右上の[Try NotebookLM]よりログインください。 *Googleアカウントでのログインが必要となります。アカウントをお持ちでない方はアカウント作成から実施ください。 NotebookLM | Note Taking & Research Assistant Powered by AI ログインでき、以下の画面になれば利用開始準備はOKです。 『New Notebook』より新しいノートブックを作成できます。 実際に作成し、利用中のノートブックのイメージ   触ってみた①:SCSKホームページからFAQ抽出を行ってみた。 『NotebookLM』で利用できる機能についていくつか試してみたのでご紹介いたします。 ● データのインポートについて [Upload from]として、[Drive / PDF / Text file / Copied text Website]を選択可能です。 今回は、[Website]を選択してみました。 *弊社SCSK株式会社のホームページをソースとして指定してみます。 ● インポートしたソースからのFAQの作成 [*ノートブックガイド]より、[FAQ]を押下することで生成できます。 実際に生成されたFAQがこちら☟ SCSK株式会社に関するよくある質問(FAQ機能より生成) 1. SCSK株式会社はどのような会社ですか? SCSK株式会社は、50年以上にわたり、企業のビジネスに必要なITサービスを提供してきた会社です。8,000社を超えるお客様の課題解決をサポートしてきた実績があります。ITサービスの提供にとどまらず、お客様やパートナー企業と共創し、様々な社会課題の解決を目指しています。 2. SCSK株式会社の強みは何ですか? SCSKは、ITサービスをフルラインアップで提供できることが強みです。お客様のニーズに合わせて、最適なソリューションを提供することができます。また、長年の経験で培われた豊富なノウハウと、最新技術にも精通した技術力も強みです。 3. SCSK株式会社はどのような事業を行っていますか? SCSK株式会社は、DX、モビリティ、金融、ヘルスケア、カスタマーエクスペリエンスなど、幅広い分野で事業を展開しています。お客様のデジタルトランスフォーメーションを支援するサービスや、各業界特有の課題を解決するソリューションを提供しています。 4. SCSK株式会社の注力しているサービスにはどのようなものがありますか? SCSK株式会社は、顧客体験の向上、働き方改革の促進、IT業務のアウトソーシングなどを重点サービスとしています。これらのサービスを通じて、お客様のビジネスの成長と、従業員の働きがい向上を支援しています。 5. ・・・・・・・ 与えたソース(SCSK株式会社のURL)から、適切な情報を収集しているように感じます。 また、FAQとしての分量も適切で、気になるようなハルシネーションも少ないように思います。   触ってみた②:SCSK株式会社に関するクイズを作成してみた。 製造業続し、その場で対象物を撮像し本番ラインを想定した外観検査のデモを実施いたしました。 ● インポートしたソースからのStudy Guideの作成 [*ノートブックガイド]より、[Study Guide]を押下することで生成できます。 質問 解答 SCSKは、どのような事業内容の企業ですか?具体的な事業内容を2つ挙げ、それぞれ1文で説明してください。 SCSKの強みとして、ウェブサイトで強調されているポイントはどのようなものですか?具体的な例を挙げ、1~2文で説明してください。 SCSKが提供するサービスの中で、「CUSTOMER EXPERIENCE」と「WORKSTYLE REFORMS」は、それぞれどのような顧客ニーズに応えるものですか?それぞれ1文で説明してください。 SCSKは、クラウドサービスにおいて、どのような多様性に対応していますか?具体的なサービス名を挙げて説明してください。  ・・・・・ 解答 SCSKは、ITサービスとBPOを軸とした企業です。具体的には、顧客企業のDX推進支援や、クラウドサービスの提供などを手がけています。 SCSKは長年の実績に基づいた高い専門性を強みとしています。例えば、シェアードモデル、パブリッククラウドモデル、データベースに関する専門性と、中堅/大企業の基盤構築を支援してきた豊富な実績を強調しています。 「CUSTOMER EXPERIENCE」は、顧客一人ひとりに最適なサービスを提供することで顧客満足度を高めるニーズに応えます。「WORKSTYLE REFORMS」は、企業の働き方改革を支援し、従業員の生産性向上やワークライフバランスの実現に貢献します。 SCSKは、プライベートクラウドからパブリッククラウドまで、様々なクラウドサービスに対応しています。具体的には、自社開発のプライベートクラウド「USiZE」に加え、AWS、Azure、Google Cloudといったパブリッククラウドサービスも提供しています。  ・・・・・・ クイズとしての難易度は物凄く高い気がしますが、「弊社SCSKについて知る」という点では要点もまとまっており活用の機会がありそうですね。   最後に 今回は Google から日本語対応版としてGAされた『NotebookLM』 についてご紹介させていただきました。 より詳細な機能評価については、追って公開させていただきます。次回のブログをお楽しみください!!!!!! 今後とも、AIMLに関する情報やGoogle CloudのAIMLサービスのアップデート情報を掲載していきたいと思います。 最後まで読んでいただき、ありがとうございました!!!
みなさんこんにちは、SCSKの高本です。 前回、サンフランシスコで4日間に渡って開催される「Snowflake Data Cloud Summit 24」の初日6/3に開催されたOpening Keynoteに関する速報記事を書きました。(※まだ見てない方は是非ご一読下さい) 【現地速報①】Snowflake Data Cloud Summit 24 Opening Keynoteまとめ 4日間に渡りサンフランシスコで開催されるSnowflakeのフラグシップイベント:Snowflake Data Cloud Summit 24 の「Day1開幕速報」として、現地の最新情報を皆様にいち早くお届けします。 blog.usize-tech.com 2024.06.05 今回はその第2弾として、翌日6/4のAM9:00に開催されたPlatform Keynoteに関する内容を、同じく速報でお届けしたいと思います。 [速報] Platform Keynote K2(Tue, June 04, 09:00 AM PDT) について Snowflake Data Cloud Summit 24では、4日間を通じて、以下の4つのKeynoteセッションが用意されています。 OPENING KEYNOTE – K1 PLATFORM KEYNOTE – K2 ★今回の内容はこちら BUILDERS KEYNOTE – K3 PARTNER SUMMIT KEYNOTE – K4 初日のOpening Keynoteとは違い、6/4に開催されたPlatform Keynote K2では、主にSnowflakeに関する最新のサービスアップデートが中心に取り上げられました。 セッション時間は9:00 AM – 11:15 AM PDTの約1時間15分ほどで、GenAIを組み込んだ数々の機能拡張について知ることができました。今回のKeynoteでは、ユーザ企業の先進事例や最新機能に関するデモンストレーションなども豊富に盛り込まれていたので、非常に充実度の高いセッションになっていました。 [現地写真] Keynote HALL会場の様子 Opening Keynoteと同一のホール会場ですが、前回より良い席に座れたので良かったです。笑 初日のOpening Keynoteとは違い、朝一の開催でしたが、席も見渡す限りはほとんど満席で、初日同様かなりの盛り上がりを見せていました。 ▽ Christian Kleinerman氏( EVP, Product, Snowflake) セッションサマリー Snowflake Data Cloud Summit 24の公式イベントページのセッション概要を引用します。 業界をリードする企業は、AIの革新を通じてビジネスを変革するために、Snowflake AIデータクラウドを活用しています。SnowflakeのCEOであるSridhar Ramaswamy、共同創設者で製品担当のBenoit Dageville、および製品担当のEVPであるChristian Kleinermanが、サイロを解消し、モダンなアプリを開発・配布し、AIを安全にすべての人に提供するためのSnowflakeの統合プラットフォームの最新のイノベーションを発表します。Snowflakeのエンジニアリングと製品チームによるライブデモをご覧いただき、Snowflake AIデータクラウドで業界をどのように形作っているかについて、いくつかの有名なグローバル組織からの話も聞けます。 Snowflake | Snowflake Summit 24 Snowflake | Snowflake Summit 24 reg.summit.snowflake.com セッション詳細メモ 詳細な内容は以下の通りです。(※一部抜粋) 登壇者:Sridhar Ramaswamy, Chief Executive Officer, Snowflake Snowflakeではあらゆるinnovationが可能 EnterpriseAIのbestなプラットフォームとして選択していただきたい 登壇者:Benoit Dageville, Co-Founder & President of Product, Snowflake Snowflake のビジョン すべてのユーザをデータでエンターテイメントする Snowflake のアーキテクチャがなぜベストなのかの説明 収縮性のあるコンピュート(CPU/GPU) エンタープライズ向けに最適化されたインフラストラクチャ Snowflake がEnterprise AIとして適切な理由 「data complete」 Unistore Iceberg Tables 「Compute Complete」 Snowpark コンピュートとストレージがアイソレートだけではなく、コンピュートとコンピュートがアイソレート Snowflakeのコンピュートの設計思想として、はじめからSQL実行エンジンとしてではなく、拡張可能なデータフローエンジンとして構築された Python、Java、Scala、Dataframe Snowpark Contariner Services Snowflake Arctic Snowflake が開発したエンタープライズ級のMLモデル 汎用LLMと比較してもエンタープライズグレードのベンチマークを達成 世界トップクラスの研究者が設計 学習にしろ推論にしろ開発コストを大幅に抑えることが可能 セキュリティ、ガバナンス 歴史として、以前は開発者しかAIを利用してこなかった 開発者に限らず、エンドユーザにSnowflakeを利用させる場合セキュリティやガバナンスを意識する必要あり Snowflake はデータの移動を伴わない クラスタをネットワークレベルで分離 他アカウントはもちろんのこと、同一Snowflakeアカウントであってもコンピュートプールは完全に分離される コラボレーション Native Apps、Marketplaceを利用するとSnowflake上で構築したアプリを安全に共有可能 何が一番楽しみか Snowflake のどの機能が、というよりも、Snowflakeを使ってユーザひとりひとりが何を作りあげるかを見てみたい(Imagination) 登壇者:Christian Kleinerman, EVP, Product, Snowflake Data Cloudの目標 データからより多くの価値を引き出し、AIを活用していく データ基盤強化について 様々なデータタイプが存在 構造化/半構造化/非構造化 非構造化データのサポートを数年前に開始 企業内のほとんどのデータが非構造化データ ドキュメント・画像から価値を引き出すことが目標 Document AI 自然言語を利用し、非構造化データから構造化データを抽出可能 マルチモーダルLLM ガバナンス、信頼性:〇 Snowpipe/COPYがDocument AIと連携可能に 近いうちにGA予定 フレキシビリティについて serverlless tasks flex 通常のserverlless tasksより42%のコスト削減 iceberg tables すべてのクラウドプラットフォームで利用可能に Polaris Catalog Iceberg のオープン REST API を実装 独自のインフラストラクチャでセルフホスト可能 カタログは企業間で共有可能  データガバナンスについて データスチュワード Universal Search LLM を利用した検索で、データやアプリをすばやく発見、利用 Internal Marketplace 自組織に閉じたMarletplaceの利用 プレビュー data classification interface 分類子/カスタム分類子/自動分類の3つをサポート Automatic Tag Propagation 自動的にタグを分散 データをコピーするとタグもコピーされる UIをプレビュー Snowflake Horizon セキュリティ Snowflakeのconfigurationを安全管理 Trust Center Snowflake 上のデータ資産のセキュリティ リスクを継続的に評価および監視 すぐにGA予定 コンプライアンス データの保護と監査、データの品質と系統の監視、ビジネスの継続性の確保 データコンディションを格納し、モニタリング データリネージ テーブルと列レベルでデータ資産の上流と下流の系統を視覚化 プレビュー コストマネジメントインターフェース コストの割り当て、Snowflake からのリコメンデーション 「BUILD faster」 Streamlit developers 開発者の数はのべ300,000+ Snowflakeはインフラストラクチャだけではなくビジネスロジックも含めて使いやすくしていく Snowpark Container Serivce コンテナ実行基盤としてGPUをサポート GA アプリケーションをどのようにデリバリしていくか 次世代のデータ共有方法として、Native Appsで作成したデータプロダクトをマーケットプレイスで共有 Snowflake Native apps with Snowpark Container Serivce プレビュー DevOpsについて Git intergration データベースチェンジマネジメント 外部Gitリポジトリと連携しDDL等のソースコード変更管理可能 プレビュー Snowflake CLI Streamlit in Snowflake、Snowflake Native App Framework、Snowpark Container Services、Snowpark などSnowflake 上で実行されるアプリをCLIで作成、管理、更新、表示可能 GA Snowflake Trail Snowflake上のオペレーションのモニタリング メトリクス、ログデータ、パフォーマンスデータの情報収集 その他パートナーとのインテグレーション Datadog etc… Snowflake Notebooks Snowflake上でNotebookを利用可能 Git連携可能 プレビュー Snowflake Copilot SnowsightのSQLワークシートに加え、Notebook上での開発もCoplitとのインタラクションでエクスペリエンスを改善 プレビュー Snowflake Feature Store 自動でガバナンスやパイプラインを可視化し、機能の使用と管理を効率化 Snowflake Model Registry Snowflake またはその他のプラットフォームでトレーニングされたモデルを管理 Snowflake Cortex AI Cortex は3つのレイヤーを提供 Studio 組み込みのノーコード開発インターフェース CHAT 自然言語を使用してデータと対話 MODELS サーバーレス関数を使用して、Snowflake Arctic、Meta Llama 3、Mistral Large などのトップレベルの大規模言語モデル (LLM) にアクセス Cortex Fine-Tuning LLMをカスタマイズすることでインダストリー固有のナレッジを活用可能 パブリックプレビュー Cortex Analyst 自然言語で質問するだけで構造化データにアクセス可能となり、必要なデータの洞察を得ることが可能 テクニカルではないビジネスユーザも利用可能 Cortex Search 誰でも簡単にチャットボットを生成可能 デモ:観客の誰かに試してもらう ペルソナ:Snowflakeに数回しかログインしたことない お題:Cortex Search Serviceを構築してもらう 近日中にパブリックプレビュー まとめ The Era of Enterprise AI AI for Everyone Snowflakeを利用することでより多くのユーザにデータからインサイトや価値を引き出していただきたい おまけ Snowsightにて「DARK MODE」がリリース(ダークカラーUI) 最後に(おまけ) Keynoteの最後の最後に、Snowsightでダークモードが選択できるようになったとの発表があったので、早速試してみました。 いい感じですね。個人的には今日からこっちかもしれないです…(笑) 今後もSnowflakeに関する耳寄りな情報を皆様にいち早くお届けできたらと思っています。 最後まで読んでいただき、ありがとうございました!!!
こんにちは、SCSKの大石です。 2024年5月15日~17日に東京ビックサイトで自治体総合フェア 2024 が開催されました。 3日間開催されたうち、15日にSCSKもZabbix Japanと共同で出展しましたので、出展感想や展示内容等をご紹介いたします。 イベント概要 自治体総合フェアは、自治体経営の革新を推進するとともに、地域住民が真に豊かさを実感できる魅力ある地域社会の実現を図ることを目的とする展示会です。IT関連の展示だけではなく、庁内マネジメント、地域振興、住民窓口関連等、自治体に関係する事業を展開している100社前後の企業・団体が出展参加しております。 Zabbixブースでは情報化推進の分野として、ガバメントクラウドを利用する際の統合監視や、自治体向けのZabbix環境の構築事例について紹介させていただきました。   Zabbixブース出展内容 SCSKの展示では官公庁向けのZabbixServerの構築例を紹介しました。 物理サーバやVMwareを利用した仮想環境、ネットワーク機器の監視をするための、ZabbixアプライアンスやサーバへのZabbixServer導入、冗長構成構築事例のご紹介等をさせていただきました。 また、Zabbixブース内でガバメントクラウドと既存システムの運用監視を紹介をしていました。 ガバメントクラウドとは政府共通のクラウドサービスの利用環境の事で、クラウドサービスの利点を最大限に活用することで、迅速、柔軟、かつセキュアでコスト効率の高いシステムを構築可能とし、各自治体の業務システムをクラウド上で共通化して管理・運用できる環境の事です。 ここではZabbixを利用してクラウド+オンプレ、マルチクラウド監視等、複数環境を統合して監視する仕組みについて紹介をしており、環境ごとに監視システムが分かれている方は興味を持っていただけていました。   感想 ご来場されている方のZabbixの認知はあまり多くは無かったですが、紹介させていただいたところ、興味を持っていただけました。特にZabbixが商用製品以上の機能が実装されている、多様な環境へのモニタリングができるのに無料で利用できるところは、Zabbixの大きなメリットであると感じていただけました。 6月にはInterop Tokyo 2024にも出展いたします。来場予定の方はぜひZabbixブースにお立ち寄りください!! Interop Tokyo 2024 イベント案内 [SCSK] Interop Tokyo 2024 の Zabbix ブースに出展します! SCSK株式会社は、6月12日(水)~6月14日(金)に開催される Interop Tokyo 2024 の Zabbix ブースに出展します。 blog.usize-tech.com 2024.05.24 SCSK Plus サポート for Zabbix SCSK Plus サポート for Zabbix 世界で最も人気のあるオープンソース統合監視ツール「Zabbix」の導入構築から運用保守までSCSKが強力にサポートします www.scsk.jp ★YouTubeに、SCSK Zabbixチャンネルを開設しました!★ SCSK Zabbixチャンネル 本チャンネルでは、SCSK株式会社でのZabbixに関するトレンド/事例紹介などを動画にまとめて取り上げております。 最新のトピックについては、以下の弊社HPもしくはツイッターアカウントをぜひ参照ください。 ツイッターアカウント: www.youtube.com ★Twitterに、SCSK Zabbixアカウントを開設しました!★ 【公式】SCSK Zabbix (@SCSK_Zabbix) / Twitter SCSKが提供するZabbixサービスのオフィシャルアカウントです。 #Zabbix #SCSKPlusサポートforZabbix #監視 #SCSK twitter.com  
Egress IP を固定する目的 Cato クラウド経由でインターネットにアクセスする際、そのアクセス元IPアドレス (Egress IP) は不定であり、PoP ごとに用意されたIPアドレス範囲の中のものが利用されます。Cato クラウドで利用されるIPアドレス範囲は Production PoP Guide のページで公表されており、PoP のロケーションごとにどのIPアドレス範囲が利用されるか細かく記載されています。 一般的なインターネットアクセスにおいては Egress IP が不定であっても困ることはほとんどありません。しかし、アクセス先のサービスやサーバでアクセス元IPアドレス制限を行おうとすると、次のような課題が出てきます。 Cato クラウドで利用されるIPアドレス範囲は不定期に追加・変更されるため、その対応が必要となる 共有のIPアドレス範囲での許可設定は、アクセス先のサービスによっては受け入れてもらえない Cato クラウドのユーザは世界中で増加していますので、その増加に対応するために Cato クラウドのIPアドレスは不定期に追加・変更されており、日本の東京や大阪にある PoP のIPアドレスも年に何度か追加されています。新しくIPアドレスが追加されるとIPアドレス制限に引っ掛かってアクセスできないという問題が発生してしまいますので、Cato クラウドのアップデート情報を随時ウォッチし、IPアドレスの追加・変更のアナウンスがあればIPアドレス制限の設定も変更するといった運用上の対応が必要となってきます。これが1つ目の課題です。 また、2つ目の課題のように、アクセス先のサービスによっては Cato クラウドで用意されたIPアドレス範囲を指定した許可設定を受け入れてもらえないということもあります。特に、サービス事業者がマルチテナントの SaaS を提供し、かつIPアドレス制限をネットワークレベルで実現している場合、Cato クラウドのIPアドレス範囲は複数の利用者で共有利用されるものであるため、その範囲を許可するとサービス事業者の顧客以外からのアクセスも許可することになってしまいます。そのため、そのような許可設定を認めてもらえない可能性があります。 こういった課題を解決するために、Egress IP を固定する機能が用意されています。Egress IP を固定にする目的は 「アクセス元のIPアドレス制限を行っているインターネット上のサービスにアクセスできるようにする」 ということに尽きます。 Egress IP を固定にする方法は以前のブログ記事でも解説しており、CMA 上で比較的簡単に設定できます。 CatoクラウドにおけるEgress IP(送信元IP、出口IP)について CatoクラウドにおけるEgress IPについて解説します。 blog.usize-tech.com 2023.08.22 Egress IP を固定することで生じる課題 Egress IP を固定にすることで新たな課題も生じてきます。その中でも実際によく発生しうる課題を2つ挙げてみます。 通信が遅くなることがある Egress IP を固定するには IP Allocation 機能を用いて自組織専有のIPアドレスを確保する必要がありますが、このIPアドレスは必ず特定の PoP に紐づけられます。そのため、 Egress IP を固定した通信は、そのIPアドレスが紐づけられた PoP からインターネットにアクセスする ことになり、その結果として通信が遅くなってしまうことがあります。 例として、ここでは東京にある PoP でIPアドレスを確保したとします。西日本に位置する拠点やリモートアクセスユーザはおそらく大阪にある PoP に接続されているかと思いますが、拠点やユーザの通信は大阪の PoP に送信されたあと、Cato クラウドのバックボーンネットワークを通じて東京の PoP に転送され、インターネット上の Web サービスに向けて送信されていきます。インターネットからの戻りの通信は、まず東京の PoP に戻ってきて、そこから大阪の PoP に転送された後、拠点やユーザの場所に戻っていくことになります。 これにより、インターネット上のサービスまでの物理的・論理的な距離が長くなって通信が遅くなってしまうことがあります。東京と大阪の間の通信は高速なので多少遅くなっても気付かないかもしれませんが、これが日本と海外との間で行われると通信の遅さが顕著に表れてきます。 例えば、アメリカに出張した社員がアメリカの Web サービスにアクセスするケースを考えてみます。社員の PC はアメリカのいずれかの PoP に接続されているはずです。Egress IP を固定しない場合、社員の PC が接続されたアメリカの PoP から Web サービスにアクセスし、アメリカ国内に閉じた通信なので比較的高速に行えます。一方、東京の PoP で確保したIPアドレスで Egress IP を固定した場合、通信は Cato クラウドのバックボーンネットワークでアメリカから東京に送られた後、またインターネットで東京からアメリカに送られることになり、通信ごとに日米間を2往復するため体感的にも非常に遅く感じることになります。 海外にオフィスを構えているお客様や、頻繁に海外出張を行う社員がいるお客様の場合、海外のその地域にある PoP でもIPアドレスを確保して利用することを推奨します。複数のIPアドレスを利用するようにしていると、拠点やユーザが接続された PoP に最も近い PoP にあるIPアドレスが Egress IP として利用されますので、通信が遅くなる課題を緩和できます。 PoP 障害時にインターネットにアクセスできなくなる Egress IP を固定していしていると、Cato クラウドの PoP で障害が発生したときに問題が生じることもあります。 PoP で障害が発生すると、その PoP に接続されていた Socket や Cato Client は別の正常な PoP に自動で再接続してくれますので、基本的には Cato クラウドが利用できなくなってしまうということはありません。しかし、Egress IP を固定にするためのIPアドレスは PoP に紐づくものであるため、その PoP で障害が発生すると単に Egress IP を固定にできなくなるというだけでなく、そのIPアドレスを利用するように設定したインターネットアクセスそのものが行えなくなってしまいます。もちろん、Egress IP を固定にしていなければ、障害が発生していない PoP 経由でインターネットにアクセスできます。 この課題は、複数の異なる地域にある PoP でIPアドレスを確保し、複数のIPアドレスで Egress IP を固定にすることでほぼ解決できます。複数の PoP で同時に障害が発生する可能性は低く、単一の PoP で障害が発生したとしても正常に動作している PoP にあるIPアドレスが利用されてインターネットにアクセスできるようになります。 日本国内のお客様の場合、東京と大阪の両方の PoP でIPアドレスを確保して用いるようにしておけば、大規模な障害への備えにもなるかと思います。 Egress IP 固定のあるべき設定 前述の課題をまとめると、Egress IP を固定にする場合は次の2つを意識して設定することを推奨します。 複数の異なる地域にある PoP でIPアドレスを確保して利用する 海外からも頻繁に利用する場合、その地域にある PoP でもIPアドレスを確保して利用する ただし、そもそも前述の課題は Egress IP を固定した場合に発生するものであり、固定していない場合は基本的には発生しません。(正確には、Egress IP を固定していなくてもインターネットに出ていく際の PoP を固定している場合にも発生しますが、これは本記事の趣旨とズレるため説明を割愛します。) Egress IP を固定にする目的は初めに述べたように「アクセス元のIPアドレス制限を行っているインターネット上のサービスにアクセスできるようにする」ことです。IPアドレス制限が行われていないサービスやサイトへのアクセスでは Egress IP を固定にする必要がなく、固定しなければ通信が遅くなったり障害によって利用できなくなったりする課題に巻き込まれることなく、安心して Cato クラウドを利用できます。そのため、 [Network Rule] の設定にて対象のアプリケーションやカテゴリを Any にせず、アクセス先のアプリケーションやFQDNなどを必要な分だけ指定する ということも強く推奨します。 少し違った見方をすると、本来 Egress IP を固定にする必要がない通信も固定にしていると、その分だけ無駄な通信が生まれてエネルギー資源を消費してしまうという考え方もできます。また、Cato クラウドとしても、バックボーンネットワークを流れるトラフィックが増加するとそれに対応するためにネットワークを増強する必要があり、その結果として利用料金の上昇に繋がる可能性もあります。そういった観点からも、必要な通信だけ Egress IP を固定にするようにしたほうが良いですね。