🍇

Heroku のインバウンドIPは固定化されているのか?

2021/12/22に公開

これは、これは、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