🎓 レベル:基礎 | 重要度:A(必須)
📎 前提:クラウドとは・IaaS/PaaS/SaaS | 関連:責任共有モデルとリージョン/AZ
要点(BLUF)
- 各社のサービスは数百あって名前もバラバラだが、役割は 計算・保存・ネットワーク・データベース の4つにほぼ収まる。名前でなく役割で覚えるのが地図化のコツ。
- 「計算(動かす)」「保存(置く)」「ネットワーク(つなぐ)」「DB(問い合わせる)」の4象限を押さえれば、新サービスも「これは保存系だな」と位置づけられる。
- 具体的なサービス名・スペック・料金は動きが速いので要最新確認。ここでは普遍的な分類と選び方の軸を扱う。
概念 ── 役割で覚える4分類
クラウドのコンソールを開くとサービスが数百並んでいて圧倒されます。が、ほとんどは次の4カテゴリのどれかです。アプリは「計算で動き、保存にデータを置き、ネットワークでつながり、DBに構造化データを問い合わせる」——この4つで世界が回っています。
flowchart LR
user["利用者"] --> net["ネットワーク(つなぐ:VPC・ロードバランサ・DNS)"]
net --> comp["計算(動かす:仮想マシン・コンテナ・サーバレス)"]
comp --> db["データベース(問い合わせる:RDB・NoSQL)"]
comp --> store["保存(置く:オブジェクト・ブロック・ファイル)"]
仕組み ── 4カテゴリの中身
計算(Compute)── コードを動かす
抽象度の低い順に3段階。下ほど自由で運用負担が重く、上ほど楽(クラウドとは・IaaS/PaaS/SaaS の抽象度と対応)。
| 種類 | 単位 | 向く用途 |
|---|---|---|
| 仮想マシン(VM) | OSごと1台 | 既存アプリの移行・自由度重視 |
| コンテナ | プロセス+依存 | マイクロサービス(コンテナとは(名前空間・cgroups)) |
| サーバレス(FaaS) | 関数1つ | イベント駆動・断続的な処理 |
保存(Storage)── データを置く
用途で3タイプを使い分けます。ここを取り違えると性能もコストも崩れます。
| タイプ | 形 | 向く用途 |
|---|---|---|
| オブジェクトストレージ | キーと値(ファイル単位) | 画像・ログ・バックアップ・静的サイト |
| ブロックストレージ | 仮想ディスク | VMのOS・DBのデータ領域 |
| ファイルストレージ | 共有フォルダ(NFS等) | 複数マシンで共有 |
ネットワーク(Networking)── つなぐ
クラウド内の論理ネットワーク(VPC)、入口で振り分けるロードバランサ、名前解決のDNS、配信を速くするCDNなど。通信の原理(TCP/IP・ルーティング)は コンピュータネットワーク へ。ここは「マネージドなネットワーク部品をどう組むか」の使い方。
データベース(Database)── 問い合わせる
RDB(リレーショナル) は表とSQL・トランザクション重視。NoSQL はスケールと柔軟なスキーマ重視(キーバリュー・ドキュメント・列指向など)。マネージドDBを使えばバックアップ・冗長化・パッチをクラウドに任せられます。
動く例 ── 静的サイトを「保存+ネットワーク」で
4分類の組み合わせ例。静的サイトは「VMで動かす」必要すらなく、オブジェクトストレージ+CDNだけで配信できます(疑似コマンド・要最新確認)。
# 1) オブジェクトストレージに「バケット」を作って公開設定(保存)
cloud storage buckets create my-site --location asia-northeast1
# 2) 静的ファイルを置く(保存)
cloud storage cp ./public/* gs://my-site/ --recursive
# 3) 前段にCDNを置いて世界中で速く配信(ネットワーク)
# → 計算(VM)ゼロで動くので安くて壊れにくい
「計算を使わずに要件を満たせないか」を最初に考えると、安くて運用が軽い構成になります。
なぜ役割で覚えるのか
- サービス名は陳腐化するが役割は不変:プロバイダは毎年サービスを追加・改名する。「これは保存系」「これは計算系」で捉えれば、新サービスもベンダ間の対応づけも一瞬で見当がつく。
- 設計の議論が噛み合う:「ここは何で動かす?」「データはどの保存に?」と4象限で問えば、構成の抜けに気づける。
⚠️ よくある誤解・落とし穴
- 「とりあえずVMに全部入れる」→ 静的配信・断続処理は保存+CDN・サーバレスの方が安く堅い。VMは「常時動く・自由度が要る」場合に。
- 「オブジェクトとブロックは同じ」→ オブジェクトはファイル丸ごと出し入れ(部分書き換え不可)、ブロックはディスクとして細かく読み書き可。DBのデータ領域にオブジェクトは使えない。
- 「具体的サービス名・無料枠・料金を暗記」→ 要最新確認。変わる前提で、役割と選定軸を覚える。
- 「マネージドDBは遅い/高い」→ 自前運用のバックアップ・冗長化・パッチ当ての人件費を含めると、多くの規模でマネージドが総合的に安い。
対応ラボ
なし(概念トピック)。実際の保存・ネットワークの構成は第5章 IaC(Terraformの基礎(HCL・state))でコード化します。
関連
- どこまで自分で管理するかの抽象度は クラウドとは・IaaS/PaaS/SaaS
- 資源をどこに置くか(リージョン/AZ)は 責任共有モデルとリージョン/AZ
- 計算をどう伸縮させるかは コストとスケーリングの考え方
- コンテナという計算単位は コンテナとは(名前空間・cgroups)