はじめに
こんにちは、技術部の内藤です。
OCIのHeatWave MySQL Database Service(以下、MDS)は、なぜかNSGをアタッチできません。これは、おそらく多くの人が疑問に思っていると予想します。
が、できないものはできず、セキュリティリストでの設定が必要になりますので、かんたんに説明します。
公式でもセキュリティリストの説明がされている
以下の公式ドキュメントや、公式チュートリアルでは、NSGの説明はなくセキュリティリストについてのみ記載があります。
- コンピュート・インスタンス、要塞セッションまたはVPN接続のイングレス・ルールの追加
- その9 - クラウドでMySQL Databaseを使う | Oracle Cloud Infrastructure チュートリアル
セキュリティリストでのアクセス制御
NSGが使えない以上、MDSへのアクセス制御はセキュリティリストで設定する必要があります。以下のいずれかで設定をしましょう。
- サブネットのCIDRで許可する
- 接続元が複数のインスタンスの場合
- 動的にIPアドレスが変わる場合
- プライベートIPで許可する
- 接続元が特定のインスタンスの場合
- 静的IPアドレスを設定している場合
静的IPにするには、インスタンス作成時の「プライベートIPv4アドレスの手動割当て」を選択すればできます。
また、以下のドキュメントなどを読むに、セカンダリIPを付与することでも実現できるはずです。
セキュリティリストの設定例
MDSに接続するインスタンスが属するサブネットのCIDRが 172.22.0.0/21
とした場合の設定です。
- ステートレス: いいえ
- ソース: 172.22.0.0/21
- IPプロトコル: TCP
- 宛先ポート範囲: 3306
静的なプライベートIPを許可する際には、ソースのCIDRを 接続元のプライベートIP/32
にしてください。
意識したほうがよいこと
サブネットのCIDRを許可する場合は、当たり前ですが、そのサブネットにあるインスタンスなりがすべてMDSに接続できます。そのため、MDSに接続するインスタンス用のサブネットを作成して、MDSに接続しないインスタンスや他のリソースは別のサブネットに配置すると、セキュリティ的によいでしょう。
おわりに
おわりです。