Mímisbrunnr知恵の泉

← クラウドインフラ 一覧

🎓 レベル:基礎 | 重要度:A(必須)

📎 前提:クラウドとは・IaaS/PaaS/SaaS | 関連:責任共有モデルとリージョン/AZ

要点(BLUF)

概念 ── 役割で覚える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)ゼロで動くので安くて壊れにくい

計算を使わずに要件を満たせないか」を最初に考えると、安くて運用が軽い構成になります。

なぜ役割で覚えるのか

⚠️ よくある誤解・落とし穴

対応ラボ

なし(概念トピック)。実際の保存・ネットワークの構成は第5章 IaC(Terraformの基礎(HCL・state))でコード化します。

関連

第1章 クラウドの基礎 目次