キーワードで検索

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

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

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

近年、クラウドの普及により、企業のITインフラ構築の在り方が大きく変化しています。その中で、クラウドエンジニアは、最適なインフラ環境を設計・構築し、安定したシステム運用を支える重要な役割を担うようになりました。

クラウドインフラの構築後、システムが設計通りに動作するかを確認するために「単体試験」を実施します。インフラエンジニアは、特に仮想マシン(VM)、ネットワーク、ストレージ、セキュリティ設定などの個別リソースを検証する責任を担います。

本記事では、単体試験項目書の役割や記載内容、作成時のポイントを解説します。

単体試験項目書とは?

単体試験項目書


単体試験項目書とは、クラウド環境の各リソース(仮想マシン、ネットワーク、ストレージ、セキュリティ設定など)が、詳細設計書(パラメータシート)の通りに正しく構築されているかを検証するためのドキュメントです。

インフラ構築は手作業やIaC(Infrastructure as Code)を用いた自動化で行われますが、意図しない設定ミスが発生する可能性があるため、試験を通じて正確性を担保する必要があります。単体試験を実施することで、設計通りに構築されていることを確認し、運用開始前に問題を発見・修正できます。

また、単体試験は、構築の標準化やトラブルシューティングの迅速化にも役立つため、適切に項目を整理し、確実に実施することが重要です。

単体試験項目書を作成する目的

単体試験項目書を作成する目的は、クラウド環境の各リソースが詳細設計書(パラメータシート)の通りに正しく設定されていることを確認し、構築ミスや設定漏れを防ぐことです。

特に、クラウド環境ではリソースのパラメータが多数存在しているため、意図しない設定ミスが発生する可能性があります。そのため、単体試験を通じてVMのスペック、ネットワーク設定、ストレージ構成、セキュリティ設定などが設計通りになっているかを検証し、問題を早期に発見・修正することが重要です。

また、試験結果を記録することで、構築の標準化やトラブルシューティング時の参照資料としても活用でき、システムの安定運用を支える役割を果たします。

単体試験項目書に盛り込む内容

単体試験項目書の確認


単体試験項目書には、詳細設計書(パラメータシート)で定義された各リソースの設定が正しく適用されているかを確認するための試験項目を記載します。試験内容をカテゴリごとに整理し、「試験内容」「期待結果」「実施結果」「判定」の形式で明確に記載することで、構築ミスを防ぎ、品質を向上させます。

基本情報

No試験内容期待結果実施結果判定
1VM名が正しく設定されているかOps-Today-vmであることOps-Today-vmOK
2リージョンがJapan EastかJapan EastであることJapan EastOK
3サブスクリプション ID確認設計書と一致すること一致OK
4可用性ゾーンの設定確認ゾーン1に配置ゾーン1OK
5OSが正しく設定されているかWindows Server 2016 Datacenter – x64 Gen2Windows Server 2016 Datacenter – x64 Gen2OK
6サイズは正しく設定されているかStandard_DS1_v2Standard_DS1_v2OK
7DNS名の設定確認設計書と一致すること一致OK

基本情報の試験では、VMのリージョン、リソースグループ、可用性ゾーン、サブスクリプションなどが詳細設計書と一致しているかを確認します。

これらの情報は、リソースの管理や運用時のトラブルシューティングに重要なため、正確に設定されていることを検証する必要があります。

ディスク

No試験内容期待結果実施結果判定
1OSディスクの種類確認Premium SSDであることPremium SSDOK
2OSディスクのサイズ確認128GBであること128GBOK
3ディスクの暗号化設定確認有効になっていること有効OK
4スナップショットの設定確認毎日1回であること毎日1回OK

ディスクの試験では、OSディスクの種類やサイズ、暗号化設定、スナップショットの取得設定が設計通りであるかを検証します。

特にディスクの暗号化が有効になっていることを確認し、データの安全性を確保します。

ネットワーク設定

No試験内容期待結果実施結果判定
1VNet名が正しく設定されているかOps-Today-vm-vnetである事Ops-Today-vm-vnetOK
2サブネット名が正しいかOps-Today-vm-subnetであることOps-Today-vm-subnetOK
3プライベートIPが正しく設定されているか10.0.0.xであること10.0.0.xOK
4パブリックIPの有無確認あり(静的)であることあり(静的)OK
5NSG名が正しく設定されているかOps-Today-vm-nsgであることOps-Today-vm-nsgOK
6NSGのルール確認SSH(22番)のみ許可ICMPも解放されているNG

ネットワークの試験では、VNet名やサブネットの設定、プライベートIPやパブリックIPの有無、NSGのルールを検証します。SSHやRDPのアクセス制限が適切に設定されているかをチェックし、不正アクセスのリスクを低減します。

負荷分散

No試験内容期待結果実施結果判定
1ロードバランサーの有無有効であること有効OK
2ロードバランサーの種類パブリックであることパブリックOK
3バックエンドプールのVM数2台以上であること2台OK
4ヘルスプローブの設定HTTP80で動作HTTP80OK
5負荷分散ルールの適用TCP80→TCP80で分散設定値と一致OK

負荷分散の試験では、ロードバランサーの設定、バックエンドプールの構成、ヘルスプローブの動作確認、負荷分散ルールの適用状況を検証します。

