

# 設計の原則
<a name="design-principles"></a>

 Well-Architected フレームワークの運用上の優秀性設計原則に加えて、クラウドでの IoT の運用上の優秀性に関する 5 つの設計原則があります。 
+  **デバイスプロビジョニングの計画**: 安全な場所に初期デバイス ID を作成するように、デバイスプロビジョニングプロセスを設計します。一意の証明書を IoT デバイスに配布するパブリックキーインフラストラクチャ (PKI) を実装します。上記のように、事前に生成されたプライベートキーと証明書を持つ暗号化ハードウェアを選択すると、PKI の実行にかかる運用コストが排除されます。それ以外の場合、PKI は、製造プロセスまたはデバイスのブートストラップ中に Hardware Security Module (HSM) を使用してオフラインで実行できます。クラウドで認証機関 (CA) と HSM を管理できるテクノロジーを使用します。 
+  **デバイスのブートストラップを実装**: (階層的な業界における) 技術者または (階層的になっている消費者における) ユーザーによるパーソナライズをサポートするデバイスも、プロビジョニングを受けることができます。例えば、Bluetooth LE 経由でデバイスと、Wi-Fi 経由でクラウドとやり取りするスマートフォンアプリケーションです。グローバルに分散されたブートストラップ API を使用して、デバイスが設定情報をプログラムで更新できるように設計する必要があります。ブートストラップ設計により、デバイスの新しい設定をクラウド経由でプログラムで送信できます。これらの変更には、通信する IoT エンドポイント、デバイス全体のステータスを送信する頻度、サーバー証明書などの更新されたセキュリティ設定などの設定が含まれます。ブートストラップのプロセスは初期プロビジョニングにとどまらず、クラウドを通じてデバイス設定を更新するプログラム的な方法を提供することで、デバイス運用において重要な役割を果たします。 
+  **デバイス通信パターンの文書化**: IoT アプリケーションでは、デバイスの動作はハードウェアレベルで手動で文書化されます。クラウドでは、運用チームは、デバイスのフリートにデプロイされたデバイスの動作をどのようにスケールするかを策定する必要があります。クラウドエンジニアは、デバイス通信パターンを確認し、デバイスデータの予想されるインバウンドトラフィックとアウトバウンドトラフィックの合計を推定し、クラウドでデバイスのフリート全体をサポートするために必要なインフラストラクチャを判断する必要があります。運用計画では、デバイスおよびクラウド側のメトリクスを使用してこれらのパターンを測定し、システムで想定される使用パターンが満たされるようにする必要があります。 
+  **無線 (OTA) アップデートの実装**: ハードウェアへの長期投資のメリットを得るには、新しい機能を使用してデバイスのファームウェアを継続的に更新できる必要があります。クラウドでは、堅牢なファームウェア更新プロセスを適用できます。これにより、特定のデバイスのファームウェア更新、時間の経過に伴う変更の展開、更新の成功と失敗の追跡、KPI に基づいてファームウェアの変更のロールバックや停止を行うことができます。 
+  **物理的アセットに機能テストを実装**: IoT デバイスのハードウェアとファームウェアは、現場にデプロイする前に厳格なテストを受ける必要があります。受諾と機能テストは、本稼働環境に向けて非常に重要です。機能テストの目的は、ハードウェアのパフォーマンスをプロファイリングしながら、周辺センサーの断続的または減少した接続や障害などの厳格なテストシナリオを通じて、ハードウェアコンポーネント、組み込みファームウェア、デバイスアプリケーションソフトウェアを実行することです。このテストでは、IoT デバイスがデプロイ時に想定どおりに動作することを確認します。 