Upgrade to Pro — share decks privately, control downloads, hide ads and more …

JAWS-UG 朝会 #33 登壇資料

JAWS-UG 朝会 #33 登壇資料

JAWS-UG 朝会 #33 登壇資料

takakuni

May 10, 2022
Tweet

More Decks by takakuni

Other Decks in Technology

Transcript

  1. 2022/5/10
    たかくに
    1
    RDSがIPv6をサポートしたため
    調査・検証してみた

    View full-size slide

  2. 2
    ⾃⼰紹介
    名前︓たかくに(Twitter @takakuni_)
    所属︓クラスメソッド株式会社(2022年1⽉にジョイン︕︕︕)
    ブログ︓https://dev.classmethod.jp/author/takakuni/
    最近勉強しているサービス︓ECS、EKS(コンテナ周り)

    View full-size slide

  3. 3
    今⽇のゴール
    話すこと(⽬標値)
    ・RDSのパブリックアクセスについて説明できるようになる
    →突然、誰かから聞かれても答えられるように
    ・IPv6 RDSをチョットダケワカルようになろう
    話さないこと
    ・DB内部の設定値の話(パラメータ設計など)

    View full-size slide

  4. 4
    アジェンダ
    ・LTに⾄った経緯
    ・RDSのパブリックアクセスについて調査してみた
    ・IPv6 RDSを調査してみた
    ・まとめ

    View full-size slide

  5. 5
    LTに⾄った経緯

    View full-size slide

  6. 6
    RDSでIPv6をサポート
    引⽤:Amazon RDS が Internet Protocol Version 6 (IPv6) をサポート

    View full-size slide

  7. 7
    疑問に思ったこと
    ・パブリックアクセスの設定値について
    → IPv6はパブリックIP。まさか、有効化するの︖(怖い)
    ・アクセス経路について
    → インターネットを経由しない構成を取るにはどうすればいいのか。
    ・IPv6 on AWS ゼンゼン ワカラナイから勉強してみよう

    View full-size slide

  8. 8
    先に結論
    ・IPv6のみのRDSはサポートされていない(デュアルスタックモード必須)
    ・「パブリックアクセス」と「IPv6サポート」はどちらかのみ有効化可能
    → IPv4でパブリックアクセスを使⽤している場合は注意
    ・設定変更時はダウンタイムが発⽣するため⼊念に検証しよう

    View full-size slide

  9. 9
    RDSのパブリックアクセスについて調査してみた

    View full-size slide

  10. 10
    パブリックアクセスについて説明できますか︖

    View full-size slide

  11. 11
    懺悔します。

    View full-size slide

  12. 12
    検証前の私
    ・RDSをインターネットからアクセスしたい場合に使⽤する設定値
    ・普段要件としてほとんど要望がないため無効にしている

    View full-size slide

  13. 13
    検証前の私
    有効にした場合と無効にした場合、何が変わるの︖
    →パブリックIPを持つか持たないか︖
    有効にした場合でもプライベートIPで解決したいときはどうするの︖
    → ... (わからない)

    View full-size slide

  14. 14
    公式ドキュメントより引⽤
    Amazon VPC サービスに基づき、Virtual Private Cloud (VPC) 内で DB インスタン
    スを起動する場合は、そのインスタンスのパブリックアクセシビリティをオンまた
    はオフにすることができます。
    作成した DB インスタンスにパブリック IP アドレスに解決される DNS 名を含むか
    どうかを指定するには、Public accessibility パラメータを使⽤します。
    このパラメータを使⽤することで、DB インスタンスに対するパブリックアクセス
    があるかどうかを指定することができます。
    Public accessibility パラメータを変更することによって、DB インスタンスのパブ
    リックアクセス可能性をオンまたはオフにすることができます。
    引⽤:パブリックアクセシビリティ

    View full-size slide

  15. 15
    公式ドキュメントより要約
    引⽤:パブリックアクセシビリティ
    ・VPC内でRDSを起動する際に設定する値
    ・DNS名の回答値にパブリック IP アドレスを含めるかを設定する
    ・変更可能な設定値

    View full-size slide

  16. 16
    DNS周りでもう少し補⾜ (IPv4)
    DNSサーバーがAmazon Provided DNSの場合
    ・RDSと同じVPC内のリソースから名前解決
    →プライベートIPアドレスが優先して返される
    ・RDSと別のVPC内のリソースから名前解決
    →デフォルトでは、パブリックIPが優先して返される

    View full-size slide

  17. 17
    RDSと同じVPC内のリソースから名前解決

    View full-size slide

  18. 18
    RDSと同じVPC内のリソースから名前解決

    View full-size slide

  19. 19
    RDSと同じVPC内のリソースから名前解決

    View full-size slide

  20. 20
    RDSと同じVPC内のリソースから名前解決

    View full-size slide

  21. 21
    RDSと同じVPC内のリソースから名前解決

    View full-size slide

  22. 22
    RDSと別のVPC内のリソースから名前解決

    View full-size slide

  23. 23
    RDSと別のVPC内のリソースから名前解決

    View full-size slide

  24. 24
    RDSと別のVPC内のリソースから名前解決

    View full-size slide

  25. 25
    RDSと別のVPC内のリソースから名前解決

    View full-size slide

  26. 26
    RDSと別のVPC内のリソースから名前解決

    View full-size slide

  27. 27
    RDSと別のVPC内のリソースから名前解決

    View full-size slide

  28. 28
    RDSと別のVPC内のリソースから名前解決

    View full-size slide

  29. 29
    プライベートIPで名前解決するには…
    参考:パブリックアクセスを有効にした Aurora (RDS) に閉域網から接続したい

    View full-size slide

  30. 30
    プライベートIPで名前解決するには…
    参考:Transit Gateway を作成する

    View full-size slide

  31. 31
    調査してみた

    View full-size slide

  32. 32
    わかったこと(主に制約事項)
    ・Amazon Auroraはサポートしていない
    ・IPv6のみはサポートしていない(デュアルスタックモードで使⽤)
    ・「db.m3」や「db.r3」の旧世代インスタンスタイプはサポートしていない
    ・DBエンジンバージョンごとに対応可否が異なる
    ・サブネットグループに新しいプロパティが登場
    ・「パブリックアクセス」と併⽤不可
    ・設定変更でダウンタイムが発⽣する可能性がある
    ・「無料利⽤枠」コンソールからは、デュアルスタックモードで作成できない

    View full-size slide

  33. 33
    Amazon Auroraはサポートしていない
    引⽤:Amazon RDS が Internet Protocol Version 6 (IPv6) をサポート

    View full-size slide

  34. 34
    IPv6のみはサポートしていない
    データベース作成画⾯

    View full-size slide

  35. 35
    DBエンジンバージョンごとに対応可否が異なる
    対応しているエンジンバージョン
    引⽤:Availability of dual-stack network DB instances

    View full-size slide

  36. 36
    サブネットグループに新しいプロパティが登場
    「サポートされているネットワークタイプ」が登場

    View full-size slide

  37. 37
    「パブリックアクセス」と併⽤不可
    「パブリックアクセス」有効かつ「デュアルスタックモード」起動時のエラー
    翻訳
    DBインスタンスにパブリックデュアルスタックモードを指定することはできません。
    別のネットワークタイプを指定するか、DBインスタンスをプライベートにしてください。

    View full-size slide

  38. 38
    「パブリックアクセス」と併⽤不可
    ドキュメントにも記載があります。
    ざっくり翻訳︓
    デュアルスタックモード時はプライベートがマストです。
    パブリックアクセスできないよ。
    引⽤:Limitations for dual-stack network DB instances

    View full-size slide

  39. 39
    設定変更でダウンタイムが発⽣する可能性がある
    引⽤:Settings for DB instances

    View full-size slide

  40. 41
    まとめと今回のLTを通じて
    ・「パブリックアクセス」を学ぶことができた(認識を修正できた)
    ・「パブリックアクセス」と「IPv6サポート」はどちらかのみ有効化可能
    →ドキュメントやコンソールでは、
    「パブリック/プライベートデュアルスタックモード」と表現
    ・サポート状況は「インスタンスタイプ/エンジンバージョン」で異なる
    ・設定変更時はダウンタイムが発⽣するため⼊念に検証しよう
    ・IPv6のみのサポートにも期待

    View full-size slide