キーワードで検索

今日を知り、明日を変えるシステム運用メディア

インフラ担当のクラウドエンジニアが作成する成果物を解説 ─「結合試験項目書」編

インフラ担当のクラウドエンジニアが作成する成果物を解説 ─「結合試験項目書」編

システム全体が正常に動作するためには、単体試験だけでなく、複数のリソースが連携した状態での動作検証が必要です。これを確認するのが「結合試験」であり、ネットワーク接続、認証、負荷分散、バックアップ復元、アプリケーション連携などを重点的にチェックします。

本記事では、結合試験項目書の役割や記載内容、作成時のポイントを詳しく解説します。適切な試験を実施し、クラウド環境の品質向上と安定運用を実現しましょう。

結合試験項目書とは?

結合試験項目書とは、単体試験で検証済みのリソースが適切に連携し、システム全体が設計通りに動作するかを確認するためのドキュメントです。

単体試験ではVMやVNetなどの個々のリソースの設定を確認しましたが、結合試験ではそれらのリソースが正しく接続され、連携して動作するかを検証します。

クラウド環境では、ネットワーク、認証、ストレージ、負荷分散、バックアップ復元など、リソース間の依存関係が複雑になるため、結合試験の実施が不可欠です。

試験を通じて接続ミス、アクセス制御の誤設定、パフォーマンスの問題などを特定し、運用開始前に修正することで、システムの安定性とセキュリティを確保できます。

結合試験項目書

結合試験項目書を作成する目的

結合試験項目書を作成する目的は、リソース間の連携が正しく機能するかを体系的に検証し、想定外の動作や設定ミスを防ぐことです。

クラウド環境では、ネットワークの通信制御や認証設定が複雑化するため、単体試験だけでは検出できない問題が発生する可能性があります。

例えば、アプリケーションがデータベースと正常に通信できるか、ロードバランサーがトラフィックを適切に分散しているか、バックアップからの復元後に正しく動作するかなど、システム全体の挙動を確認することが重要です。

試験結果を記録し、問題が発生した場合のトラブルシューティングや、将来のシステム変更時の参照資料として活用することで、運用の安定性を高めることができます。

結合試験項目書に盛り込む内容

結合試験項目書には、クラウド環境において複数のリソースが適切に連携し、システム全体として正常に動作することを検証する試験項目を記載します。今回は下記項目を例として解説します。

  1. ネットワーク接続試験(VNet、VPN、NSG、パブリック・プライベート IP の接続確認)
  2. 認証・アクセス試験(Key Vault、RBAC、マネージド ID などの認証設定)
  3. 負荷分散・可用性試験(ロードバランサー、スケールセット、フェイルオーバー検証)
  4. ストレージ・データベース連携試験(ストレージアカウント、Cosmos DB、MySQL との接続確認)
  5. バックアップ・復元試験(Azure Backup、スナップショット復元、データ整合性確認)
  6. アプリケーション連携試験(Web アプリケーション、API、イベント処理フロー)
  7. 監視・アラート設定試験(Azure Monitor、Log Analytics、アラート通知)

ネットワーク接続試験

項目試験内容期待値試験結果
VNet + VMVMからデータベースに接続し、正常に通信できることを確認
確認手順:1.SSHでVMにログイン2.ping<DBのプライベートIP>を実行3.telnet<DBのホスト名>1433を実行
DB に正常に接続できることOK
NSGルール特定IPからのみSSH(22番ポート)接続が許可されていることを確認
確認手順:1.許可IPからssh<VMのパブリックIP>を試行2.許可外のIPからSSHを試行し、ブロックされることを確認
設定通りにアクセス制御が適用されることOK
VPN経由アクセスVPN接続後、Key Vaultへアクセスし、シークレットが取得できるか確認
確認手順:1.VPNクライアントを起動し、接続を確立2.az keyvault secret show –vault-name <Vault名> –name <Secret名>を実行
シークレットが正しく表示されることOK

ネットワーク接続試験では、VNet、VPN、NSG、プライベートIPなどを組み合わせ、適切なネットワーク通信が確立できるかを検証します。例えば、VMからデータベースやストレージへの通信が正しく行えるか、VPNを経由したKey Vaultへのアクセスが可能か などを確認します。

また、NSG(ネットワークセキュリティグループ)のルールが適切に適用され、不正なアクセスがブロックされているかも重要なポイントです。

認証・アクセス試験

