概要
VPC設計時において、フルマネージドサービスをどのサブネットに配置するべきか検討した。
サブネットの設計
サブネットは一般的に2階層、あるいは3階層に分けて設計することが多い。
階層 | インバウンド | アウトバウンド | 概要 |
---|---|---|---|
public | ○ | ○ | グローバルIPを持つことでインターネットと通信ができる |
protect | × | ○ | NAT経由でアウトバウンド通信ができる |
private | × | × | インターネットに接続されていない閉ざされたネットワーク |
図にするとこんな感じ。
NTPの考慮は必要か?
VPC内にEC2を設置する場合、NTPの利用を考慮すると、インスタンスは public
あるいは protect
に配置する必要がある (※Amazon Time Sync Serviceを使えば private
にも配置可能)。
ではサブネットを3階層モデルで設計した場合、RDSを始めとするフルマネージドサービス (ElastiCacheやRedshift) は private
には置けないのか?
サポートに問い合わせたので結論だけ述べると、NTPの考慮に関して言えば private
サブネットに配置することは問題ないとのこと。
フルマネージドサービスにおけるNTPの動作はオフィシャルに明示されてない (ように見える) が、時刻調整に関してはインターネットにアクセスすることはないらしい。