18.

クラウド・インフラ完全ガイド — 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 から自前へ移行した事例。

編集
Post Share
子ページ

子ページはありません

同階層のページ
  1. プログラミング言語
  2. データベース
  3. ネットワーク
  4. OS
  5. ソフトウェア
  6. ハードウェア
  7. ファームウェア
  8. API
  9. セキュリティ
  10. Webサービス
  11. AI 人工知能
  12. 技術・設計・規格
  13. SEO
  14. 開発工程
  15. エンジニア
  16. 電子工作
  17. その他用語一覧
  18. クラウド・インフラ