Heroku

Heroku

[27] Heroku (へろく) は、 かつて (平成時代後半ごろ) 一世を風靡したクラウドサービスでした。

[11]

https://devcenter.heroku.com/articles/custom-domains によると CNAME を使うので、 https://example.jp/ みたいな最上位のドメインで動かすことができない...

CloudFlare https://support.cloudflare.com/hc/en-us/articles/200169056-Does-CloudFlare-support-CNAME-APEX-at-the-root- 使えばいいか?

MySQL を使うにはアカウント確認 (クレジットカード) が必要。試してない。

MySQL バージョンいくつだろうか...

$ git init
...
$ ~/dev/heroku/bin/heroku git:clone -a fuga1
$ ~/dev/heroku/bin/heroku config:set BUILDPACK_URL=https://github.com/wakaba/heroku-buildpack-perl-pmbp
$ git push heroku master
$ ~/dev/heroku/bin/heroku auth:token

submodule の submodule も再帰的に展開される。無効化できなそう。

Travis CI の heroku deploy は標準では Git じゃなくて Anvil を使っていて動作がまた少し違う... うまくいかないがなぜうまくいかないか調べる方法もわからんw Git 使うようにしたら動くのでそちらのほうが良いか。

しばらくアクセスがないと止まる。アクセスがあると自動復帰するが少し時間がかかる。

[5] heroku コマンドは tar+gz を拾ってきて展開するだけでも動く状態になっているみたいです。 (ruby は必要。)

[3] Heroku 上に配置された状態では Gitリポジトリーではなくなっているようです。

[2] submodule は再帰的に clone されます。ただし API からの場合は submodule は展開されないようです >>1。そんなんでいいのでしょうか...

[4] サーバープロセスのエラーのログはどこからもみれないようです(?)。動作中のサーバーそのものを調べることはできませんが、 heroku run bash を使えば同じような環境で bash を実行して、その中でサーバーを動作させてみることができます。

[6] Add-ons から Logentries を選んで追加すると、 Heroku の実行ログが Web で見れるようになる。メールも送られる。 heroku コマンドや ssh を使わなくても実行エラーを把握できるようになる。 (Free プランで良い。)

[7] 1日分の無料枠を使い果たすと、 Application Error と表示されるようになります。 (サーバーエラー時と同じです。) 無料枠枯渇エラーだというのは管理画面でわかります。

Heroku

[8] Announcing Heroku Free SSL Beta and Flexible Dyno Hours | Heroku () https://blog.heroku.com/announcing_heroku_free_ssl_beta_and_flexible_dyno_hours

[9] Herokuプロキシは、 HTTP keep-alive について特別な扱いをせず、 アプリケーションサーバー接続を閉じるとプロキシクライアントの間の接続も閉じるようです。

[10] HerokuプロクシHTTP/2 に対応していません。

[12] Heroku Button

[14] Herokugit リポジトリーには ssh だけでなく HTTP でもアクセスできます。 https://git.heroku.com/heroku-app-name.git のような URL になります。 基本認証が必要です。名前は任意の文字列 (無視される)、 パスワードはアカウントの APIキーです。 >>13

[15] Herokugit push したら

error: RPC failed; HTTP 504 curl 22 The requested URL returned error: 504

... とか

fatal: protocol error: bad line length character: fata
error: error in sideband demultiplexer

... という意味不明なエラーが出ることがあります。

How to fix long-running `git push` to Heroku remote responding `504 GATEWAY_TIMEOUT`? - Stack Overflow, https://stackoverflow.com/questions/51494103/how-to-fix-long-running-git-push-to-heroku-remote-responding-504-gateway-time/51494104?stw=2#51494104 によると heroku repo:reset ... で解消するそうです。

これだけのためにわざわざ heroku を入れるのは面倒ですが、 実際はただの HTTP DELETE 要求を送っているだけです。

curl -X DELETE --user :heroku-api-key https://git.heroku.com/heroku-app-name.git

... のようなコマンドだけでOK。 すごく時間がかかるかもしれませんが、待ちましょう。

[13] Git を使用したデプロイ | Heroku Dev Center, https://devcenter.heroku.com/ja/articles/git#http-git-authentication

[16] 定期的に「stack」 (動作環境) が更新されていくのですが、 しばらくするとサポート終了になって、ビルドが失敗するようになります。

[17] なぜか「常に最新を使う」という指定ができません。サポート終了の連絡メールが来るたびにわざわざ手動で1つずつ Upgrade ボタンを押す苦行を強いられます。ひどいですね。

[28] これはversioningの失敗案件。

[18] Heroku’s Next Chapter | Heroku, https://blog.heroku.com/next-chapter

A good example of security innovation is the mutual TLS and private key protection we announced in June.

Our product, engineering, and security teams are spending an extraordinary amount of effort to manage fraud and abuse of the Heroku free product plans. In order to focus our resources on delivering mission-critical capabilities for customers, we will be phasing out our free plan for Heroku Dynos, free plan for Heroku Postgres, and free plan for Heroku Data for Redis®, as well as deleting inactive accounts.

Starting October 26, 2022, we will begin deleting inactive accounts and associated storage for accounts that have been inactive for over a year. Starting November 28, 2022, we plan to stop offering free product plans and plan to start shutting down free dynos and data services. We will be sending out a series of email communications to affected users.

[19] 経営的理由から無料プランを止めるという判断は、無料プランの利用者としては不満ながらも、理解できなくはないです。

でも自分のところで起こした脆弱性のせいで、セキュリティー対策に注力するから無料はやめますって、その言い訳はないでしょう。 セキュリティーってそんな都合よく責任押し付けられるものではないでしょ。 経営陣が無能だからやめたいです、って正直に書きなよ。 体裁整える必要ある? 整ってないし。

[20] 最近無料プランを縮小した SlackHerokuSalesforce 傘下とのこと。 やっぱセキュリティーのためって嘘でグループ全体で無料枠縮小やってるだけじゃねーか。

[21] こういうのの常で反対が多くて延期とかするんじゃないかと思ってたけどしなそうなふいんき。

[22] もうみんな Heroku にそんな関心持ってないんだろうなあ

[23] 無料稼働時間に制限がついたあたりから飽きられてた感あるし、 Docker 対応が遅かったのもねえ

[24] Railway

[25] Render

[26] 【復旧】12月23日、24日に発生しました障害に関するご報告 - skeb_jp - Medium, Kazunari Kida, https://medium.com/skeb-jp/report-36b5608aa867

SkebはすべてのサーバとシステムをHerokuに設置していたが、障害発生時刻より同サービスのアカウントが理由の通知なく利用できなくなった。

しかしながら、12月24日現在もHerokuから応答はなく、詳細な原因は判明しておりません。厚いサポートを謳うエンタープライズ契約を締結しているにも関わらず、このような対応は大変遺憾です。

[29] 最近の Heroku はセキュリティキーかスマホアプリのどちらかを登録しないとログインすらできなくなってしまった。 糞すぎる。

[30] こういうとき普通メールでワンタイムURL発行みたいなのも用意してるじゃん。今までなかったのになんでこんな厳格にしてんの? そりゃあセキュリティーは大事だけど、やり過ぎじゃん?

[31] 変なアプリをスマホに入れさせられる方がインセキュアじゃん、嫌やわ。