VPCとEC2
🔥 Vibe プロンプト
「2つのAZにパブリック、プライベート、DBサブネットを持つ3層VPCを設計。EC2踏み台をデプロイ。」
resource "aws_vpc" "main" {
cidr_block = "10.0.0.0/16"
}
resource "aws_subnet" "public" {
count = 2
vpc_id = aws_vpc.main.id
cidr_block = "10.0.${count.index}.0/24"
map_public_ip_on_launch = true
}
resource "aws_subnet" "private" {
count = 2
vpc_id = aws_vpc.main.id
cidr_block = "10.0.${count.index + 10}.0/24"
}
resource "aws_subnet" "db" {
count = 2
vpc_id = aws_vpc.main.id
cidr_block = "10.0.${count.index + 20}.0/24"
}
VPCアーキテクチャ
インターネットゲートウェイ
↓
パブリックサブネット (ALB、踏み台)
↓
NATゲートウェイ
↓
プライベートサブネット (アプリ)
↓
DBサブネット (RDS - インターネットなし)
セキュリティグループ
| SG | ルール | |----|-------| | 踏み台 | SSH (22) あなたのIPから | | アプリ | HTTP (80) ALBのみ | | DB | PostgreSQL (5432) App SGから |
ベストプラクティス
- プライベートサブネットにNATゲートウェイ
- DBやAppにパブリックIPを割り当てない
- VPCフローログで監視
章のまとめ
- コアコンセプトと原理を理解
- 実装方法とテクニックを習得
- 一般的な問題と解決策に精通
- 実際のプロジェクトに適用可能
さらに読む
- 公式ドキュメントとAPIリファレンス
- GitHubのオープンソース例
- 技術書とオンラインコース
- コミュニティディスカッションと技術ブログ
実装例
基本例
# 完全な実装例を提供します
手順
- セットアップ: 開発環境の設定
- データ: 必要なデータの準備
- 実装: コア機能の構築
- テスト: 動作確認
- 最適化: パフォーマンスの向上
よくあるエラー
| エラー種別 | 原因 | 解決方法 | |-----------|------|---------| | コンパイル | 構文 | コードの構文を確認 | | 実行時 | 環境 | 依存パッケージの確認 | | 論理 | アルゴリズム | ステップごとのデバッグ | | パフォーマンス | 効率 | プロファイラーの使用 |
コード例
import sys
def main():
print("Hello, World!")
if __name__ == "__main__":
main()
参考資料
- 公式ドキュメント
- APIリファレンス
- オープンソース例
- コミュニティディスカッション