キーワードで検索

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

インフラ担当のクラウドエンジニアが作成する成果物を解説 ─「詳細設計書/パラメータシート編」

インフラ担当のクラウドエンジニアが作成する成果物を解説 ─「詳細設計書/パラメータシート編」

クラウド環境の設計・構築において、「詳細設計書」はシステムの安定運用を支える重要なドキュメントです。Azureなどのクラウド環境では、リソースのパラメータや構成を明確に定義し、「誰が作業しても同じ環境を再現できる」ようにすることが求められます。

本記事では、Azure仮想マシン(VM)を例に、詳細設計書の役割や記載内容、作成時のポイントを解説します。この記事を参考に、詳細設計書の作り方から実際のインフラ設計に活用する流れを押さえましょう。

詳細設計書とは?

詳細設計書とは、クラウド環境におけるインフラ構成や各リソースのパラメータを詳細に定義する設計書です。基本設計書をもとに、仮想マシン(VM)、ネットワーク、ストレージ、セキュリティ設定など、具体的な設定値や構築手順を記載するのが特徴です。

詳細設計書を作成する目的は、構築の標準化、設定ミスの防止、情報共有の効率化、トラブルシューティングの迅速化です。特にクラウド環境では、多くのリソースが動的に変化するため、一貫した設計情報を文書化することで、チーム間の認識のズレを防ぎ、安定した運用を実現できます。

基本設計書との違い

項目基本設計書詳細設計書
目的システム全体の設計方針を決めるリソースの設定を詳細に定義する
記載内容構成図、要件、アーキテクチャ設計VMやネットワークの具体的なパラメータ
誰が作成するか設計リーダー、クラウドアーキテクトインフラエンジニア
使う場面設計フェーズ全体の指針実装・構築フェーズ

詳細設計書は、基本設計書の内容を具体的な設定値に落とし込んだものです。基本設計書では、システム全体の方針や設計思想を定め、どのような構成・技術を採用するかを決定します。一方、詳細設計書では、これを基に各リソースの具体的な設定内容を定義します。

詳細設計書を作成する目的

詳細設計書を作成する主な目的は、インフラ環境の統一、構築ミスの防止、情報共有の効率化、トラブルシューティングの迅速化です。

クラウド環境では、仮想マシン(VM)、ネットワーク、ストレージ、セキュリティなど、さまざまなリソースを適切に構成する必要があります。詳細設計書を作成することで、誰が作業しても同じ環境を構築できるようになり、属人化を防ぐことができます。

また、設定の誤りを防ぐためにも、事前にパラメータを明確に定義しておくことが重要です。さらに、システムの変更時や障害発生時に設計情報をすぐに確認できるため、スムーズな対応が可能になります。

詳細設計書に盛り込む内容

詳細設計書には、システムの安定運用を実現するために必要な情報を整理し、明確に記載することが求められます。Azure仮想マシン(VM)を含むクラウド環境では、適切なパラメータ設定がシステムのパフォーマンスやセキュリティに大きく影響を与えます。

ここでは、詳細設計書に盛り込むべき主要な項目を9つのカテゴリに分けて解説します。

基本情報

項目設定値備考
VM名Ops-Today-vm仮想マシンの名前
リソースグループOps-Today-vm-rgVMを管理するリソースグループ
場所(リージョン)Japan Eastデータセンターのリージョン
サブスクリプション(例)Azure Production所属するサブスクリプション
サブスクリプションIDxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx一意の識別子
可用性ゾーンゾーン1耐障害性を高めるためのゾーン指定
オペレーションシステムWindows Server 2016 Datacenter – x64 Gen2VMのOS
サイズStandard_DS1_v2vCPU: 1 / RAM: 3.5GiB
パブリックIPアドレス有(生成時に割り当てられる)インターネット経由の接続に利用
仮想ネットワーク/サブネットOps-Today-vm-vnet/subnet-webVM が所属するネットワーク
DNS名(例)vm-web-01.japaneast.cloudapp.azure.comカスタムDNS名が設定されている場合に表示

基本情報には、Azureポータルで仮想マシン(VM)の概要ページに表示されるリソースグループ、リージョン、サブスクリプション、ネットワーク設定などの情報を記載します。これらの情報は、VMの管理やトラブルシューティングの際に必要となるため、詳細設計書に明確に定義しておくことが重要です。

特にサブスクリプションIDやDNS名は、一意の識別子として利用されるため、他のリソースとの関連性を把握しやすくするためにも、正確に記載しておきましょう。

