コンテナ・クラウド基盤
12 項目
コンテナ・クラウド基盤とは|このカテゴリで分かること
コンテナとは、アプリケーションを動かすのに必要なものをひとまとめにして、環境の違いに左右されず動かすための仕組みです。コンテナとDockerの関係、DockerとKubernetesの役割の違い、AWS・Azure・Google Cloudのサービスの見方まで、クラウド基盤の入口にあたる用語をこのカテゴリで整理します。
対象は、開発環境の構築で初めてDockerに触れる人、「Kubernetesを入れるべきか」と聞かれた担当者、クラウド各社のサービス名の対応が分からず困っている人です。インストールや細かなコマンドではなく、「何のための仕組みか」「いつ使い、いつ使わないか」の判断に必要な知識を中心に扱います。
読む順番(おすすめの順路)
- Dockerとは|コンテナ・イメージの仕組みと使いどころ … イメージとコンテナという基本の言葉を押さえます。
- コンテナと仮想マシンの違い|選び方の基準 … 仮想マシンとの違いが分かると、コンテナの利点と限界が見えます。
- Dockerfileとは|書き方の基本とイメージを小さく保つ考え方 … イメージの作り方です。ここで「設計図」と「実体」の関係が腑に落ちます。
- Docker Hubとは|イメージの探し方・使い方と注意点 … 既製のイメージを探して使う入口です。信頼できるものの見分け方も確認します。
- Dockerのボリュームとは|データを消さずに残す方法 … コンテナを消してもデータを残す方法です。つまずきやすいので早めに読みます。
- Dockerのネットワークとは|コンテナ間通信とポート公開の基本 … コンテナ同士の通信とポート公開の基本です。
- Docker Composeとは|複数コンテナを1ファイルで管理 … 複数コンテナを1つの設定ファイルで扱う段階に進みます。
- Kubernetesとは|できること・できないこと・導入の判断基準 … 多数のコンテナを運用する仕組みの全体像です。導入の判断基準も確認します。
- Kubernetesのpodとは|コンテナとの関係とDeploymentの役割 … Kubernetesの最小単位であるPodを理解します。
- Kubernetesのデプロイメントとは|更新・ロールバック・スケールの基本 … 更新・ロールバック・スケールの基本です。
- Kubernetesのサービスとは|Podに安定した接続先を与える仕組み … Podに安定した接続先を与える仕組みです。
- AWS・Azure・Google Cloudの比較|サービス名の対応と選び方 … AWS・Azure・Google Cloudのサービス名の対応を見ます。
- AWS Lambdaとは|サーバーレス関数の仕組みと同時実行・課金の考え方 … コンテナとは別の「サーバーレス」という選択肢を知ります。
- Cloud Runとは|サービス・ジョブの違いと課金・スケーリングの考え方 … コンテナをサーバー管理なしで動かす例として読みます。
- Amazon SQSとは|標準キューとFIFOキューの違いと可視性タイムアウト … 処理を非同期でつなぐメッセージキューの基本です。
- Terraformとは|IaCの基本とplan・apply・stateファイルの考え方 … 基盤をコードで管理する考え方で締めくくります。
押さえておきたいポイント(リサーチ)
公式ドキュメントで確認できた内容を、判断の材料になる形でまとめます。
| 論点 | 確認できた内容 | 出典 |
|---|---|---|
| イメージとコンテナ | イメージは、コンテナを作るための読み取り専用のテンプレート。コンテナはイメージの実行可能なインスタンス | Docker Docs |
| データの保存 | ボリュームはDockerが管理し、コンテナを破棄しても内容は残る。ホストのファイルを直接扱いたい場合はバインドマウントを使う | Docker Docs |
| Kubernetesの位置づけ | コンテナ化されたワークロードやサービスを管理する、オープンソースのプラットフォーム | Kubernetes |
| Kubernetesではないもの | 従来型の全部入りPaaSではない。アプリのソースコードのデプロイは行わず、ミドルウェアやデータベースなどのアプリケーション機能も提供しない | Kubernetes |
| Pod | Kubernetesで作成・管理できる最小のデプロイ単位。通常はPodを直接作らず、Deploymentなどで管理する | Kubernetes |
| AWS Lambda | サーバーのプロビジョニングや管理なしにコードを実行できる。課金はリクエスト数と実行時間に基づく | AWS |
ここで見落としやすいのは、「Kubernetesは便利なPaaS」と思い込んでしまう点です。公式の説明では、ソースコードのデプロイの流れや、ログ収集・監視の仕組み、データベースなどは、利用者が選ぶ部分とされています。導入前に、どこまで自分たちで用意するのかを確認してください。製品の仕様や料金は更新されるため、最新は公式で確認してください。
よくある疑問
Q. コンテナと仮想マシンは何が違いますか。
A. 比較の観点と選び方の基準は コンテナと仮想マシンの違い|選び方の基準 にまとめています。まずイメージとコンテナの定義を Dockerとは|コンテナ・イメージの仕組みと使いどころ で押さえると理解が早くなります。
Q. DockerとKubernetesは両方必要ですか。
A. 役割が違うため、必須の組み合わせではありません。1台で動かす規模なら Docker Composeとは|複数コンテナを1ファイルで管理 で足りることも多く、Kubernetesが必要かは Kubernetesとは|できること・できないこと・導入の判断基準 の判断基準を参照してください。
Q. コンテナを消したらデータも消えますか。
A. 何も設定しなければ、コンテナ内に書いたデータはコンテナとともに失われます。残したいデータはボリュームに置きます。詳しくは Dockerのボリュームとは|データを消さずに残す方法 を参照してください。
Q. AWS・Azure・Google Cloudはどれを選べばよいですか。
A. 優劣ではなく、既存の契約・社内の経験・必要なサービスで決まります。サービス名の対応と選び方は AWS・Azure・Google Cloudの比較|サービス名の対応と選び方 を参照してください。
編集部の見解
コンテナ領域の学習では、ツールの数に圧倒されて「全部覚えなければ」と考えがちですが、まずはDockerのイメージとコンテナ、ボリュームの3点だけで日々の開発環境は成り立つと考えます。Kubernetesやクラウドのマネージドサービスは、その先で「運用の手間を誰が負担するか」という問題が出たときに初めて検討すれば十分です。
つまずきやすいのは、技術的な優劣で選んでしまうことです。チームの人数と運用に割ける時間を先に見積もり、それに見合う基盤を選ぶほうが、結果的に長続きすると考えます。小さな規模でKubernetesを入れて運用が回らなくなる例を避けるためにも、Kubernetesとは|できること・できないこと・導入の判断基準 の「できないこと」の節を先に読んでおくことをおすすめします。
本ページは情報提供を目的としたもので、特定のクラウド事業者や製品を推奨するものではありません。
出典(一次情報)
コンテナ・クラウド基盤の項目一覧
- Dockerとは|コンテナ・イメージの仕組みと使いどころDockerとは、アプリを動作環境ごとコンテナにまとめて配布・実行するプラットフォームです。イメージとコンテナの違い、基本コマンド、導入前の…
- Docker Composeとは|複数コンテナを1ファイルで管理Docker Composeとは、複数のコンテナからなるアプリをYAMLファイル1つで定義・起動する仕組みです。基本の書き方、開発・テストで…
- Docker Hubとは|イメージの探し方・使い方と注意点Docker Hubとは、Dockerイメージを探し、保存し、共有できるコンテナレジストリです。公式イメージの見分け方、基本操作、取得制限や…
- Cloud Runとは|サービス・ジョブの違いと課金・スケーリングの考え方Cloud Runとは、Google Cloudでコンテナやコードを動かすフルマネージドの実行基盤です。サービス・ジョブ・ワーカープールの違…
- Kubernetesとは|できること・できないこと・導入の判断基準Kubernetesとは、コンテナ化されたアプリを管理するオープンソースの基盤です。自己修復・スケーリング・ロールアウトなどの機能と、提供し…
- AWS Lambdaとは|サーバーレス関数の仕組みと同時実行・課金の考え方AWS Lambdaとは、サーバーを管理せずにコードを実行できるAWSのサーバーレスサービスです。関数の仕組み、実行環境の初期化と再利用、同…
- Dockerfileとは|書き方の基本とイメージを小さく保つ考え方Dockerfileとは、Dockerイメージの作り方を書く設計書です。FROM・RUN・COPY・CMDなどの基本命令、ビルドの流れ、レイ…
- コンテナと仮想マシンの違い|選び方の基準コンテナと仮想マシンの違いを、OSの共有範囲・起動の速さ・隔離の強さ・運用の手間で比較します。用途別の選び方と、誤解しやすい点を整理します。
- Dockerのボリュームとは|データを消さずに残す方法Dockerのボリュームとは、コンテナが使うデータを永続化する仕組みです。コンテナを削除してもデータが残る理由、バインドマウントとの違い、バ…
- Dockerのネットワークとは|コンテナ間通信とポート公開の基本Dockerのネットワークとは、コンテナ同士や外部と通信するための仕組みです。ブリッジ・ホストなどの種類、ユーザー定義ネットワークでの名前解…
- Kubernetesのpodとは|コンテナとの関係とDeploymentの役割Kubernetesのpod(ポッド)とは、1つ以上のコンテナをまとめた最小のデプロイ単位です。コンテナとの違い、Podを直接作らない理由、…
- Kubernetesのデプロイメントとは|更新・ロールバック・スケールの基本KubernetesのDeploymentとは、Podの複製や更新を宣言的に管理するリソースです。ReplicaSetとの関係、ローリングア…