回答編集履歴

1

追記

2018/09/30 08:48

投稿

rubytomato
rubytomato

スコア1752

test CHANGED
@@ -53,3 +53,63 @@
53
53
  質問文にある【EC2とどのようにいつ関連付けられるのかがわかりません】という疑問の答えとしては、上記の通りRDSのセキュリティグループにEC2からの接続許可が設定されているからということになりますが、
54
54
 
55
55
  確実な答えが必要な場合は、AWSのWebコンソールからRDSのセキュリティグループの設定をご確認ください。
56
+
57
+
58
+
59
+ **コメント欄でご質問のサブネットについて**
60
+
61
+
62
+
63
+ > publicサブネットとprivateサブネットで、違うサブネットに通信できているのはどういう仕組みなのかという所がわかりません。
64
+
65
+ 例えばwordpressの場合、自動的にRDSのあるprivateサブネットに対して通信が行われているのでしょうか?
66
+
67
+
68
+
69
+ まず、publicサブネットとprivateサブネットの違いですが、[AWS ドキュメント » Amazon VPC » ユーザーガイド » VPC とサブネット
70
+
71
+ VPC とサブネット](https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/VPC_Subnets.html)というページが詳しいので一度ご確認ください。
72
+
73
+
74
+
75
+ ポイントを引用すると
76
+
77
+
78
+
79
+ > サブネットのトラフィックがインターネットゲートウェイにルーティングされる場合、そのサブネットはパブリックサブネットと呼ばれます。
80
+
81
+
82
+
83
+ > インターネットゲートウェイへのルートがないサブネットは、プライベートサブネットと呼ばれます。
84
+
85
+
86
+
87
+ このようにpublicとprivateはインターネットからのアクセス(インバウンド(inbound)といいます)、およびインターネットへのアクセス(アウトバウンド(outbound)といいます)ができるかどうかの違いです。
88
+
89
+
90
+
91
+ - wordpressをpublicサブネットに配置するのは、インターネットを介したユーザーからのアクセスがあるから
92
+
93
+ - RDSをprivateサブネットに配置するのは、インターネットからのアクセスは不要で、wordpressからのみのアクセスに制限したいから
94
+
95
+
96
+
97
+ だと思います。
98
+
99
+
100
+
101
+ サブネットが違うインスタンス同士が通信できるのは、ルートテーブルが設定されているからです。サブネットには必ずルートテーブルが設定されていてデフォルトで通信できるようになっていますが、実際にはさらにインスタンスやRDSに設定するセキュリティグループで通信の許可が必要です。
102
+
103
+
104
+
105
+ 下図はpubicサブネットのルートテーブルの内容ですが、ターゲットの"igw-0e3f28a5290e8714f"とはインターネットゲートウェイのことです。
106
+
107
+ また、ターゲットに"local"というのがあると思いますが、この設定でVPC内のルーティングができます。
108
+
109
+ ![イメージ説明](85746dce9bb6726f0084ac3273abe042.png)
110
+
111
+
112
+
113
+ 下図は一例ですが、RDSのセキュリティグループには特定のEC2インスタンス(ソース)からポート3306へのアクセスを許可する(インバウンドルール)が必要です。
114
+
115
+ ![イメージ説明](e67e3314d3f34990375448d4c8c4a876.png)