ディスク

項目設定値備考
OSディスク名Ops-Today-vm-disk一意の識別名を設定
OSディスクの種類PremiumSSDパフォーマンス要件に応じて選定
OSディスクサイズ128GB最低限のストレージ要件
ディスク暗号化有効(Microsoft管理キー)Azure Managed DiskEncryptionを使用
スナップショット毎日1回バックアップポリシーに基づく
バックアップ対象OSディスクのみAzure Backupで管理

詳細設計書にディスク情報を記載する際は、ディスクの種類やサイズ、暗号化設定、バックアップの有無を明確に整理することが重要です。特に、AzureではOSディスクとデータディスクの管理方法が異なるため、混同しないように記載ルールを統一すると、運用時の混乱を防ぐことができます。

また、ディスクの暗号化設定やスナップショットのポリシーは、セキュリティやバックアップ方針に影響を与えるため、どの設定が有効になっているのかを明示的に記載するのが望ましいです。

ディスクのサイズについても、最小要件を満たすだけでなく、将来的な拡張性を考慮した記述を心がけると、スムーズな運用が可能になります。

ネットワーク設定

項目設定値備考
VNet名Ops-Today-vm-vnet仮想ネットワーク名
サブネット名Ops-Today-vm-subnetサブネットの名前
プライベートIP10.0.0.x内部通信用IP
パブリックIPあり外部通信用IP
NSGOps-Today-vm-nsgセキュリティルールを適用
DNSサーバ(仮)Azure DNS既定のDNSサーバー設定

ネットワーク設定を詳細設計書に記載する際は、仮想ネットワーク(VNet)、サブネット、IPアドレスの設定を中心に整理します。特に、VNet名やサブネット名を一貫性のある命名規則に基づいて記載することが大切です。

アタッチ予定のNSGやDNSサーバを記載し、ネットワーク全体がイメージできるような記載を心がけましょう。

負荷分散

項目設定値備考
負荷分散の有無ありAzure Load Balancerを使用
ロードバランサー名Ops-Today-vm-lb負荷分散用リソース
種類パブリックロードバランサーインターネット向けの負荷分散
バックエンドプールOps-Today-vm-poolVMが所属するプール
ヘルスプローブHTTP80ポート80で死活監視
ロードバランサールールTCP80→TCP80HTTPトラフィックを分散

負荷分散の設定を詳細設計書に記載する際は、ロードバランサーの種類(Azure LoadBalancerまたはApplication Gateway)や、負荷分散対象となるバックエンドプールの構成を明確に定義します。

特に、ヘルスプローブ(監視設定)やルール設定を詳細に記述することで、障害発生時の対応がスムーズになります。

可用性とスケーリング

項目設定値備考
可用性オプション可用性ゾーンゾーン障害対策のために設定
可用性ゾーンゾーン1VMを配置するゾーン
可用性セット未設定ゾーンを使用するため不要
スケールセットの有無あり自動スケーリングを設定
最小インスタンス数2最低2台を維持
最大インスタンス数5負荷に応じて最大5台まで拡張
スケーリング条件CPU使用率70%以上でスケールアウト負荷に応じて動的調整
負荷分散の連携Azure LoadBalancer負荷分散と併用

可用性とスケーリングの設定を詳細設計書に記載する際は、システムの耐障害性と負荷変動への対応方針を明確に定義することが重要です。

Azureでは可用性セットや可用性ゾーンを活用することで、インフラの耐障害性を向上できます。これらの設定が適切に記載されていないと、単一障害点(SPOF)のリスクが高まり、システムの可用性が低下する可能性があります。

また、スケールセット(VMSS)を利用する場合は、最小・最大インスタンス数、スケール条件、負荷分散との連携などを具体的に記載することで、システムの安定運用がしやすくなります。

バックアップ

項目設定値備考
バックアップの有無ありAzure Backupを利用
バックアップ対象OSディスクのみデータディスクは対象外
バックアップポリシー名Ops-Today-vm-bk-policy一貫性のあるポリシー名を設定
バックアップ頻度毎日1回(午前2時)業務時間外に実施
保持期間30日30日間バックアップを保持
復旧ポイント数最新7世代最大7世代の復旧ポイントを保存
スナップショットの取得あり迅速な復旧のために設定
災害対策(ASR)の有無なし必要に応じて設定

バックアップの設定を詳細設計書に記載する際は、どのリソースを、どの頻度で、どれくらいの期間保持するのかを明確に定義することが重要です。

