最近、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自体はあるのですが、
現在のところハリボテのようです。