2024年1月4日木曜日

新しくBeanstalkで環境を作ろうとしたらaws-elasticbeanstalk-ec2-roleが無かった件

 新しいアカウントでBeanstalk環境を作成したところ、EC2の立ち上げに失敗。

みたらaws-elasticbeanstalk-ec2-roleが無いと。

自分でaws-elasticbeanstalk-ec2-roleを用意する方法をいろいろ調べてたけどどれもうまくいきませんでした。

最終的に、IAMロールを作成するときに、ユースケースで「EC2 Role for AWS Systems Manager」を選択すると、インスタンスプロファイルの ARNが割り当てられることがわかりました。

その上でBeanstalk環境を作成するとEC2プロファイルで指定ができるようになり、環境構築に成功と相成りました。

2022年8月15日月曜日

Beanstalkをamazon linux2に上げたら、cronでrakeコマンドが叩けなくなった件

 今まで、Amazon linuxベースで、Beanstalkを展開していたら、下記のようにシェルスクリプトを書いておけばrailsのタスクを実行できていましたよね。

#!/usr/bin/env bash
set -xe
EB_SCRIPT_DIR=$(/opt/elasticbeanstalk/bin/get-config container -k script_dir)
EB_SUPPORT_DIR=$(/opt/elasticbeanstalk/bin/get-config container -k support_dir)
EB_DEPLOY_DIR=$(/opt/elasticbeanstalk/bin/get-config container -k app_deploy_dir)
. $EB_SUPPORT_DIR/envvars
. $EB_SCRIPT_DIR/use-app-ruby.sh

cd /var/app/current
bundle exec rake ***:*****

ところがAmazon linux2になったら、/opt/elasticbeanstalk/bin/get-configの情報が変わって、script_dirが無いよ!というエラーがでるようになりました。

環境変数はAWSが公表している通り、下記ページを参考にすれば読み込むことができて、
下のように環境変数読み込み部分を削除してしまえば、サーバにログインしてから下記ファイルを直接叩いたら、動くことが確認できました。
#!/usr/bin/env bash
cd /var/app/current
bundle exec rake ***:*****
しかしながら、cronで叩くと、エラーがでて動きません。
/usr/bin/env: ruby: No such file or directory

どうしたものかと試行錯誤の結果、
crontabファイルのPATH指定部分に、rubyのディレクトリを追加
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/opt/elasticbeanstalk/.rbenv/shims
かつ、シェルスクリプトで上記AWS公表の環境変数の更新をかけたら動きました。
#!/usr/bin/env bash
source /etc/profile.d/sh.local
cd /var/app/current
bundle exec rake ***:*****

なんかBeanstalk Amazon linux2について、CronとかRakeタスクの情報がぜんぜんないのですが、みなさんあたりまえに対応しているのか、そもそもサーバで叩かないのがセオリーなのか、どうなのでしょう・・・・・?



2022年7月12日火曜日

BeanstalkをAmazon linux2にあげるにあたって苦労した所

2022/6末に、Amazon linuxが廃止されて、Amazon linux2になるということで対応を進めていましたが、期限を過ぎてもうまくいかなかったのがようやく対応できたので、メモ。

Beanstalkで環境を作ると、100 % of CPU is in use. になり続ける。

デプロイが完了しても、この状態が続きました。ログを見ると、Pumaログに、こういったエラーが出続けていました。

