カテゴリ

コンテナ・クラウド基盤

12 項目

コンテナ・クラウド基盤とは|このカテゴリで分かること

コンテナとは、アプリケーションを動かすのに必要なものをひとまとめにして、環境の違いに左右されず動かすための仕組みです。コンテナとDockerの関係、DockerとKubernetesの役割の違い、AWS・Azure・Google Cloudのサービスの見方まで、クラウド基盤の入口にあたる用語をこのカテゴリで整理します。

対象は、開発環境の構築で初めてDockerに触れる人、「Kubernetesを入れるべきか」と聞かれた担当者、クラウド各社のサービス名の対応が分からず困っている人です。インストールや細かなコマンドではなく、「何のための仕組みか」「いつ使い、いつ使わないか」の判断に必要な知識を中心に扱います。

読む順番(おすすめの順路)

  1. Dockerとは|コンテナ・イメージの仕組みと使いどころ … イメージとコンテナという基本の言葉を押さえます。
  2. コンテナと仮想マシンの違い|選び方の基準 … 仮想マシンとの違いが分かると、コンテナの利点と限界が見えます。
  3. Dockerfileとは|書き方の基本とイメージを小さく保つ考え方 … イメージの作り方です。ここで「設計図」と「実体」の関係が腑に落ちます。
  4. Docker Hubとは|イメージの探し方・使い方と注意点 … 既製のイメージを探して使う入口です。信頼できるものの見分け方も確認します。
  5. Dockerのボリュームとは|データを消さずに残す方法 … コンテナを消してもデータを残す方法です。つまずきやすいので早めに読みます。
  6. Dockerのネットワークとは|コンテナ間通信とポート公開の基本 … コンテナ同士の通信とポート公開の基本です。
  7. Docker Composeとは|複数コンテナを1ファイルで管理 … 複数コンテナを1つの設定ファイルで扱う段階に進みます。
  8. Kubernetesとは|できること・できないこと・導入の判断基準 … 多数のコンテナを運用する仕組みの全体像です。導入の判断基準も確認します。
  9. Kubernetesのpodとは|コンテナとの関係とDeploymentの役割 … Kubernetesの最小単位であるPodを理解します。
  10. Kubernetesのデプロイメントとは|更新・ロールバック・スケールの基本 … 更新・ロールバック・スケールの基本です。
  11. Kubernetesのサービスとは|Podに安定した接続先を与える仕組み … Podに安定した接続先を与える仕組みです。
  12. AWS・Azure・Google Cloudの比較|サービス名の対応と選び方 … AWS・Azure・Google Cloudのサービス名の対応を見ます。
  13. AWS Lambdaとは|サーバーレス関数の仕組みと同時実行・課金の考え方 … コンテナとは別の「サーバーレス」という選択肢を知ります。
  14. Cloud Runとは|サービス・ジョブの違いと課金・スケーリングの考え方 … コンテナをサーバー管理なしで動かす例として読みます。
  15. Amazon SQSとは|標準キューとFIFOキューの違いと可視性タイムアウト … 処理を非同期でつなぐメッセージキューの基本です。
  16. 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とは|できること・できないこと・導入の判断基準 の「できないこと」の節を先に読んでおくことをおすすめします。

本ページは情報提供を目的としたもので、特定のクラウド事業者や製品を推奨するものではありません。

出典(一次情報)

コンテナ・クラウド基盤の項目一覧