特に、Azure Backupを利用する場合は、バックアップポリシーを明確にし、OSディスクやデータディスクのバックアップ有無を記載することで、障害発生時の復旧対応をスムーズに進めることができます。

自動シャットダウン

項目設定値備考
自動シャットダウンの有無有効不要な時間帯のコスト削減
シャットダウン時刻23:00 (JST)日本時間基準で設定
通知の有無有効シャットダウン前に通知を送信
通知先メールアドレス(例)infra-team@example.comインフラチームへ通知
スケジュール変更権限インフラ管理者のみ権限管理を明確にする

自動シャットダウンの設定を詳細設計書に記載する際は、コスト最適化と運用ポリシーを考慮して、どの時間帯にシャットダウンを行うかを明確にすることが重要です。

特に、開発・検証環境では夜間や週末に不要なVMを自動的に停止することで、無駄なコストを削減できます。

また、シャットダウンの際に通知を送信する設定を有効にすることで、意図しない停止を防ぐことができます。

診断設定

項目設定値備考
診断の有無有効トラブルシューティングのために設定
ブート診断有効VMの起動プロセスを記録
診断ストレージアカウントopstodaystorageログ保存用ストレージ
メトリクス収集CPU、メモリ、ディスク、IOPSパフォーマンス監視用
ログ収集先Azure Monitor統合管理のため設定
アクティビティログ有効すべての変更履歴を記録
アラート設定CPU使用率80%超過時負荷監視用

診断設定を詳細設計書に記載する際は、システムの可視化とトラブルシューティングの容易さを考慮し、どのデータをどこに保存するかを明確に定義することが重要です。特に、Azure MonitorやLog Analyticsと連携することで、パフォーマンスの監視や障害発生時の迅速な対応が可能になります。

また、ブート診断を有効にすることで、VMの起動プロセスを詳細に確認でき、OSのブート失敗などの問題を特定しやすくなります。

詳細設計書作成時に意識すること

詳細設計書は、構築担当者や運用チームが参照する重要なドキュメントです。可読性を高め、変更履歴を管理し、セキュリティ設定を明確にすることで、運用の効率化とトラブル防止につながります。

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

詳細設計書は、誰が見ても理解しやすいようにフォーマットを統一することが重要です。

見出しや項目名は一貫性を持たせ、表形式で情報を整理することで、視認性を向上させます。また、リソース名やパラメータの命名規則を統一し、設定ミスを防ぎましょう。

例えば、「VNet名」「サブネット名」などの項目名を統一し、必要に応じて設計意図をコメントとして記載すると、チーム全体の理解が深まり、スムーズな運用が可能になります。

変更履歴を記載し、バージョン管理を徹底する

クラウド環境は頻繁に変更が発生するため、設計書のバージョン管理を徹底し、誰が・いつ・何を変更したのかを記録することが重要です。変更履歴を設け、日付・担当者・変更内容を明確に記載することで、古い情報による構築ミスを防げます。

また、設計書のファイル名にバージョン番号を含めたり、版数を管理する専用のシートを儲けると、最新の設計書が判別しやすくなります。

設定を明確に記載する

セキュリティ設定を設計書に明確に記載し、情報漏洩や不正アクセスのリスクを最小限に抑えることが重要です。特に、SSHやRDPのアクセス制限を明記し、パブリックIPの使用を最小限にすることで、不正アクセスを防ぎます。

また、IAM(RBAC)権限の詳細を記載し、最小権限の原則を守ることで、不必要な権限の付与を防止できます。さらに、ディスク暗号化やバックアップポリシーを記載し、セキュリティリスクを軽減することで、システムの安全性を確保できます。

ただし、詳細設計書そのものの漏えい対策として、ユーザのパスワードなどの機密情報は記載せずに別の書類やデータで管理することをおすすめします。

まとめ

詳細設計書は、クラウド環境の標準化や品質向上を実現する重要なドキュメントです。適切なパラメータを記載し、構築ミスを防ぐとともに、可読性やフォーマットを統一することで、誰が見ても理解しやすい設計書にすることが重要です。

また、セキュリティ設定や変更履歴を明記し、管理を徹底することで、運用の属人化を防ぎ、障害発生時の対応を迅速に行うことが可能になります。詳細設計書を定期的に更新し、最新の環境に適応できるよう管理することを心がけましょう。

詳細設計書以外のクラウドエンジニアが作成すべき成果物については、下記記事にて紹介しています。興味のある方はぜひご覧ください。

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

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

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

メルマガ登録

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

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

メルマガ登録