特にヘルスプローブの設定ミスがあると、正常なVMでもトラフィックが送信されない可能性があるため、慎重に確認する必要があります。

可用性とスケーリング

No試験内容期待結果実施結果判定
1可用性ゾーンの適用ゾーン1で動作ゾーン1OK
2可用性セットの適用未設定であること未設定OK
3スケールセットの有無有効であること有効OK
4スケールアウト条件CPU 70%以上で拡張CPU 70%超で拡張OK
5スケールイン条件CPU 30%以下で縮小CPU 30%以下で縮小OK
6最小インスタンス数2台であること2台OK
7最大インスタンス数5台であること5台OK

可用性とスケーリングの試験では、可用性セットや可用性ゾーンの適用状況、スケールセットの最小・最大インスタンス数、スケールアウト・スケールインの動作を検証します。

負荷が急増した際に自動的にVMが追加され、負荷低下時に適切に縮退されるかを確認します。

バックアップ

No試験内容期待結果実施結果判定
1バックアップの有無有効であること有効OK
2バックアップの対象OSディスクのみであることOSディスクのみOK
3バックアップ頻度毎日1回であること毎日1回OK
4保持期間30日間であること30日間OK
5スナップショットの取得有効有効OK

バックアップの試験では、OSディスクのバックアップ設定が正しく適用されているか、復旧ポイントが適切に作成されているかを検証します。

また、バックアップポリシーが正しく適用され、スナップショットの取得頻度や保持期間が設計通りであるかを確認します。

自動シャットダウン

No試験内容期待結果実施結果判定
1自動シャットダウンの有無有効であること有効OK
2実行時間の確認23:00 JSTで実施23:00 JSTOK
3通知の送信通知が送信されること送信済みOK

自動シャットダウンの試験では、設定された時刻にVMが正常にシャットダウンされるか、通知が適切に送信されるかを検証します。

通知が正しく送信されていない場合は、シャットダウンが実行されず、コスト削減の効果が薄れる可能性があるため、慎重に確認します。

診断設定

No試験内容期待結果実施結果判定
1ブート診断の有無有効であること有効OK
2メトリクス収集CPU、メモリ、IOPSCPU、メモリ、IOPSOK
3アクティビティログの取得有効であること有効OK

診断設定の試験では、ブート診断、メトリクス収集、ログ保存先の設定が正しく適用されているかを確認します。

これにより、障害発生時のトラブルシューティングがスムーズに行えるようになります。

単体試験項目書作成時に意識すること

単体試験項目チェックリスト

単体試験項目書は、試験の抜け漏れを防ぎ、構築ミスを早期に発見するための重要なドキュメントです。可読性を高め、試験手順や判定基準を統一し、セキュリティ設定の確認を徹底することが求められます。

可読性を意識したフォーマットを統一する

試験項目書は、誰が見ても理解しやすいフォーマットで統一することが重要です。

表形式を活用し、試験内容・期待結果・実施結果・判定を明確に記載すると、情報の整理がしやすくなります。

また、試験項目の命名規則を統一し、詳細設計書と対応関係を持たせることで、試験対象が明確になります。試験結果のエビデンス(スクリーンショットやログ)を記録するルールを設けておけば、問題が発生した際にも迅速な確認が可能となるでしょう。

試験手順や判定基準を明確に記載する

試験手順は具体的に記載し、誰が試験を実施しても同じ結果が得られるようにすることが大切です。特に、コマンド実行が必要な試験では、具体的なコマンドや検証手順を明記し、試験実施者による解釈の違いを防ぐことが重要となるでしょう。

また、判定基準を明確にし、試験結果の判断にブレが生じないようにすることも欠かせません。例えば、「ポート22のみ開放されていること」という試験項目に対し、ICMPも開放されていた場合は「NG」と判断するなど、基準を統一することが求められます。

セキュリティ設定やアクセス制御の試験を含める

セキュリティ設定の確認は、単体試験の中でも特に重要です。

ネットワークセキュリティグループ(NSG)のルールやIAM(RBAC)の権限設定が、詳細設計書の内容と一致しているかを必ず検証しましょう。

例えば、SSH(22番ポート)やRDP(3389番ポート)へのアクセスが必要最小限に制限されているか、管理者以外のユーザーに不要な権限が付与されていないかなどをチェックすることが不可欠です。また、ディスクの暗号化やバックアップの設定を試験項目に追加すれば、より安全なシステム運用につながるでしょう。

まとめ

単体試験項目書は、クラウドインフラの構築後に各リソースが設計通りに動作しているかを確認し、設定ミスを防ぐための重要なドキュメントです。試験項目を明確にし、試験手順・判定基準を統一することで、誰が実施しても同じ結果が得られるようになります。

また、セキュリティ設定やアクセス制御の試験を含めることで、不正なアクセスや設定ミスを防ぎ、安全な運用につなげることが可能です。試験結果を適切に管理し、システムの品質向上と安定運用を実現しましょう。

単体試験項目書以外の成果物については下記記事でも解説しております。一連の流れを掴むためにもぜひご覧ください。

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

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

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

メルマガ登録

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

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

メルマガ登録