gemsitemap作成でハマったのでメモ。Herokuで動的なsitemapを作る一つの方法として、s3を使ったsitemap配信があります。ググれば、たくさんブログなどあるのですが、aws-sdkのバージョン2を使ったものがメイン。Deniedが出て時間を無駄に消費しました。'aws-sdk-s3'が必要なのはissueを漁ればわかりました。Deniedですが、s3のバケットをpublicにしていないと出ていました。コンソールから下記を追加すればOK。Lambda(ruby)を使いファイルをs3にアップロードする方法タイトルが渋滞していますが、、やったことは下記のこと。Lambdaを触ったのは初めてです。nodeではなくrubyで動かします。AWS上にLambda関数を作ります。UIのエディタを使いました。登場ロールは2つ、Rails側でlambdaをinvokeするロールとlambda関数を走らせるロールRails側でlambdaをinvokeするロール*全部必要ではないかもしれませんが、面倒なので全て権限をあげました。RequestResponseだと同期で処理します。返り値を拾うためにもここは同期で処理。invoke_copy自体を非同期で走らせるイメージです。version3です。Lambdaの/tmpのみがwritableな場所で、maxで512MBです。したがって、これ以上コピーできません。keyを生成してそれをimportする。CLIでimportする方法もあるけど、リージョン数は10つぐらいなので手動で。シンプルなプロセス監視にはimmortalが便利プロセスがなにかの理由で死んだら、単純にリスタートさせたい。systemdとかmonitとかの設定ファイルを書くのが面倒だなって思っていて調べていた。Stackoverflowこれも面倒だと思ってしまいました。command置く感じでやりたいなって調べてみると、immortalというツールを発見!早速インストール。/tmp/sleep.log"付属のimmortalctlで、管理できる。2019というメールが来ていた。Sign-Inを使っているので、影響があるかどうか調べて、変更を行った。APIコンソールで確認。APIをある程度の頻度で叩いてるので、変更が必要と認識。dependencyはないとのこと。したがって、さっそくバージョンアップグレード。omniauth-google-oauth2Gemfile.lockを確認すると最新バージョンが入っていない。jwtのバージョンが古いことに起因しているようだ。APIに利用)のバージョンを上げて、jwtが2.0以上になったことを確認。omniauth-google-oauth2で最新にするもうまくいってなさそうなので、Gemfileにバージョン指定。installして最新のもになってのを確認。APIに作り、tokenなどを作成し、テスト後、問題がなかったので本番環境にデプロイした。Sign-inの対応完了。所感:Googleに振り回れるがつらい。Hangoutも消えそうな気がするし。inboundをオープン。options結構な頻度で書く依存型セレクトボックス。毎回自力で書いてるような気がするのでログしておく。volumeを作るのはドキュメント通り。毎年クリスマスにrubyがでるので更新する。Linuxにbrewはないのでgitでpullする。