[8108] ! Unable to start worker
[8108] /var/app/current/vendor/bundle/ruby/2.7.0/gems/actionmailer-6.1.6/lib/action_mailer/base.rb:589:in `method_missing'
[8108] Early termination of worker


ただ、actionmailerのバージョンや、その周りのrails関連のバージョンは問題がなさそうでした。これ以外のエラーがログに無いという状態で、Rubyを3.0の環境に変えてみたり、設定を順に削除してなるべくシステムをシンプルにしてみても解決せず。

サーバでRakeコマンドを使えるようにした。

スムーズにAL2への以降ができた別プロジェクトで、cronが動いていないことがわかり、調べていると、rakeコマンドがAL2環境で使えないことがわかりました。ネットでは、

./opt/elasticbeanstalk/support/envvars

を読み込むと簡単みたいな記事が散見されましたが、サーバ内にenvbars無い。
そこで見つけたのがこちら
https://aws.amazon.com/jp/premiumsupport/knowledge-center/elastic-beanstalk-env-variables-shell/

.ebextentions/01_set_vars.confに以下を追加してデプロイ。
commands: setvars: command: /opt/elasticbeanstalk/bin/get-config environment | jq -r 'to_entries | .[] | "export \(.key)=\"\(.value)\""' > /etc/profile.d/sh.local packages: yum: jq: []
これでrakeコマンドを始めとして色々なコマンドが使えるようになりました。
サーバにログインし、
#cd /var/app/current
#bundle exec pumactl start
PUMAを動かしてみると、rails6に変えたことで出てきたエラーが表示されました。これらのエラーはローカルではでなかったものでした。
ということで、エラーを取り除いて再度デプロイ。
解決!

2020年2月20日木曜日

タイ旅行に行ってきた

今年の初め、家族でタイに行ってきました。
タイといえば、バンコクやプーケットが有名ですが、秘境で検索してライレイビーチという所に狙いを定め、でもライレイビーチで数日過ごすのはしんどいかもしれないぞ、ということで、ライレイビーチに行く起点の町アオナンという町に行くことにしました。

アオナンは、プーケットの東にある町で、ピピ島やライレイビーチなどへのツアーが出ています。最寄りの空港はクラビー国際空港で、車で40分の位置です。

旅行費用

クラビー空港までは、タイ航空でバンコク経由で8時間ほど。ここはマイルを使って行きました。
宿泊はグロー アオナン クラビ ホテル1泊10,649円で4泊5日42,596円。
https://jp.hotels.com/ho647979936/

滞在費用は家族4人で4万5千円くらいでした。(安い!)
大きく使ったのは、象トレッキングが大人800バーツ×2と子供400バーツで2,000バーツ。
あと4島巡りツアーはスピードボートで大人1200バーツくらい?だったのを大人1,000バーツ×2で子供は無料にしてもらいました。さらに国立公園使用料で400バーツ×2。合計で2,800バーツでした。
空港からのタクシーは500バーツくらい。ホテルを通して手配したので700バーツでした。
1バーツは3.8円くらいだったので、23,560円です。

あとは食事ですが、ナイトマーケットなどの屋台は320円くらい、ビールは120円くらいなので、あまり使わなかったです。あとはお土産ですね。
最後は両替したバーツが余ったのでレストランで食事(600バーツとか)したり、カフェ(1杯175バーツ)で使い切ってきました。

そんなわけで4人家族4泊5日でだいたい総額10万円ほどで行ってきました。

成田からバンコクを経由してクラビー空港へ

今回は、新型コロナの影響があり、体温のチェックなどされていました。いたるところに消毒アルコールが設置されていました。

クラビー空港に少し遅れて19時に到着。預け荷物を取りエントランスにでるも、ホテルで手配した迎えがありません。
しばらく待って、空港の電気が落とされだしても、いない。auのローミングでホテルにコンタクトを取ろうとしたが、ネットが弱すぎて何も検索できません。
家族もいるし、夜もふけると危なくなってくると思ったので、タクシーを拾ってホテルに向かうことに。すごい不安。
GoogleMapで現在位置を確認したかったのですが、ネットが弱すぎて地図がでず。向いてる方向だけが悲しくピコピコ動いていました。
途中、アオナンに11kmとか道路標識を見て、ちゃんと目的地に向かっていると安心。
ホテル提示の700バーツよりは安い600バーツで無事ホテルに着きました。

ホテルのスタッフから、迎えのリムジンタクシーで来たか?と聞かれたので、そもそもいなかった、と答えました。受付に聞きましたが、ちゃんと男性のスタッフが向かっていたと。大丈夫か、このホテル・・・?と不安になりました(これ以外は大丈夫でしたが)。

Glow Ao nang Hotel

最初に不安を感じたグローアオナンホテルでしたが、おおむね良かったです。
スタッフはみんな笑顔だし、毎日水を4本補充してくれるし、プールありジムありキッズルームあり、場所もビーチに10分くらいで歩いていけるし。ホテル中、速くはないにせよwi-fiが使えるので、便利でした。シャワーの水圧が弱いとか、シャワールームに黒カビが出てたとか、気にはなりましたが、許容範囲。
息子は毎日プールで遊んでいました。

アオナンの町

アオナンは、西にノッパラットビーチ、東にアオナンビーチが広がる海沿いの町です。
ノッパラットは船のツアーの出発港と小さなマーケット、いくつかのカフェやレストランがあります。
アオナンビーチ沿いはお店がたくさんあり、お土産、レストラン、カフェなどショピングストリートになっていて栄えています。バーガーキングやマクドナルドもあり、ストリートもきれいに整備されています。

ノッパラットビーチとアオナンビーチの間には、小さなマーケットがあります。このマーケットのスイカシェイクが美味しくて、3回位通ってしまいました。
またノッパラットビーチとアオナンビーチの間から北に伸びる道路の先に、アオナン ナイトマーケットがあります。

ホテルはナイトマーケットの近くでしたが、夜はLEDがビカビカで通りはとても明るいですし、子供連れがたくさん歩き回っていて、危険さはぜんぜん感じませんでした。タクシーや店員のしつこい勧誘もないし、なんか危ない感じの人だな、というのもありません。
観光地というよりはリゾート地なのも理由かもしれません。
あちこち開発が進んでいるし、数年後にはもっと魅力的な街になっているかもしれないです。

象ツアー

象ツアーは唯一日本で予約しておいたツアーでした。結局自分たちしかお客がいなかったので、そんな必要もありませんでしたが。
朝から迎えに来てもらっていざ出発。車だと15分くらいのところにあります。
着いたらさっそく象に乗ってゆっくりと森を散策しました。
途中、息子が象の頭に乗せてもらって、うわあいい経験だぁと思っていたら、象使いのイム君(29歳)が僕の横に座って、怒涛のお土産の売り込み開始。
象1頭800万円くらいするとか、小象は1600万円くらいとか、車2台変える金額とか、とにかくお金の話が多かったです。お土産を買ってもらったお金で象にバナナを買ってあげるとか言われて、象の頭に載せてもらった息子の象使いの証明書という体でネックレスを購入しました。

象ツアーのあとにスイミングするか?と言われたけど、綺麗とは言えないただの川だったのでノーサンキューで。トレッキングは本当にそこらへんの原っぱを歩きました。採集中のゴムの木とか見て楽しみました。

4島巡りツアー

妻が購入していたガイドブックには、ピピ島めぐりみたいなツアーが紹介されていたので、ピピ島に行ってみるか、と町中にたくさんあるツアー紹介所に行きました。
ここで、ピピ島は50分くらいかかるから、赤ちゃんがいるなら15分で行ける4島ツアーのほうがいいよ、と提案してもらったので、4島巡りにしました。
船は2種類選べるのですが、速い方を選択。
金額は失念しましたが、大人1,200バーツ、子供800バーツくらいかな。これを大人1,000バーツ、子供無料にしてもらえました。ありがたい。

島は本当に良かった。綺麗でした。
シュノーケリングも楽しめたし、砂浜も綺麗で柔らかい。
最後の島で食事を提供してもらって、ホテルまで送り届けてもらいました。


そんなわけで、1日目は夜に到着し移動で終了、2日目は街歩き、3日目は象トレッキング、4日目は4島巡りツアー、5日目はお土産買って帰宅、という流れで無事に戻ってきました。


2019年11月8日金曜日

40代おっさんが髪を寄付した話。

みなさん、髪の毛を寄付できるってご存知でしょうか?
髪を寄付することを「ヘアードネーション」といって、世界的に広がっている運動になっています。

ヘアードネーションとは
髪を寄付する先はもちろん髪を必要としている人たちです。すなわち、癌や白血病の治療の副作用で髪を失った人たちや、先天性の病気、また事故などで髪が無い人に、人毛のカツラを提供する運動がヘアードネーションです。

NPO法人などでは、特に髪を失った子どもたちにウィッグを提供しているとのことです。
子どもたちが生きるために必死に病気と戦っている。そんな中で髪を失うことは仕方のないことかもしれません。でもたとえウィッグでも、失った髪を手に入れたら笑顔になれる。外にでることが楽しくなる。笑顔や、嬉しい気持ち、楽しい気持ちは病気に打ち勝つ力となることは、想像に難くありません。

僕が始めてこの運動を知ったのは2015年ごろ。
オーストラリアの少年が髪を伸ばし続け、髪を寄付したという記事で初めて知りました。少し調べると、日本にもヘアードネーションを行う団体があることを知りましたが、寄付に必要な髪の長さはなんと31cm以上。
おそらく全盛期の金八先生でも31cmには足りません。流石に社会人の男で31cm以上髪を伸ばすのは、プロのメタルバンドに在籍しない限り困難だと感じました。

疑問の声もある
最近は科学的に作るウィッグも、本物と遜色のないレベルで制作できるという話もあり、無理に人毛を寄付する必要ないのではないか、製作コストが高いだけではないのか、という意見もあります。
確かに、カニカマなんて、蟹と区別が全くつきません。サラダ油で作った人工イクラを見破れる自信もありません。技術って凄い。

でも、寄付だからこそ無償で提供できるものがあります。
人毛を望む人もいるでしょう。
ヘアードネーションに限らず、日本に根付きにくい寄付の文化を少しでも広げることにも意味があると思っています。
そういったことから、ヘアードネーションについては常に頭の片隅にありました。

15cmからできるようになった
それから数年、何かの拍子に別のヘアードネーションの団体を知りました。
そこが提供しているのが15cmからのヘアードネーション。
15cmですとかなり短いので、作られるものは帽子に髪を付けた簡易ウィッグ。お出かけ用でしょうか。
それがつな髪でした。

15cmだったら男でもできるのでは?
募集の要項を読んでみると痛みすぎていない髪であればOKとありました。
いける。
そんなわけで2018年夏に、チャレンジすることを決めました。

美容師さんに相談
ヘアードネーションをするにあたって、それぞれの団体が、対応サロンというものを紹介してくれています。
髪を伸ばして切るためには、最終段階の切る段階でできるだけ髪を採取できないといけませんし、その状態まであまりに見苦しくならないように整えながら伸ばさないといけません。また採取後の髪型も意識しないといけない。
となると、対応サロンだと、そこらへんも当然考えた上で伸ばしていけるとは思うのですが、残念ながら家の近くに、無かった。
そこでいつも通っている美容院に相談したところ、やりましょうと言ってもらえました。

夏の時点で頭頂部は10cm以上の長さがありましたが、側面は刈り上げていたので、頭頂部から髪を採ることにして、側面はその長さに合わせて整えるだけとしました。

ちょうど夏から伸ばしはじめ、長さを感じるのは冬。季節的にもちょうど良いタイミングでした。

5月、髪が決壊する
長い冬を越え、春を迎えるとだいぶ髪の量が多くなり、合う人合う人に「長くなったね」と言われるようにはなっていたのですが、なんとかワックスで整え凌いでいました。

ところが5月に入ると、いきなり堰を切ったように毛量がずどんと増えたように感じました。
襟足が限界を迎え、荒れ狂う襟足は、襟で切り返し、北斎の富嶽三十六景のようなうねりを起こしたのです。美容院で整えてはもらいましたが、頭頂部から伸ばしている髪とのバランスを考慮するとあまり切ることもできず、ここから1ヶ月は髪を縛り、やり過ごすしかありません。

そして凌いで凌いで迎えた6月。
美容師さんからも「そろそろ行きましょう」とお墨付きをいただいたので、というかむしろ僕のほうが「き゛り゛た゛い゛!!」と懇願する形でヘアードネーションのマニュアルを手に、いざ、伐採。
収穫祭を迎えました。
ロングの髪の毛を束ねて切るわけではなく、ぎりぎり長さが足りている髪から15cmを取るのは難しく、美容師さんも苦労して髪を縛っては刈り取るを繰り返してくれました。
そして、取れそうなところからはできるだけ取ってくださり、何束もの髪が収穫できました。

白髪が駄目
昨年くらいは髪が痛みすぎていなければ、どんな髪でもOKと書いてあったと思ったのですが、改めてヘアードネーションのページを確認すると、白髪交じりも駄目と、基準が厳しくなっていました。
どうしようも無い髪がたくさん送られてきたからでしょうか。
収穫した自分の髪の束をみると、白髪が多く入っていました。さすがに40も越えると白髪が増えるものです。こんな白髪交じりの髪を子供につけさせるのも忍びない。
そこで、ピンセットで1本1本丁寧に取り除き、黒髪のみのつややかな髪の束を作りました。これで良いはず。

発送、待機
ついに、ようやく準備が整ったので、これをヘアードネーションに発送。
梱包しすぎないように、適度に梱包して送ります。

そこからしばし、音沙汰が無くなりました。
届いたかな?届かなかったかな?髪が傷んでいて使えなかったかな?
まぁでもやりきったかし、良いか・・・と達観して月日が流れ、9月12日。

認定証が届きました!


良かった。
無事に届き、今頃は僕の髪が誰かの頭をおしゃれに飾ってるんだ。
そんな達成感でいっぱいです。


会社でヘアードネーションしてみては?
そんなわけで40歳おっさんがヘアードネーションを達成したのですが、髪を伸ばすだけなので、会社の取り組みでやると良いと思うんですよね。
認定証を持ってきたら手当を出すとか。
営業担当も、髪を伸ばしていると「ちゃらちゃらしてる」と思われがちですが、名刺に「ヘアードネーション挑戦中!」と書けば、話のきっかけになるし、「良いやつじゃん!」と印象が変わること間違いなし。ギャップ萌えです。

社長さんが薄めの会社だとなお良いですね。
取引先「営業さんヘアドネーションするんですか?あ、社長に寄付するんですか?」
社長「おれのかつら作るわけじゃねーし!」
みたいな。打ち解けること間違いない。




2019年11月7日木曜日

四十肩を直し、お腹ぽっこりを解消したアプリ

一昨年、四十肩を発症しました。
腕が上がらない。ゆっくりあげても、腕を振れない。

加えてお腹に、今までの人生で感じたことのない圧力を感じ、
これはヤバい、と何かしら対策を講じる必要に迫られました。

結局は運動不足なので運動をするのですけど、ジムは通うのめんどくさいし、お金かかるしなぁと、運動系のアプリを探してみたところ、

そこで見つけた、Freeletics!
Youtubeでたくさん、Freeletcsユーザの肉体改造動画が見つかるんですよね。


まじか、すげぇな、と思っている間に指が勝手にダウンロード。
とりあえずやることになりました。

Freeletics

Freeleticsはドイツの運動管理アプリのようです。
個別のエクササイズは、数十あるエクササイズから1つと回数を選んでスタートすると、タイマーが動き出すので回数をこなしストップします。毎回それがレコードとして記録されます。各エクササイズには、正しいやり方が動画で紹介されていて、その通りにできたか、休憩が必要だったか、正しくできなかったか、など分類付けもできます。正しくできた上で、タイムが前回より上回れると、成長を実感できます。
またワークアウトがあります。これはエクササイズをまとめて、ヨーロッパの神々の名前が付けられたワークアウトです。例えば腕立て20回腹筋20回を3セット、みたいな感じです。

あとは、ネットで他のユーザーと繋がれば、他のユーザと励ましあって、または競い合ってモチベーションを維持することもできますね。

ということで開始して。

自分の場合、四十肩もあったので、毎日肩周りの柔軟体操を重点的に行いながら、肩に痛みのない範囲でエクササイズを選んで運動しました。
四十肩は日を追うごとに良くなり、1ヶ月くらいで、旗を振るような動作に痛みを感じるくらいになりました。

1ヶ月くらい経つと、毎回エクササイズを選んで運動するのが億劫になってきます。
エクササイズの数が多いし。

課金ユーザへ

ここにきて遂にスマホアプリで決してしなかった課金に人生で初めて手を出すことになりました。
遂に課金デビューです。

Freeleticsで月1,000円程度の課金を行うと、全てのエクササイズとワークアウトが解放され、コーチモードが利用可能になります。
コーチモードは、自分の今の運動状態と、目指す状態を登録。3ヶ月位のスパンで大きな目標を設定。その中で1週間単位で何日やるかを設定すると、毎週メニューを作ってくれるのです。
毎日の運動は、ウォーミングアップから始まり、何セットか運動を行い、ストレッチで締める、が基本です。
コーチモードのメニューをこなした後に、辛かったかどうか、もっとできるかどうかをフィードバックすると、その内容が次週のメニューに活かされます。
コーチはかなりきついです。

容赦なく運動レベルが上がり、最初の方は毎回コーチから励ましのメッセージがあります。(いまもあるのかな?)
「諦めるな、言い訳するな、習慣にしてしまえ!」

鬼コーチに食らいつき続けると、1ヶ月位で体型は変わってきます。
3ヶ月ほどで腹筋は割れてきて、6ヶ月経つとお腹の脂肪は無くなり逆三角形になってきます。四十肩もすっかり治りました。

1年ほど続けたときにスパルタンレースに参加したのですが、身体が軽くほぼすべての課題はラクラクこなせました。

ただいま2年経っています。途中3ヶ月位さぼったりして、戻ったり進んだりしつつ、このアプリだけで運動を続けています。

2018年11月13日火曜日

海外送金サービス「Payoneer」に登録してみました。

海外と取引するときに、非常にめんどうな海外送金。
ペイオニアは、海外取引に使える口座を簡単に開設できます。AmazonやeBayを利用した輸出や、越境ECを展開する上で懸念になる口座問題をすっきり解決。ストアマネージャーを使えば1アカウント内に複数の口座も開設できる。とあって、さっそく法人で作ってみました。
下記リンクは紹介プログラムで25ドルもらえるようです。

ペイオニアトップページ

トップページにアカウント開設のボタンがあるのでクリックします。


登録画面がでます。日本語なので簡単ですね。
たった4ステップなので、すぐに終わります。

法人を選んだ場合は、1箇所、会社法人等番号というのがあります。
こちらは登記簿謄本などに記載されている4桁-2桁-6桁のような数字ですので、メモしておきましょう。

最後まで進むと、メールが送られてきて、メールアドレスのチェックがあります。
審査完了までは、3営業日ほどかかるようです。

審査が完了するまえでも、ログインはできるようです。
初めてログインする場合には、セキュリティの質問をセットする必要があるようです。

それが終わると、ひとまずログイン可能です。

さて、審査ですが、3営業日とのアナウンス。
8営業日ほどかかって、無事承認されました。

審査が大量にきてるんでしょうかね。
仕方ないですが、無事に通ってよかったです。

ペイオニアアカウント作成はこちらから