Edited at

Heroku Private Spacesで気をつけること

More than 3 years have passed since last update.

最近、Heroku Private Spacesを利用するプロジェクトに関わりました。

Private SpacesについてはあまりQiitaとかに記事が無かったので、最近得た気づきを少しまとめてみました。


Private Spacesとは?

Herokuを顧客ごとに分離されたプライベートクラウドで展開するサービスです。

Amazon VPC上で動作してるらしいです。東京リージョンが選択できる為、レイテンシー向上が見込めます。

Heroku Enterpriseを利用している企業が契約できます。


Heroku Enterpriseとは?

Herokuの企業向け契約です。

これを契約するとヘルプで日本語の担当者が答えてくれたり、開発者の権限を細かく制御できたり

更にPrivate Spacesが契約できるので日本リージョンが選択できたりします。

あとEnterpriseは年間契約です。

その為か、Dynoやアドオンの利用が一時的に少し契約を超えてしまっても・・・らしいです。

目に余るようだと多分営業さんが相談きますが。


Dyno数がPremiunとPrivateで微妙に違う


Heroku Enterprise Available dyno types

https://devcenter.heroku.com/articles/heroku-enterprise#available-dyno-types


契約前にPrivateの契約は大体Premiunと同じだと聞いていたのですが、

蓋を空けてみるとDyno数がMプランでも8と10で違いました。

契約はプランじゃなくてDyno数での契約になるので要注意です。

Dyno Type
Memory(RAM)
CPU Share
Dedicated
Private Space
Compute
Dyno units consumed

performance-m
2.5 GB
100%
yes
no
12x
8

performance-l
14 GB
100%
yes
no
50x
16

private-m
2.5 GB
100%
yes
yes
14x
10

private-l
14 GB
100%
yes
yes
52x
20


使えないアドオンがたまにある

DevCenterのアドオン紹介ページに「Region Availability」というセクションが最近追加されたので、

どのアドオンが使えるのかわかるようになりました。

(このセクションができるまではサポートに1つ1つ確認していました・・・)

例えばメール配信アドオンのSendGridを例にあげると、

「AVAILABLE」(Private Spaces利用可否)は全てのリージョンでOK、

「INSTALLABLE IN SPACE」(Private Spaces内にアドオンが置けるか)はNGです。

AVAILABLEについてはメジャーなアドオンは対応しているようですが、例えば

SendGridと同様にメール配信のアドオンであるMailgunはPrivate Spaces非対応でした。

INSTALLABLE IN SPACEがNGの場合は、アドオン自体はPrivate Spaces外(USかEU?)で動作するようです。

今のところ、INSTALLABLE IN SPACEがOKなのは、Heroku PostgresとHeroku Redisぐらいです。


*.herokuapp.comでhttps接続ができない

SSL接続の為には独自ドメインを立てる必要があります。

なお通常はSSLの設定にSSL Endpointが必要なのですが、Private Spacesの場合は不要です。


メンテナンスモードが使えない

本番環境のデータベースをアップグレードする際などに使いたいメンテナンスモードなのですが、

Private Spacesでは現在動作しないようです。

ダッシュボードを見るとメンテナンスモードに切替えるUI自体はあるのですが、

現在のところハリボテのようです。