クラウド — サーバを借りて、使った分だけ払う

中級の解説は準備中のため、中級の内容を表示しています。

概要 — まず全体をつかむ

初級ではクラウドを「借りる/従量課金」と捉えました。中級では、サービスの層・スケール・責任分界という「借り方」を見ます(データセンター・リージョン・AZといった"どこにあるか"の実体は、姉妹ユニット クラウドはどこにあるのか)。

詳細 — 1段階ずつ追う

これは何をする係?

クラウドは「どこまで任せるか」で層が分かれます。

  • IaaS — 仮想サーバ・ストレージ・ネットワークなど基盤を借りる(OS以上は自分で)
  • PaaS実行環境を借りる(OS・ミドルウェアはお任せ、アプリに集中)
  • SaaS完成したアプリを使う(メール・表計算など)
  • FaaS/サーバーレス関数だけ預け、実行時だけ課金・イベントで起動(サーバの存在を意識しない、任せる範囲のさらに上の層)

これらの土台にある仮想化には、OSごと積むVMと、カーネルを共有するコンテナがあります。

アニメーション『VMとコンテナの違い』を開く
仮想マシン(VM)OSをまるごと積む=重いコンテナカーネルを共有=軽い仮想マシン1アプリゲストOS(フルOS)仮想マシン2アプリゲストOS(フルOS)仮想マシン3アプリゲストOS(フルOS)ハイパーバイザハードウェアコンテナ1アプリ+必要な部品だけコンテナ2アプリ+必要な部品だけコンテナ3アプリ+必要な部品だけコンテナエンジンホストOSカーネルを全コンテナで共有ハードウェアVMはゲストOSごと積むので重い/コンテナはホストのカーネルを共有しOSを積まないので軽い

登場人物メモ:

  • ※1 マネージドサービス — DB・キューなどの運用を事業者に任せる形
  • ※2 リージョン/AZ — 地域と、その中の独立した拠点。分散配置に使う

仕事の流れ

  1. 必要なサービスを選ぶ(層=IaaS/PaaS/SaaS)
  2. 設定して即利用(プロビジョニング)
  3. 負荷に応じてオートスケールで増減
  4. 使った分だけ課金され、要らなければ破棄

設計の勘所

  • 責任共有モデル — 基盤は事業者、設定・データ・権限は利用者の責任
  • スケール — 水平スケール前提。マルチAZで可用性を上げる
  • コスト最適化 — 使わない資源を止める、適切なサイズ、予約割引など
  • ロックイン対策 — 事業者独自機能への依存度を意識(ハイブリッド/マルチクラウド)

責任共有の境界は層(IaaS/PaaS/SaaS)で上下しますが、データとアクセス権限は常に利用者の責任です。

アニメーション『クラウドの責任共有モデル』を開く
責任共有モデル — どこまでが誰の責任か利用者の責任事業者(クラウド)の責任データアクセス権限(IAM)アプリOS設定・ミドルウェア仮想化基盤物理(サーバ・NW・建物)↑ アプリ側 / 土台 ↓IaaS基盤を借りる利用者の責任利用者の責任利用者の責任利用者の責任事業者の責任事業者の責任PaaS実行環境を借りる利用者の責任利用者の責任利用者の責任事業者の責任事業者の責任事業者の責任SaaS完成品を使う利用者の責任利用者の責任事業者の責任事業者の責任事業者の責任事業者の責任任せる範囲が広い層ほど、責任の境界は上へ動くデータとアクセス権限は常に利用者の責任 — 公開設定・権限ミスの漏洩は利用者側で起きる

⚠️ うまくいかないとき

  • コスト暴走 — オートスケールや消し忘れで請求が急増
  • 設定ミスによる漏洩 — 公開設定・権限の誤り(責任共有の利用者側)
  • ベンダーロックイン — 独自サービスに深く依存し乗り換え困難
  • 障害の影響範囲 — リージョン障害が広範囲に及ぶことも(分散で緩和)

関連する知識

理解度チェック

そのまま解けます(成績は保存されません)。無料アカウントを作ると、学習の記録と進捗の山登りが始まります。

1. クラウドの「責任共有モデル」で正しいのは?

2. OSやサーバの管理を事業者に任せ、アプリの実行環境だけ使うクラウドの層はどれ?

3. 「完成したアプリをそのまま使う」クラウドの層はどれ?

4. 「関数だけ預け、実行された時だけ課金・イベントで起動する」層はどれ?

5. クラウドの土台にある仮想化で、VMとコンテナの違いとして正しいのは?

6. 層(IaaS/PaaS/SaaS)が変わっても、常に利用者の責任として残るのはどれ?

7. 負荷(CPUやキュー長など)に応じてインスタンス数を自動で増減させる仕組みを、カタカナで何という?

8. 特定事業者の独自機能に深く依存し、他社へ乗り換えにくくなる状態を「ベンダー◯◯イン」と呼ぶ。◯◯に入る語は?