Heroku のインバウンドIPは固定化されているのか?
これは、これは、Heroku Advent Calendar 2021 初日の記事を、22日も経過してから公開してみようという恐ろしいネタです。
なんでこうなった。
さてみなさん。Heroku のアプリケーションは通常 IPアドレスを固定化できません。それが Private Spaces にすることで、固定化されたアウトバウンド用IPアドレスが4つ付与されます。
いくつかのアドオンでは、インバウンド、アウトバウンドのIPアドレスを固定化できますが、いわゆるProxyタイプなので、パフォーマンスに懸念があったりもします。
さて。標準機能ではどうやってもインバウンドのIPアドレスは固定化できません。これだと、厄介なことにネイキッドドメインを Heroku に割り当てられません。Heroku へカスタムドメインを割り当てるには、通常 CNAME
レコードで割り当てが必要で、これはネイキッドドメインが対応していないんですよね。そこで登場するは ALIAS
レコードです。これを使うと、あたかも A
レコードのように CNAME が動作してくれる優れものですが、たぶん、まだ RFC になってないです(調べてない)。
できれば、IP固定化されてくれるといいなー。
ということで、2019年の夏から、延々とHeroku App のIPアドレスに変更がどの程度発生するか調べてみました。
前提条件
某 Private Space 内のサイトで、PointDNS で ALIAS レコード化されたWebサイトの稼働状況のIP変更をチェック。
結果
- 2019/8/7
- 2019/8/19
- 2019/9/27
- 2019/10/5
- 2019/10/18
- 2020/1/9
- 2020/1/25
- 2021/2/8
- 2021/6/5
- 2021/6/30
- 2021/8/1
- 2021/10/13
- 2021/12/11
結局、定期的な何かや、発生するタイミングに周期性が見られず、けっこう頻繁だったり長かったりとIPで調整するのは現実的ではないと言うことが判明しました。ちな2020年は、チェック機構がうまく働いていなかった時期もあるので、長ーいスパンになってしまったのが残念です。
ということで、Heroku でネイキッドドメインを使う場合に、A
レコードで無理矢理定義するではなく、ALIAS
をうまく活用しましょうと言うことで、お願いします。
Discussion