項目試験内容期待値試験結果
Key VaultWebアプリがKey Vaultのシークレットを取得できるか確認
確認手順:1.アプリケーションコードを実行2.Key VaultのAPIを呼び出し、シークレットを取得
シークレットが正しく取得できることOK
RBAC特定のユーザーにVMの操作権限が付与されているか確認
確認手順:1.RBAC設定を確認し、ユーザーにVirtual Machine Contributor権限があることを確認2.ユーザーがAzure PortalでVMを停止・起動できるか検証
指定したユーザーのみ操作可能OK

認証・アクセス試験では、Entra ID(旧Azure AD)、RBAC(ロールベースのアクセス制御)、マネージドIDを利用して、適切な認証が行われるかを確認します。例えば、特定のユーザーやサービスがKey Vaultのシークレットを取得できるか、VMのマネージドIDを利用してストレージへアクセスできるかなどを検証します。

また、過剰な権限が付与されていないか、必要なリソースのみアクセス可能になっているかをチェックし、セキュリティリスクを最小限に抑えることが重要です。

負荷分散・可用性試験

項目試験内容期待値試験結果
Load Balancer異なるクライアントからのアクセスが分散されるか確認
確認手順:1.2台の端末から同じWebアプリにアクセス2.負荷分散されたVMから異なるレスポンスが得られるか確認
負荷分散が適切に機能していることOK
仮想マシンスケールセットCPU負荷が高まった際にVMが自動でスケールアウトされるか確認
確認手順:1.負荷テストツールでCPU負荷を80%以上にする2.VMのインスタンス数が増加することを確認
負荷増加時にスケールアウトされることOK

ロードバランサーやスケールセットが適切に動作し、システムの可用性が確保されているかを検証します。例えば、異なるクライアントからのアクセスが均等に分散されるか、VMスケールセットが負荷状況に応じて自動でスケールアウト・スケールインするかを確認します。

ストレージ・データベース連携試験

項目試験内容期待値試験結果
Cosmos DBアプリケーションがCosmos DBにデータを書き込み・読み込みできるか確認データの整合性が保証されることOK
ストレージVMからAzure Blob Storageにファイルをアップロード・ダウンロードできるか確認ファイルが正常に操作できることOK

ストレージやデータベースとの連携が正しく行われるかを検証します。アプリケーションがCosmos DBやMySQLに正常に接続し、データの読み書きができるかを確認します。

また、VMからAzure Blob Storageへファイルをアップロード・ダウンロードできるか、ストレージのアクセスキーやSASトークンを使用した認証が適切に機能するかも検証します。データの整合性やアクセス制御の適用状況も重要なチェックポイントです。

バックアップ・復元試験

項目試験内容期待値試験結果
Azure BackupVMのバックアップがスケジュール通りに実行されるか確認
確認手順:1.Azure Portalで[Recovery Services Vault]を開く2.最新のバックアップが取得されているか確認
バックアップがスケジュール通りに作成されているOK
VMの復元バックアップからVMを復元し、OSが正常に起動するか確認
確認手順:1.Azure BackupからVMを復元2.VMにSSHまたはRDPで接続3.OSが正常に動作しているか確認
復元後も正常に動作することOK
ストレージの復元スナップショットを使用してストレージ内のデータを復元できるか確認
確認手順:1.Azure Storageでスナップショットを取得2.過去のスナップショットからファイルをリストア3.正しく復元されるか確認
ファイルが復元され、アクセスできることOK

バックアップの取得・復元が適切に動作し、復元後もシステムが正常に機能することを確認します。特に、Azure Backupを使用したVMのリストアや、ストレージのスナップショット復元が設計通りに動作するかを検証します。

アプリケーション連携試験

項目試験内容期待値試験結果
Webアプリ + DBWebアプリがDBに接続し、データの読み書きができるか確認
確認手順:1.Webアプリのフォームからデータを入力2.DBにデータが正しく登録されるか確認3.WebアプリのUIでデータが表示されるか確認
データの整合性が保たれ、正しく表示されるOK
API通信WebアプリがAPIを介して外部サービスと連携できるか確認
確認手順:1.WebアプリからAPIにリクエストを送信2.APIのレスポンスがWebアプリ上で正しく表示されるか確認
APIからのレスポンスが正しく処理されるOK
認証Entra ADを使用してWebアプリへのログインが成功するか確認
確認手順:1.ユーザーがEntra ADの資格情報でログイン2.ログイン後に適切なユーザー権限が適用されるか確認
ファイルが復元され、アクセスできることOK

アプリケーションがクラウドインフラと正しく連携し、DB、ストレージ、認証サービスを利用できるかを検証します。特に、APIやWebアプリのバックエンドとの通信が正常に行われるかを確認します。

