この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:12
ページ更新者:atom
更新日時:2026-06-11 07:07:02

タイトル: クラウド・インフラ
SEOタイトル: クラウド・インフラ完全ガイド — AWS/Azure/GCP/Kubernetes

この記事の要点
  • クラウド三大ベンダー: AWS (シェア 1 位) / Azure (2 位、Microsoft 連携が強い) / GCP (3 位、データ分析・AI が強い)
  • IaaS / PaaS / SaaS の階層: IaaS (VM)・PaaS (実行環境)・SaaS (完成サービス) の順に抽象度・運用負荷が変わる
  • コンテナ: Docker でアプリをパッケージ化 → Kubernetes / ECS / AKS / GKE でオーケストレーション
  • サーバーレス: AWS Lambda / Azure Functions / Cloud Run。インフラ管理不要、リクエスト数課金
  • IaC (Infrastructure as Code): Terraform (マルチクラウド)・CloudFormation (AWS)・Pulumi (各言語) で構成をコード化

クラウドコンピューティングとは

クラウドコンピューティングは、サーバー・ストレージ・データベース・ネットワーク・ソフトウェアをインターネット経由で必要な分だけ借りるサービス形態です。物理サーバーを購入して自社で運用するオンプレミスと対比されます。2006 年に AWS が S3・EC2 を提供開始して以降、急速に普及し、現在はほぼ全ての新規 IT プロジェクトがクラウドで構築されます。

三大クラウドベンダー比較

項目AWSAzureGCP
シェア★★★★★ (約 31%)★★★★ (約 25%)★★★ (約 11%)
サービス数200+200+100+
強み網羅性・実績Microsoft 製品連携・ハイブリッドデータ分析・ML・コンテナ
VMEC2Virtual MachinesCompute Engine
オブジェクトストアS3Blob StorageCloud Storage
マネージド DBRDS / Aurora / DynamoDBSQL Database / Cosmos DBCloud SQL / Spanner / Firestore
関数LambdaFunctionsCloud Functions / Cloud Run
コンテナECS / EKS / FargateAKS / Container AppsGKE / Cloud Run
ネットワークVPC / Route 53 / CloudFrontVNet / Azure DNS / CDNVPC / Cloud DNS / Cloud CDN
監視CloudWatchMonitorCloud Monitoring
AI / MLSageMaker / BedrockAzure OpenAI / ML StudioVertex AI / Gemini

IaaS / PaaS / SaaS の階層

階層提供範囲運用負荷
IaaS (Infrastructure as a Service)VM / ネットワーク / ストレージEC2, Compute Engine大(OS・ミドル・アプリ全て自社管理)
CaaS (Container)コンテナ実行環境ECS, AKS, GKE
PaaS (Platform)アプリ実行環境App Service, App Engine, Heroku小(アプリのみ)
FaaS (Function)関数実行のみLambda, Functions, Cloud Run極小(コードだけ)
SaaS (Software)完成したアプリMicrosoft 365, Slack, Salesforceなし(使うだけ)

コンテナと Kubernetes

アプリと依存関係を Docker イメージにパッケージ化し、本番では Kubernetes (K8s) でオーケストレーション(スケジューリング・自動復旧・スケーリング)するのが現代の主流:

# Kubernetes Deployment 例
apiVersion: apps/v1
kind: Deployment
metadata:
  name: web
spec:
  replicas: 3
  selector:
    matchLabels:
      app: web
  template:
    metadata:
      labels:
        app: web
    spec:
      containers:
        - name: app
          image: myregistry/web:1.2.3
          ports:
            - containerPort: 8080
          resources:
            requests:
              cpu: 100m
              memory: 128Mi
            limits:
              cpu: 500m
              memory: 512Mi
---
apiVersion: v1
kind: Service
metadata:
  name: web-svc
spec:
  type: LoadBalancer
  selector:
    app: web
  ports:
    - port: 80
      targetPort: 8080

マネージド K8s: EKS (AWS) / AKS (Azure) / GKE (GCP)。GKE は K8s の生みの親 Google が提供しているため操作性が良い。

サーバーレス

サーバーをユーザーが管理せず、リクエスト数・実行時間で課金される実行モデル:

# AWS Lambda (Python)
import json

def lambda_handler(event, context):
    name = event.get('queryStringParameters', {}).get('name', 'world')
    return {
        'statusCode': 200,
        'body': json.dumps({'message': f'Hello, {name}!'})
    }
サービスクラウド料金
AWS LambdaAWS100 万リクエスト + 40 万 GB 秒/月 無料枠
Azure FunctionsAzure100 万リクエスト/月 無料枠
Cloud FunctionsGCP200 万リクエスト/月 無料枠
Cloud RunGCP180,000 vCPU 秒/月 無料枠
Cloudflare WorkersCloudflare10 万リクエスト/日 無料枠

IaC (Infrastructure as Code)

クラウドリソースを GUI ではなくコードで定義・適用する仕組み:

# Terraform: AWS EC2 を立てる例
provider "aws" {
  region = "ap-northeast-1"
}

resource "aws_instance" "web" {
  ami           = "ami-0c55b159cbfafe1f0"
  instance_type = "t3.micro"

  tags = {
    Name = "web-server"
  }
}

resource "aws_security_group" "web" {
  name = "web-sg"

  ingress {
    from_port   = 80
    to_port     = 80
    protocol    = "tcp"
    cidr_blocks = ["0.0.0.0/0"]
  }
}
ツール得意言語
Terraformマルチクラウド標準HCL
CloudFormationAWS 完結YAML / JSON
AWS CDKAWS をプログラム言語でTypeScript / Python 等
Pulumiマルチクラウド + 各言語TypeScript / Python / Go
Ansibleサーバー構成管理YAML

監視・コスト最適化

  • 監視: CloudWatch / Azure Monitor / Cloud Monitoring(標準)+ Datadog / New Relic / Grafana Cloud(マルチクラウド)
  • ログ集約: CloudWatch Logs / Loki + Grafana / ELK / OpenSearch
  • 分散トレーシング: AWS X-Ray / OpenTelemetry / Jaeger
  • コスト可視化: AWS Cost Explorer / Azure Cost Management / GCP Billing
  • 節約手段: Reserved Instance / Savings Plan / Spot / Committed Use Discount / 不要リソースの自動停止

FAQ

Q: どのクラウドから学ぶべき?
A: 求人数・教材数で AWS が最有力。Microsoft エコシステム企業なら Azure、データ分析・AI 重視なら GCP。

Q: マルチクラウドは必要?
A: 大規模・規制業界(金融・公共)以外は不要。運用負荷が跳ね上がる。まずは 1 つに集中。

Q: オンプレと比べたコスト感は?
A: 小規模はクラウドが安い、超大規模・常時稼働ワークロードはオンプレが安いこともある。Dropbox は逆に S3 から自前へ移行した事例。