IAMと完全なインフラ
🔥 Vibe プロンプト
「EC2、ECS、CI/CD用のIAMロールを定義。最小権限とリソースベースポリシーを適用。」
IAMロール
resource "aws_iam_role" "ec2" {
name = "ec2-app-role"
assume_role_policy = jsonencode({
Version = "2012-10-17"
Statement = [{
Action = "sts:AssumeRole"
Effect = "Allow"
Principal = { Service = "ec2.amazonaws.com" }
}]
})
}
resource "aws_iam_role_policy" "ec2_s3" {
name = "ec2-s3-read"
role = aws_iam_role.ec2.id
policy = jsonencode({
Statement = [{
Effect = "Allow"
Action = ["s3:GetObject", "s3:ListBucket"]
Resource = ["${aws_s3_bucket.assets.arn}/*"]
}]
})
}
完全なインフラ図
CloudFront (CDN + WAF)
↓
ALB (HTTPS終端)
↓
ECS Fargate (3コンテナ)
↓
RDS Postgres (Multi-AZ) + Redis
↓
S3 (アセット、ログ) + ECR (イメージ)
CI/CD
GitHub Push → Build Docker → Push ECR → Update ECS → テスト
Cloud AWSコース完了!🎉
- ✅ VPC & EC2
- ✅ RDS & S3
- ✅ ECS & EKS
- ✅ CloudFront & WAF
- ✅ IAM & 完全なインフラ
章のまとめ
- コアコンセプトと原理を理解
- 実装方法とテクニックを習得
- 一般的な問題と解決策に精通
- 実際のプロジェクトに適用可能
さらに読む
- 公式ドキュメントとAPIリファレンス
- GitHubのオープンソース例
- 技術書とオンラインコース
- コミュニティディスカッションと技術ブログ
実装例
基本例
# 完全な実装例を提供します
手順
- セットアップ: 開発環境の設定
- データ: 必要なデータの準備
- 実装: コア機能の構築
- テスト: 動作確認
- 最適化: パフォーマンスの向上
よくあるエラー
| エラー種別 | 原因 | 解決方法 | |-----------|------|---------| | コンパイル | 構文 | コードの構文を確認 | | 実行時 | 環境 | 依存パッケージの確認 | | 論理 | アルゴリズム | ステップごとのデバッグ | | パフォーマンス | 効率 | プロファイラーの使用 |
コード例
import sys
def main():
print("Hello, World!")
if __name__ == "__main__":
main()
参考資料
- 公式ドキュメント
- APIリファレンス
- オープンソース例
- コミュニティディスカッション