監視・アラート設定試験

項目試験内容期待値試験結果
Azure MonitorVMのCPU使用率が正しく監視されているか確認
確認手順:1.Azure MonitorでVMのCPUメトリクスを確認2.負荷をかけ、変化を監視
CPU使用率が正常に取得されることOK
アラート通知CPU使用率80%超過時にメール通知が送信されるか確認
確認手順:1.CPU負荷を上昇させる2.アラートがAzureMonitorでトリガーされるか確認3.メールが正しく送信されるか確認
しきい値超過時にアラートが発生するOK
Log AnalyticsVMのログがLog Analyticsに収集されるか確認
確認手順:1.VMで特定のログを生成(例:SSHログイン)2.Log Analyticsでログが記録されているか確認
ログが正しく記録・検索できることOK

Azure Monitor、Log Analytics、アラート設定を活用し、リソースの監視が適切に行われているかを確認します。特に、CPU使用率、メモリ使用量、ディスクIOPSなどのメトリクスが正しく収集されているかを検証します。

結合試験項目書作成時に意識すること

結合試験項目書を作成する際は、単体試験では見えなかったリソース間の連携ミスや設定の不整合を発見できるように設計することが重要です。

試験の抜け漏れを防ぎ、誰が実施しても同じ結果が得られるように、試験項目や手順を統一することを意識しましょう。

結合試験の品質を高めるために、特に以下のポイントを意識することが求められます。

試験対象を明確にし、単体試験との違いを意識する

結合試験では、単体試験で検証済みのリソースが適切に連携し、システム全体が設計通りに動作するかを確認します。単体試験ではVM、ネットワーク、ストレージなどの個別リソースの設定を検証しましたが、結合試験ではリソース間の接続やデータの流れを重点的に検証します。

例えば、アプリケーションがデータベースと正しく通信できるか、ロードバランサーが適切に機能するかなど、システム全体の動作をチェックすることが重要です。これにより、単体試験では発見できなかった構成ミスや通信エラーを事前に防ぐことができます。

試験手順を具体的に記載し、誰が実施しても同じ結果を得られるようにする

結合試験では、試験手順を明確に記載し、誰が試験を実施しても同じ結果が得られるようにすることが重要です。特に、Azure Portalの操作やCLIコマンドを使用する場合は、具体的な手順を記載し、解釈の違いが生じないようにする必要があります。

例:VMからDBへの接続試験

  1. SSHでVMにログインする
  2. telnet<DBのホスト名>1433を実行し、接続が成功することを確認
  3. MySQLクライアントを使用し、SQLクエリを実行してデータを取得

システム全体の影響を考慮し、網羅的な試験を行う

結合試験では、単なる接続確認だけでなく、システム全体に影響を与える可能性がある試験も含めることも重要です。

異常系の試験や負荷試験を実施し、想定外の動作が発生しないかを確認することで運用開始後のトラブルを最小限に抑え、安定したシステム運用を実現できます。

例:系統別の試験

  1. 正常系試験: Webアプリがデータベースに接続し、データの読み書きができること
  2. 異常系試験: DBの接続情報が誤っている場合、アプリが適切にエラー処理を行うこと
  3. 負荷試験: 高負荷時にスケールアウトが適切に行われること

まとめ

結合試験項目書は、クラウド環境における複数のリソースが設計通りに連携し、正しく動作することを検証するための重要なドキュメントです。単体試験では確認できなかったネットワーク接続、認証、負荷分散、ストレージ・データベース連携、バックアップ復元、監視・アラート設定などを重点的にチェックします。

試験対象を明確にし、試験手順を統一することで誰が実施しても同じ結果を得られるようにすることが重要です。また、異常系試験や負荷試験を含めることで、システムの安定性を確保し、運用開始後のトラブルを未然に防ぐことができます。

今回は結合試験項目書を解説しました。クラウドエンジニアの成果物については下記記事でまとめております。各工程それぞれの特徴と注意点を押さえましょう。

現在クラウドエンジニアとして勤務。AWS(SAP、DOP)とAzure(AZ-305)の資格を保有しており、ネットワークやセキュリティに関する業務を主に行っています。

最新情報をお届けします!

最新のITトレンドやセキュリティ対策の情報を、メルマガでいち早く受け取りませんか?ぜひご登録ください

メルマガ登録

最新情報をお届けします!

最新のITトレンドやセキュリティ対策の情報を、メルマガでいち早く受け取りませんか?ぜひご登録ください

メルマガ登録