infra-engineer について
infra-engineerは、マルチクラウド、DevOps、セキュリティ、コスト管理を扱うインフラエンジニア向けの実践ガイドです。トピック別の資料や例、ワークフローで一般的なインフラ作業を支援します。
主な機能
- 01マルチクラウドのデプロイガイド
- 02KubernetesとDockerのガイド
- 03CI/CDとGitOpsのワークフロー
- 04FinOpsによるコスト最適化資料
- 05DevSecOpsとIaCの資料
- 06監視とオブザーバビリティの実践
活用シーン
- 01AWS、Azure、GCPへのデプロイ計画
- 02Kubernetesクラスターとコンテナアプリの構築
- 03CI/CDまたはGitOpsパイプラインの設定
- 04クラウドコストとセキュリティの確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ samhvw8/ dotfiles --skill infra-engineerインストール後、Claude Code で/infra-engineerを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
.env.examplereferences/aws-overview.mdbrowser-rendering.mdcicd-github-actions.mdcloudflare-d1-kv.mdcloudflare-platform.mdcloudflare-r2-storage.mdcloudflare-workers-advanced.mdcloudflare-workers-apis.mdcloudflare-workers-basics.mddevsecops-basics.mddocker-basics.mddocker-compose.mdfinops-basics.mdgcloud-platform.mdgcloud-services.mdkubernetes-basics.mdscripts/cloudflare_deploy.pydocker_optimize.pyrequirements.txtscripts/tests/requirements.txttest_cloudflare_deploy.pytest_docker_optimize.py詳細
インフラエンジニアリングスキル
DevOps の実践、マルチクラウドプラットフォーム(AWS、Azure、GCP、Cloudflare)、FinOps によるコスト最適化、DevSecOps のセキュリティ対策を網羅した、現代のインフラエンジニアリングガイドです。
このスキルを使用する場面
以下の場合にこのスキルを使用してください。
- DevOps:CI/CD パイプライン(GitHub Actions、GitLab CI、Jenkins)のセットアップ、GitOps ワークフロー(ArgoCD、Flux)の実装
- AWS:EC2、Lambda、ECS、EKS へのデプロイ、S3 や RDS の管理、CloudFormation/CDK の使用
- Azure:Azure VM、App Service、AKS、Azure Functions、Storage Accounts の使用
- GCP:Compute Engine、GKE、Cloud Run、Cloud Storage、App Engine の管理
- Cloudflare:Workers、R2 ストレージ、D1 データベース、Pages アプリケーションのデプロイ
- Kubernetes:クラスター、デプロイメント、サービス、イングレス、Helm チャート、オペレーターの管理
- Docker:アプリケーションのコンテナ化、マルチステージビルド、Docker Compose、レジストリの使用
- FinOps:クラウドコストの分析、支出の最適化、リザーブドインスタンス、スポットインスタンス、適正なリソースサイズの設定
- DevSecOps:セキュリティスキャン(SAST/DAST)、脆弱性管理、シークレット管理、コンプライアンス
- IaC:Terraform、CloudFormation、Pulumi、構成管理
- 監視:オブザーバビリティ、ロギング、メトリクス、アラート、分散トレーシングのセットアップ
プラットフォーム選択ガイド
AWS を選ぶ場面
最適な用途:
- 大規模な汎用クラウドコンピューティング
- 200 以上のサービスを備えた成熟したエコシステム
- コンプライアンス要件のあるエンタープライズワークロード
- AWS Outposts を利用したハイブリッドクラウド
- 豊富なサードパーティ統合
- 高度なネットワークおよびセキュリティ制御
主なサービス:
- EC2(仮想マシン、柔軟なコンピューティング)
- Lambda(サーバーレス関数、イベント駆動型)
- ECS/EKS(コンテナオーケストレーション)
- S3(オブジェクトストレージ、業界標準)
- RDS(マネージドリレーショナルデータベース)
- DynamoDB(NoSQL、グローバルテーブル)
- CloudFormation/CDK(コードとしてのインフラストラクチャ)
- IAM(ID およびアクセス管理)
- VPC(仮想プライベートクラウドネットワーキング)
料金体系: 従量課金制、リザーブドインスタンス(最大 72% 割引)、セービングプラン、スポットインスタンス(最大 90% 割引)
Azure を選ぶ場面
最適な用途:
- Microsoft 中心の組織(.NET、Active Directory)
- ハイブリッドクラウドのシナリオ(Azure Arc、Stack)
- Microsoft とのエンタープライズ契約
- Windows Server および SQL Server のワークロード
- Microsoft 365 および Dynamics との統合
- 強力なコンプライアンス認証(90 以上の認証)
主なサービス:
- Virtual Machines(Windows/Linux コンピューティング)
- App Service(Web アプリ向け PaaS)
- AKS(マネージド Kubernetes)
- Azure Functions(サーバーレスコンピューティング)
- Storage Accounts(Blob、File、Queue、Table)
- SQL Database(マネージド SQL Server)
- Active Directory(ID 管理)
- ARM Templates/Bicep(コードとしてのインフラストラクチャ)
料金体系: 従量課金制、リザーブドインスタンス、Windows/SQL Server ライセンス向け Azure Hybrid Benefit
Cloudflare を選ぶ場面
最適な用途:
- グローバルに分散されたエッジファーストのアプリケーション
- 超低レイテンシーの要件(50ms 未満)
- サーバーレス関数を備えた静的サイト
- エグレスコストが発生しないシナリオ(R2 ストレージ)
- WebSocket/リアルタイムアプリケーション(Durable Objects)
- エッジでの AI/ML(Workers AI)
主な製品:
- Workers(サーバーレス関数)
- R2(オブジェクトストレージ、S3 互換)
- D1(グローバルレプリケーションを備えた SQLite データベース)
- KV(キー・バリューストア)
- Pages(静的ホスティング+関数)
- Durable Objects(ステートフルコンピューティング)
- Browser Rendering(ヘッドレスブラウザーの自動化)
料金体系: リクエストごとの従量課金、充実した無料枠、エグレス料金なし
Kubernetes を使用する場面
最適な用途:
- 大規模なコンテナオーケストレーション
- 10 個以上のサービスで構成されるマイクロサービスアーキテクチャ
- マルチクラウドおよびハイブリッドデプロイ
- 自己修復および自動スケーリングが可能なワークロード
- 複雑なデプロイ戦略(ブルーグリーン、カナリア)
- サービスメッシュアーキテクチャ(Istio、Linkerd)
- オペレーターを使用するステートフルアプリケーション
主な機能:
- 宣言的な設定(YAML マニフェスト)
- 自動ロールアウトとロールバック
- サービスディスカバリーとロードバランシング
- 自己修復(失敗したコンテナを再起動)
- 水平ポッド自動スケーリング
- シークレットと設定の管理
- ストレージオーケストレーション
- バッチジョブの実行
マネージドオプション: EKS(AWS)、AKS(Azure)、GKE(GCP)、マネージド k8s プロバイダー
コストの目安: クラスター管理料金 + ノードコスト(スポットインスタンスやクラスター自動スケーリングで最適化)
Docker を使用する場面
最適な用途:
- ローカル開発環境の一貫性
- マイクロサービスアーキテクチャ
- 複数言語のスタックを使用するアプリケーション
- 従来型の VPS/VM デプロイ
- Kubernetes ワークロードの基盤
- CI/CD ビルド環境
- データベースのコンテナ化(開発/テスト)
主な機能:
- アプリケーションの分離と移植性
- 最適化のためのマルチステージビルド
- 複数コンテナアプリ向けの Docker Compose
- データ永続化のためのボリューム管理
- ネットワーク設定とサービスディスカバリー
- クロスプラットフォーム対応(amd64、arm64)
- ビルドパフォーマンスを向上させる BuildKit
コストの目安: インフラコストのみ(コンピューティング + ストレージ)、オーケストレーションのオーバーヘッドなし
Google Cloud を使用する場面
最適な用途:
- エンタープライズ規模のアプリケーション
- データ分析および ML パイプライン(BigQuery、Vertex AI)
- ハイブリッド/マルチクラウドデプロイ
- 大規模な Kubernetes(GKE)
- マネージドデータベース(Cloud SQL、Firestore、Spanner)
- 複雑な IAM とコンプライアンス要件
主なサービス:
- Compute Engine(VM)
- GKE(マネージド Kubernetes)
- Cloud Run(コンテナ化されたサーバーレス)
- App Engine(PaaS)
- Cloud Storage(オブジェクトストレージ)
- Cloud SQL(マネージドデータベース)
コストの目安: 料金体系は多様で、継続利用割引や確約利用契約があります
クイックスタート
AWS Lambda 関数
# Install AWS CLI
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip && sudo ./aws/install
# Configure credentials
aws configure
# Create Lambda function with SAM
sam init --runtime python3.11
sam build && sam deploy --guided
参照:references/aws-lambda.md
AWS EKS Kubernetes クラスター
# Install eksctl
brew install eksctl # or curl download
# Create cluster
eksctl create cluster \
--name my-cluster \
--region us-west-2 \
--nodegroup-name standard-workers \
--node-type t3.medium \
--nodes 3 \
--nodes-min 1 \
--nodes-max 4
参照:references/kubernetes-basics.md
Azure デプロイ
# Install Azure CLI
curl -L https://aka.ms/InstallAzureCli | bash
# Login and create resources
az login
az group create --name myResourceGroup --location eastus
az webapp create --resource-group myResourceGroup \
--name myapp --runtime "NODE:18-lts"
参照:references/azure-basics.md
Cloudflare Workers
# Install Wrangler CLI
npm install -g wrangler
# Create and deploy Worker
wrangler init my-worker
cd my-worker
wrangler deploy
参照:references/cloudflare-workers-basics.md
Kubernetes デプロイ
# Create deployment
kubectl create deployment nginx --image=nginx:latest
kubectl expose deployment nginx --port=80 --type=LoadBalancer
# Apply from manifest
kubectl apply -f deployment.yaml
# Check status
kubectl get pods,services,deployments
参照:references/kubernetes-basics.md
Docker コンテナ
# Create Dockerfile
cat > Dockerfile <<EOF
FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --production
COPY . .
EXPOSE 3000
CMD ["node", "server.js"]
EOF
# Build and run
docker build -t myapp .
docker run -p 3000:3000 myapp
参照:references/docker-basics.md
リファレンスのナビゲーション
AWS(Amazon Web Services)
aws-overview.md- AWS の基礎、アカウント設定、IAM の基本aws-ec2.md- EC2 インスタンス、AMI、セキュリティグループ、自動スケーリングaws-lambda.md- サーバーレス関数、SAM、イベントソース、レイヤーaws-ecs-eks.md- コンテナオーケストレーション、ECS と EKS の比較、Fargateaws-s3-rds.md- S3 ストレージ、RDS データベース、バックアップ戦略aws-cloudformation.md- Infrastructure as Code、CDK、ベストプラクティスaws-networking.md- VPC、サブネット、セキュリティグループ、ロードバランサー
Azure(Microsoft Azure)
azure-basics.md- Azure の基礎、サブスクリプション、リソースグループazure-compute.md- VM、App Service、AKS、Azure Functionsazure-storage.md- Storage Accounts、Blob、Files、マネージドディスク
Cloudflare プラットフォーム
cloudflare-platform.md- エッジコンピューティングの概要、主なコンポーネントcloudflare-workers-basics.md- 入門、ハンドラーの種類、基本パターンcloudflare-workers-advanced.md- 高度なパターン、パフォーマンス、最適化cloudflare-workers-apis.md- ランタイム API、バインディング、統合cloudflare-r2-storage.md- R2 オブジェクトストレージ、S3 互換性、ベストプラクティスcloudflare-d1-kv.md- D1 SQLite データベース、KV ストア、ユースケースbrowser-rendering.md- Cloudflare 上での Puppeteer/Playwright 自動化
Kubernetes とコンテナオーケストレーション
kubernetes-basics.md- 基本概念、Pod、デプロイメント、サービスkubernetes-advanced.md- StatefulSet、オペレーター、カスタムリソースkubernetes-networking.md- Ingress、サービスメッシュ、ネットワークポリシーhelm-charts.md- パッケージ管理、チャート、リポジトリ
Docker によるコンテナ化
docker-basics.md- 基本概念、Dockerfile、イメージ、コンテナdocker-compose.md- マルチコンテナアプリ、ネットワーキング、ボリュームdocker-security.md- イメージスキャン、シークレット、ベストプラクティス
Google Cloud Platform
gcloud-platform.md- GCP の概要、gcloud CLI、認証gcloud-services.md- Compute Engine、GKE、Cloud Run、App Engine
CI/CD と GitOps
cicd-github-actions.md- GitHub Actions のワークフロー、ランナー、シークレットcicd-gitlab.md- GitLab CI/CD パイプライン、アーティファクト、キャッシュgitops-argocd.md- ArgoCD のセットアップ、アプリ・オブ・アプリズパターン、同期ポリシーgitops-flux.md- Flux コントローラー、GitOps ツールキット、マルチテナンシー
FinOps(コスト最適化)
finops-basics.md- コスト最適化の原則、FinOps のライフサイクルfinops-aws.md- AWS のコスト最適化、RI、Savings Plans、スポットfinops-azure.md- Azure のコスト管理、予約、ハイブリッド特典finops-gcp.md- GCP のコスト最適化、確約利用、継続利用finops-tools.md- コスト分析ツール、Kubecost、CloudHealth、Infracost
DevSecOps(セキュリティ)
devsecops-basics.md- セキュリティのベストプラクティス、シフトレフトセキュリティdevsecops-scanning.md- SAST、DAST、SCA、コンテナスキャンsecrets-management.md- Vault、AWS Secrets Manager、シールドシークレットcompliance.md- SOC2、HIPAA、PCI-DSS、監査ログ
Infrastructure as Code
terraform-basics.md- Terraform の基礎、プロバイダー、ステートterraform-advanced.md- モジュール、ワークスペース、リモートステートcloudformation-basics.md- CloudFormation テンプレート、スタック、変更セット
ユーティリティとスクリプト
scripts/cloudflare-deploy.py- Cloudflare Worker のデプロイを自動化scripts/docker-optimize.py- Dockerfile を分析して最適化scripts/cost-analyzer.py- クラウドコストの分析とレポート作成scripts/security-scanner.py- セキュリティスキャンを自動化
共通のワークフロー
マルチクラウドアーキテクチャ
# Edge Layer: Cloudflare Workers (global routing, caching)
# Compute Layer: AWS ECS/Lambda or Azure App Service (application logic)
# Data Layer: AWS RDS or Azure SQL (persistent storage)
# CDN/Storage: Cloudflare R2 or AWS S3 (static assets)
Benefits:
- Best-of-breed services per layer
- Geographic redundancy
- Cost optimization across providers
CI/CD を使用した AWS ECS のデプロイ
# GitHub Actions workflow
name: Deploy to ECS
on: push
jobs:
deploy:
- Build Docker image
- Push to ECR
- Update ECS task definition
- Deploy to ECS service
- Wait for deployment stabilization
ArgoCD を使用した Kubernetes GitOps
# Git repository structure
/apps
/production
- deployment.yaml
- service.yaml
- ingress.yaml
/staging
- deployment.yaml
# ArgoCD syncs cluster state from Git
# Changes: Git commit → ArgoCD detects → Auto-sync to cluster
マルチステージ Docker ビルド
# Build stage
FROM node:20-alpine AS build
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
# Production stage
FROM node:20-alpine
WORKDIR /app
COPY --from=build /app/dist ./dist
COPY --from=build /app/node_modules ./node_modules
USER node
CMD ["node", "dist/server.js"]
FinOps コスト最適化ワークフロー
# 1. Discovery: Identify untagged resources
# 2. Analysis: Right-size instances (CPU/memory utilization)
# 3. Optimization:
# - Convert to reserved instances (predictable workloads)
# - Use spot instances (fault-tolerant workloads)
# - Schedule start/stop (dev environments)
# 4. Monitoring: Set budget alerts, track savings
# 5. Governance: Enforce tagging policies
DevSecOps セキュリティパイプライン
# 1. Code Commit
# 2. SAST Scan: SonarQube, Semgrep (static code analysis)
# 3. Dependency Check: Snyk, Trivy (vulnerability scanning)
# 4. Build: Docker image
# 5. Container Scan: Trivy, Grype (image vulnerabilities)
# 6. DAST Scan: OWASP ZAP (runtime security testing)
# 7. Deploy: Only if all scans pass
# 8. Runtime Protection: Falco, AWS GuardDuty
Terraform インフラストラクチャのデプロイ
# 1. Write: Define infrastructure in .tf files
# 2. Init: terraform init (download providers)
# 3. Plan: terraform plan (preview changes)
# 4. Apply: terraform apply (create/update resources)
# 5. State: Store state in S3 with DynamoDB locking
# 6. Modules: Reuse common patterns across environments
ベストプラクティス
DevOps
- CI/CD:テストとデプロイを自動化し、段階的なロールアウトにはフィーチャーフラグを使用します
- GitOps:宣言型インフラストラクチャ、唯一の信頼できる情報源としての Git、自動同期
- 監視:オブザーバビリティ(ログ、メトリクス、トレース)を実装し、アラートを設定します
- インシデント管理:ランブック、ポストモーテム、非難しない文化
- 自動化:Infrastructure as Code、構成管理、セルフサービスプラットフォーム
セキュリティ(DevSecOps)
- シフトレフト:パイプラインの早い段階でセキュリティスキャンを実施します(SAST、依存関係チェック)
- シークレット管理:Vault、AWS Secrets Manager、またはシールドシークレットを使用します(コードや Git には絶対に含めないでください)
- コンテナセキュリティ:非 root ユーザーで実行し、最小限のベースイメージを使用して、定期的にスキャンします
- ネットワークセキュリティ:ゼロトラストアーキテクチャ、サービスメッシュ、ネットワークポリシー
- アクセス制御:最小権限の IAM、MFA、一時的な認証情報
- コンプライアンス:監査ログ、保存時および転送時の暗号化、定期的なセキュリティレビュー
- ランタイム保護:セキュリティ監視、侵入検知、自動対応
コスト最適化(FinOps)
- タグ付け:コスト配分と追跡のため、リソースへのタグ付けを徹底します
- 適正サイジング:使用率を分析し、過剰にプロビジョニングされたリソースのサイズを縮小します
- 予約済みキャパシティ:予測可能なワークロード向けに RI/Savings Plans を購入します(最大 72% 割引)
- スポット/プリエンプティブル:フォールトトレラントなワークロードに使用します(最大 90% 割引)
- スケジューリング:営業時間外に開発/テスト環境を自動停止します
- ストレージ最適化:ライフサイクルポリシーを設定し、より安価な階層にアーカイブし、孤立したリソースを削除します
- モニタリング:予算アラート、コスト異常検知、チャージバック/ショーバックを行います
- ガバナンス:高額なリソースに対する承認ワークフローとクォータ管理を設定します
Kubernetes
- リソース管理:リクエスト/制限を設定し、水平 Pod 自動スケーリングを使用します
- 高可用性:マルチゾーンクラスター、Pod 中断予算、アンチアフィニティルールを設定します
- セキュリティ:RBAC、Pod セキュリティポリシー、ネットワークポリシー、アドミッションコントローラーを使用します
- 可観測性:Prometheus メトリクス、分散トレーシング、ログの一元管理を行います
- GitOps:宣言的なデプロイとドリフトの自動修正に ArgoCD/Flux を使用します
パフォーマンス
- コンピューティング:低レイテンシーを実現するため、自動スケーリング、ロードバランシング、マルチリージョン構成を使用します
- キャッシュ:CDN、インメモリーキャッシュ(Redis/Memcached)、エッジコンピューティングを使用します
- ストレージ:適切な階層(SSD と HDD)を選択し、キャッシュを有効にし、静的アセットには CDN を使用します
- コンテナー:マルチステージビルド、最小限のイメージ、レイヤーキャッシュを使用します
- データベース:コネクションプーリング、読み取りレプリカ、クエリ最適化、インデックス作成を行います
開発
- ローカル開発:一貫した環境を実現するため、Docker Compose と開発コンテナーを使用します
- テスト:CI/CD パイプラインで単体テスト、統合テスト、エンドツーエンドテストを実行します
- Infrastructure as Code:再現性を確保するため、Terraform/CloudFormation を使用します
- ドキュメント:アーキテクチャ図、運用手順書、API ドキュメントを用意します
- バージョン管理:コードとインフラストラクチャには Git を使用し、セマンティックバージョニングを採用します
選定マトリックス
| ニーズ | 選択肢 |
|---|---|
| コンピューティング | |
| 世界中で 50 ms 未満のレイテンシー | Cloudflare Workers |
| サーバーレス関数(AWS エコシステム) | AWS Lambda |
| サーバーレス関数(Azure エコシステム) | Azure Functions |
| コンテナー化されたワークロード(マネージド) | AWS ECS/Fargate、Azure AKS、GCP Cloud Run |
| 大規模な Kubernetes | AWS EKS、Azure AKS、GCP GKE |
| 完全な制御が可能な VM | AWS EC2、Azure VMs、GCP Compute Engine |
| ストレージ | |
| オブジェクトストレージ(S3 互換) | AWS S3、Cloudflare R2(エグレス料金なし)、Azure Blob |
| VM 用ブロックストレージ | AWS EBS、Azure Managed Disks、GCP Persistent Disk |
| ファイルストレージ(NFS/SMB) | AWS EFS、Azure Files、GCP Filestore |
| データベース | |
| マネージド SQL(AWS) | AWS RDS(PostgreSQL、MySQL、SQL Server) |
| マネージド SQL(Azure) | Azure SQL Database |
| マネージド SQL(GCP) | Cloud SQL |
| NoSQL キー・バリュー | AWS DynamoDB、Azure Cosmos DB、Cloudflare KV |
| グローバル SQL(エッジでの読み取り) | Cloudflare D1、AWS Aurora Global |
| CI/CD と GitOps | |
| GitHub 連携 CI/CD | GitHub Actions |
| セルフホスト型 CI/CD | GitLab CI/CD、Jenkins |
| Kubernetes GitOps | ArgoCD、Flux |
| コスト最適化 | |
| 予測可能なワークロード | Reserved Instances、Savings Plans |
| フォールトトレラントなワークロード | Spot Instances(AWS)、Preemptible VMs(GCP) |
| 開発/テスト環境 | 自動スケジューリング、予算アラート |
| セキュリティ | |
| シークレット管理 | HashiCorp Vault、AWS Secrets Manager、Azure Key Vault |
| コンテナースキャン | Trivy、Snyk、AWS ECR scanning |
| SAST/DAST | SonarQube、Semgrep、OWASP ZAP |
| 特殊なユースケース | |
| 静的サイトとエッジ関数 | Cloudflare Pages、AWS Amplify |
| WebSocket/リアルタイム | Cloudflare Durable Objects、AWS API Gateway WebSocket |
| ML/AI パイプライン | AWS SageMaker、GCP Vertex AI、Azure ML |
| ブラウザー自動化 | Cloudflare Browser Rendering、AWS Lambda + Puppeteer |
リソース
クラウドプロバイダー
- AWS ドキュメント: https://docs.aws.amazon.com
- Azure ドキュメント: https://docs.microsoft.com/azure
- GCP ドキュメント: https://cloud.google.com/docs
- Cloudflare ドキュメント: https://developers.cloudflare.com
コンテナーとオーケストレーション
- Docker ドキュメント: https://docs.docker.com
- Kubernetes ドキュメント: https://kubernetes.io/docs
- Helm: https://helm.sh/docs
CI/CD と GitOps
- GitHub Actions: https://docs.github.com/actions
- GitLab CI: https://docs.gitlab.com/ee/ci/
- ArgoCD: https://argo-cd.readthedocs.io
- Flux: https://fluxcd.io/docs
Infrastructure as Code
- Terraform: https://developer.hashicorp.com/terraform
- AWS CDK: https://docs.aws.amazon.com/cdk
- Pulumi: https://www.pulumi.com/docs
セキュリティとコンプライアンス
- OWASP: https://owasp.org
- CIS ベンチマーク: https://www.cisecurity.org/cis-benchmarks
- HashiCorp Vault: https://developer.hashicorp.com/vault
FinOps とコスト最適化
- FinOps Foundation: https://www.finops.org
- AWS コスト最適化: https://aws.amazon.com/pricing/cost-optimization
- Kubecost: https://www.kubecost.com
実装チェックリスト
AWS Lambda のデプロイ
- AWS CLI と SAM CLI をインストールする
- AWS 認証情報(アクセスキー、シークレットキー)を設定する
- SAM テンプレートで Lambda 関数を作成する
- IAM ロールとポリシーを設定する
-
sam local invokeでローカルテストを行う -
sam deployでデプロイする - CloudWatch のモニタリングとアラームを設定する
AWS EKS Kubernetes クラスター
- kubectl、eksctl、aws-cli をインストールする
- AWS 認証情報を設定する
- eksctl で EKS クラスターを作成する
- kubectl のコンテキストを設定する
- クラスターオートスケーラーをインストールする
- パッケージ管理用に Helm を設定する
- kubectl/Helm でアプリケーションをデプロイする
- Ingress コントローラー(ALB/NGINX)を設定する
Azure のデプロイ
- Azure CLI をインストールする
-
az loginでログインする - リソースグループを作成する
- App Service または AKS をデプロイする
- 継続的デプロイを設定する
- Application Insights でモニタリングを設定する
任意のクラウドでの Kubernetes
- kubectl と helm をインストールする
- クラスターに接続する(kubeconfig を更新する)
- 環境ごとに名前空間を作成する
- RBAC ポリシーを適用する
- アプリケーション(デプロイメント、サービス)をデプロイする
- 外部アクセス用の Ingress を設定する
- モニタリング(Prometheus、Grafana)を設定する
- ArgoCD/Flux で GitOps を導入する
CI/CD パイプライン(GitHub Actions)
- .github/workflows/deploy.yml を作成する
- シークレット(クラウド認証情報、API キー)を設定する
- ビルドとテストのジョブを追加する
- コンテナーのビルドとレジストリへのプッシュを追加する
- クラウドプラットフォームへのデプロイジョブを追加する
- ブランチ保護ルールを設定する
- ステータスチェックと通知を有効にする
FinOps によるコスト最適化
- リソースのタグ付け戦略を導入する
- コスト配分タグを有効にする
- 予算アラートを設定する
- リソースの使用率を分析する(CloudWatch、Azure Monitor)
- 適正規模化の機会を特定する
- 予測可能なワークロード向けにリザーブドインスタンスを購入する
- オートスケーリングとスケジュール設定を行う
- コストを定期的に確認し、最適化する
DevSecOps セキュリティ
- CI/CD に SAST スキャンを追加する(SonarQube、Semgrep)
- 依存関係のスキャンを追加する(Snyk、Trivy)
- コンテナーイメージのスキャンを導入する
- シークレット管理を設定する(Vault、クラウドプロバイダー)
- セキュリティグループとネットワークポリシーを設定する
- 監査ログを有効にする
- セキュリティのモニタリングとアラートを導入する
- 脆弱性を定期的に評価する
Cloudflare Workers
- Wrangler CLI をインストールする
- Worker プロジェクトを作成する
- wrangler.toml(バインディング、ルート)を設定する
-
wrangler devでローカルテストを行う -
wrangler deployでデプロイする
Docker
- マルチステージビルドを使った Dockerfile を作成する
- .dockerignore ファイルを作成する
- ローカルでビルドをテストする
- レジストリ(ECR、ACR、GCR、Docker Hub)にプッシュする
- 対象プラットフォームにデプロイする