第8章の全体像
第4版の第8章の見出しをもとに、当サイトが論点を整理しました。テキスト本文は使っていません。

| 見出し(章立て) | 論点 | 関連記事 |
|---|---|---|
| ソフトウェア開発手法 | ウォーターフォール、アジャイル、スクラム | アジャイルとスクラム |
| 開発・運用の自動化 | DevOps、CI/CD、OTA更新、SBOM | DevOpsとCI/CD |
| BCP | 事業継続計画、RTO・RPO、冗長化 | BCP |
| CCライセンス | 表示・非営利・改変禁止・継承の組み合わせ | CCライセンス |
押さえる用語と対比
| 対になる用語 | 違い |
|---|---|
| ウォーターフォール / アジャイル | 工程を順に一度で進めるか、短い反復で作って直すか |
| 継続的インテグレーション / 継続的デリバリー | 変更を頻繁に統合して自動テストするか、いつでも出せる状態を保つか |
| RTO / RPO | どれだけの時間で復旧するかの目標か、どの時点までのデータを戻すかの目標か |
| BCP / BCM | 事業継続のための計画そのものか、計画を運用し見直す管理の仕組みか |
| CC BY / CC BY-SA | 表示すれば利用可か、それに加え改変物を同じ条件で公開する必要があるか |
| スプリント / リリース | スクラムの一定期間の反復か、利用者に届ける出荷か |
第8章を読むときの視点
第8章は、作ったIoTシステムを長く安全に使い続けるための章です。IoT機器は一度設置すると何年も現場で動き続けるため、開発の段階から運用と保守を見込んでおくことが大切になります。
開発手法は、要件がどれだけ確定しているかで選ぶと考えると整理しやすくなります。要件が固く変更が少ないならウォーターフォール、試しながら要件を見つけていくならアジャイル、というように、手法の優劣ではなく状況との相性で説明できるようにしてください。
開発・運用の自動化では、ソフトの変更を小さく頻繁に統合して自動テストし、安全に配布する流れが中心です。IoTでは、現場の機器に遠隔で更新を届ける仕組み(OTA)と、更新に失敗したときに元に戻せる仕組みが重要になります。
BCPとCCライセンスは技術とは毛色が違いますが、用語の定義を正確に覚えれば得点しやすい分野です。RTOとRPO、CCの4条件は表にして一度で覚えてしまいましょう。
- 1
小さく頻繁に統合する
ソフトの変更を小分けにしてまとめる
- 2
自動でテストする
統合のたびに確かめる
- 3
安全に配布する
現場の機器へ遠隔で更新を届ける(OTA)
- 4
失敗したら元に戻す
更新に失敗しても前の版で動き続けられるようにする
IoT では、遠隔で更新を届ける仕組みと、失敗したときに戻せる仕組みが重要になる。
間違えやすい点
| よくある誤解 | 正しい理解 |
|---|---|
| アジャイルは計画も文書も作らない | 計画や文書より変化への対応と動くソフトを重んじるが、不要とはしていない |
| RPOは復旧にかかる時間のこと | 時間の目標はRTO。RPOは失ってよいデータの範囲(時点) |
| CCライセンスは著作権を放棄すること | 著作権を保ったまま利用条件を示すもの。放棄に近いのはCC0 |
| IoT機器は出荷後の更新は不要 | 脆弱性対応のため、安全な遠隔更新の仕組みが求められる |
部品の把握には SBOM の考え方も役立ちます。
具体例で確かめる:RTO・RPOとCCライセンスの6種類
RTO・RPOの例:センサデータを毎日0時にバックアップしているシステムが、ある日の18時に故障し、21時に復旧したとします。このとき失われうるデータは0時〜18時の最大18時間分で、これを許容できるかを決める目標がRPOです。一方、停止していた3時間が許容範囲かを決める目標がRTOです。RPOを1時間にしたいなら、バックアップや複製を1時間ごと以上の頻度にする必要があります。
よくあるミスは、RTOとRPOを「どちらも時間だから同じ」と扱うことです。RTOは障害の後ろ側(再開までの時間)、RPOは障害の前側(どの時点まで戻れるか)を見る、と時間軸の向きで覚えると取り違えにくくなります。
CCライセンスの6種類:4条件(BY=表示、NC=非営利、ND=改変禁止、SA=継承)の組み合わせです。BYは全てに付き、NDとSAは同時に付きません(改変を禁じると継承する改変物が生まれないため)。
0時
最後のバックアップ
毎日0時にバックアップしている
18時
故障
0時〜18時の最大18時間分のデータが失われうる。許容できるかを決めるのが RPO
21時
復旧
停止していた3時間が許容範囲かを決めるのが RTO
RPO を1時間にしたいなら、バックアップや複製を1時間ごと以上の頻度にする。
時刻は当サイトが作った説明用の例です。
| ライセンス | 営利利用 | 改変 | 改変物の条件 |
|---|---|---|---|
| CC BY | 可 | 可 | 条件なし |
| CC BY-SA | 可 | 可 | 同じライセンスで公開 |
| CC BY-ND | 可 | 不可 | ― |
| CC BY-NC | 不可 | 可 | 条件なし |
| CC BY-NC-SA | 不可 | 可 | 同じライセンスで公開 |
| CC BY-NC-ND | 不可 | 不可 | ― |
他の章とのつながり
第8章の内容は、第6章のプロトタイピングと第7章のセキュリティの延長線上にあります。試作で得た学びを製品に反映し、出荷後も脆弱性に対応し続けるためには、開発手法と運用の仕組みの両方が必要です。
IoTならではの運用の難しさとして、現場に散らばった多数の機器を把握し続けることが挙げられます。どの機器にどのソフトが入っているかを管理できていないと、脆弱性が見つかったときに影響範囲を判断できません。
BCPの観点では、クラウドやネットワークが止まったときに現場の機器がどう振る舞うかを決めておくことが重要です。通信が途絶えても最低限の制御を続ける、データを一時保存して復旧後に送る、といった設計は第2章のエッジ処理ともつながります。
学習の順番と時間の目安
以下は 当サイトの目安 です。
- 開発手法の対比とスクラムの用語(1時間)
- DevOps・CI/CD・遠隔更新の流れ(45分)
- BCPとRTO・RPO(45分)
- CCライセンスの4条件と6種類(30分)
- 問題演習(1時間)
本番形式の問題は IoT中級の無料お試し で試せます。
確認問題(オリジナル)
問1 災害時に「障害発生から4時間以内にサービスを再開する」と決めた。この目標を表す用語はどれか。
ア:平均故障間隔を示す信頼性のMTBF/イ:戻すデータの時点の目標を示すRPO/ウ:復旧までの時間の目標を示すRTO/エ:サービスの品質を約束する契約のSLA
正解:ウ。イはデータの時点、アは故障の間隔、エは事業者と利用者の合意で、再開までの時間の目標そのものではありません。
問2 CCライセンスで「作者の表示をすれば改変・営利利用も可、ただし改変物は同じライセンスで公開する」条件はどれか。
ア:表示と非営利を組み合わせたCC BY-NC/イ:表示と継承を組み合わせたCC BY-SA/ウ:表示と改変禁止を組み合わせたCC BY-ND/エ:表示だけを条件とする最も緩いCC BY
正解:イ。アは営利利用を認めず、ウは改変を認めず、エは継承を求めません。
問3 アジャイル開発の特徴として、最も適切なものはどれか。
ア:短い期間の反復で動くものを作り、評価を受けて直す/イ:全工程の仕様を最初に確定し、以後は変更を認めない/ウ:テストは最後の工程でまとめて一度だけ実施する方式/エ:利用者との対話は契約時だけにして、開発に集中する
正解:ア。イとウはウォーターフォールの典型、エはアジャイル宣言が重んじる顧客との協調と逆です。
更新の前後で、一台の機器を何と比べるか
画像のように保守対象を切り分ける場合、確認したいのは「更新が終わった」という表示だけではありません。対象機器の識別、適用する版、設定、取得データ、接続先を記録してから変更し、前後で同じ項目を比較します。試験用の一台が動いても、全機器の設置条件まで同じとは限らないため、適用範囲を残します。
温室のセンサなら、更新後も値を取得できるか、送信先が変わっていないか、通信が途切れたときにどう記録されるかが確認例です。実機では更新中に停止してよい時間や安全上の条件も異なります。単に最新の版へそろえる作業として覚えるより、運用を続ける条件と結び付けると章の用語が整理できます。
| 段階 | 記録・確認すること | 次へ進む条件 |
|---|---|---|
| 変更前 | 対象・版・設定・必要なデータを記録 | 更新元と操作権限、復旧方法を確認 |
| 限定した適用 | 通信・測定・設定保持を前後比較 | 決めた確認項目を満たす |
| 適用を広げる前 | 異常時の停止条件と戻り先を確認 | 責任者が判断できる記録を残す |
更新の安全性と、戻せることを分けて考える
NISTIR 8259Aは、許可された主体が安全で構成可能な仕組みでソフトウェアを更新できる能力を示しています。学習では、誰が更新を認めるか、更新物の信頼性をどう確かめるか、結果をどう把握するかを分けて押さえます。
元の版へ戻れる仕組みがあっても、戻す先が既知の脆弱性を含む版なら、そのまま使い続けてよいとは限りません。設定や保存データの互換性、戻す操作に必要な権限、復旧後の確認も別の条件です。ロールバックを「いつでも何でも元へ戻せば安全」という意味で覚えないようにします。
復旧までの時間を考える論点はBCP、部品や版を追跡する論点はSBOMへ進めます。章内の言葉を一つずつ暗記した後、更新前・実行中・更新後のどこで使うかを説明してみてください。