年中アイス

いろいろつらつら

RDSの証明書を更新したら、Lambda(node.js)から接続できなくなった

AWS

2020/02/05までに、RDS系の証明書を2015から2019に更新するようにアナウンスが出ています。*1 そんな中、RDSの証明書更新してから、Lambda(node.js)から接続できなくなったと相談を受けました。確実にクライアント側の証明書を更新してないからと思いました…

Python3.8+ansible2.8.6は動かなかった

Python2系がほぼ年内*1で終わってしまうので、そろそろPythonのバージョンと、ansibleのバージョンを上げようと、pyenv+venvで別環境作って試してみてました。とりあえず最新にしてみようと、Python3.8とansible 2.8.6を入れて、playbook実行してみたら、以…

t3.smallとt3.mediumのCPU creditが同じだった

AWS

t3インスタンスのCPU creditを使い切ってしまうことがあり、そういやt2より良くなったようなと思って、再度調べてみたら驚きの仕様が! docs.aws.amazon.com リンクにあるように、t3.small, t3.mediumは、creditの回復量、保持量が同じだったのです。t2はサ…

iPhone 11 Pro 1週間とセットアップメモ

1週間ほど使ってみて 前回買ったエントリ書きましたが、その後1週間使っての雑感と移行セットアップを簡単にメモ。 物体として やっぱりでかい、重い。大きさよりは重さの方がよりくる感じ。前に買ったandroidと大きさは変わらないけど、それぞれ持つと、iPh…

iPhone 11 Pro購入

長らくiPhone7を使ってきましたが、バッテリーの持ちが悪くなってきたことと、超広角に惹かれてiPhone 11 Proを購入しました。発表直後はあんまりかなーと思っていたんですが、超広角が13mm相当と思ったより広角で、子供の写真撮るのに良さそうでした。写真…

ローカルとAWS ECS上のマイクロサービスをSSH経由でつなぐmogura

マイクロサービス開発向けに、moguraというツールを開発しています。Twitterではちょいちょいリリースを呟いて、細かいバージョンアップを行っています。一旦落ち着いたので、moguraが何を解決するためのツールで、何をしてくれるのか紹介します。 背景と課…

突然SIMが使えなくなったので再発行した(無事解決)

先日、急にSIMエラーというダイアログが表示された後、モバイル回線(4G LTE)が使えなくなりました。端末とSIMは以下の通り。 iPhone7 SIMフリー OCN mobile one SMS付データSIM 使えなくなるとiPhone左上のdocomoなどキャリア名が表示されているところが、不…

GoでSSH port forwarding

今までPort Forwardingはbashrcに書いて呼び出していましたが、量が多い時など手間が多くなっていたので、Goで呼び出せるようにしようと調べてみました。ちょうど同時期にGoで実装している方がいたので、参考にしてサンプル実装を作ってみました。 go-memo/s…

LINEのLive Photo投稿をOFFにする

今月2018/11の後半ごろに、妻からLINEの写真の拡大表示時にダウンロードが発生するようになって面倒だという指摘をもらいました。 投稿写真にLiveという文字が入るようになったので、気づいてはいたのですが、Live Photo(iOSの写真の機能で、シャッター前後…

Kindle Paperwhite 2018購入しましたが…

新しいkindleを購入しました。ちょうど4年前ぐらいにvoyageを買ったんですが、最近、容量不足と若干バッテリーがへたり気味かなと思い、買い替えを検討していたところに、ちょうど発表されたので予約しました。購入理由は、容量がvoyageの8倍、おまけで防水…

韓国でSIMを購入してiPhoneを使う

韓国で現地SIMを買って、iPhone7 SIMフリー版に入れて過ごしたので、諸々メモです。 今回の要件は、以下です。 滞在期間が不定(これは十分には満たせませんでしたが) 普段使っているiPhoneを使いたい バッテリーの管理や通信の利便性を考慮してSIM自体を手に…

ECSのコンテナ間でNLBを経由した通信がつながらないことがある

gRPCで作った複数のサービスを、同じECS Cluster上で動かし、他のサービスを呼び出している時に、通信できなくなったことがあったので、その原因のメモです。 直接的な原因は、「NLBは、接続元と接続先が同一のIPへの通信ができない」という仕様に意図せず該…

hakoへのプルリク その2

前回に引き続きcontainer health checkの対応をプルリクしました。 github.com 設定追加するだけだし、簡単だーと思ってましたが、何箇所か指摘頂いたので、備忘録。 簡単かなーと思ってましたが、危うく変な挙動を仕込むところでした。 設定値はオプション…

Goでファイルの特定位置から読む

bashで組んでたログの検知スクリプトを、メンテナンス性と拡張性考えてGoで書き直すことにしました。 ファイルを定期的にtailして一定行数読み込んで処理する方式を取っていましたが、最後に読んだとこから後にしたいと調べていたら、Mackerelが似たようなこ…

elasticsearch bulkAPIで地味にはまる

elasticsearch 6.3が出たので、データ突っ込んで試してみるかと、index作ってデータを投入することに。 curl叩きながら、確認を進めてましたが、BulkAPIを使って、データを入れるときに、以下のようなエラーが出ました。 {"error":"ActionRequestValidationE…

hakoに機能追加

ECSを本格利用し始め、デプロイの管理にhakoを使うことにしました。最近ECSに機能追加があり、hako未対応のものを使いたくなったこともあり、hakoに追加してみることにしました。 作った機能 いくつか機能を追加して、プルリク投げてマージされたもの、プル…

API Gateway+LambdaのSlack通知APIをCloudFormationで作る

以前、三編に分けて、SlackへPostするWebAPIを、API Gateway+Lambda+node.jsで作りました。 AWS API Gateway+LambdaでSlackにメッセージをPOSTする(前編) - 年中アイス AWS API Gateway+LambdaでSlackにメッセージをPOSTする(中編) - 年中アイス AWS API Gat…

GoでJSONの数字/数値を扱う

JSONはデータの表現形式です。表現はできますが、項目があるかや、型が何であるかを検査する仕組みはありません。*1 そのため、システムや実装が分かれている場合に、数値を期待しているが、JSONの表現上、数値か数字かがずれていることが起き得ます。どうい…

Amazon echo (Alexa) がやってきた

スマートスピーカーが盛り上がってきてますが、Amazon echoの招待メールが来て、ポチって届きました。前の日にだいぶ購買欲落ちたってツイートしてたら、その翌日に招待メール来ました。招待メールから4日以内に注文しないと、購入権がなくなるので、注文し…

CircleCI 2.0でGoのテスト触ってみた

CI周りを触ってみている中で、Dockerイメージが動くようになったという、CircleCI 2.0が気になったので触ってみました。ちなみに1.0も触ったことはないです。参考で見たページだと、2.0はBeta版の時期もありましたが、今は正式にリリースされています。 circ…

docker for macのホストを指すドメイン名

手元のMacで開発をしていて、コンテナからホスト上で動作しているサーバに繋ぐ必要がありました。単純にlocalhostを使うとコンテナ自体を指してしまうので、それでは通信できません。ホストのIPをいちいち指定するのもなーと思っていたんですが、docker for …

格安Android(g06+)買ってみた

持っているガラケーのバッテリー寿命が来て、5分も通話すれば落ちるぐらいになってしまいました。*1もう一度ガラケーに変えるという手もあるんですが、契約もめんどいので、MNPして格安SIMに電話番号も移そうかなと検討しています。それで今回移行する端末候…

GoでJSON文字列を整形し直す

Goで、JSONを返すWebAPIを呼んだ時、普通は結果をプログラムで使うので、対応する構造体を用意して、json.Unmarshal()などで変換します。 しかし、JSONをそのまま整形だけして出力したい場合があります。例えば、WebAPIを呼んで、そのレスポンスを見せるだけ…

Apexでlambda slack POSTにGoを使う

以前のエントリで、Lambda Node.js 4.3を使ってSlackにPostしていました。 reiki4040.hatenablog.com 普段Javascriptは書かないので、Goで書いてApexでデプロイする版を試しました。 ApexはLambdaのコードを管理(?)、デプロイするツールで、PythonやNode.js…

AWS CodeBuildでGoプロジェクトをビルドする

AWS TokyoリージョンにもCodeBuild等のCodeシリーズ(?)一式揃い、使ってみようということで、まずはCodeBuildを試してみました。 公式にGoのサンプルはあるんですが、他のライブラリ使ってないhello worldなので、CodeBuildの説明だけという感じでした。vend…

DeploymentとServiceをyamlファイルで定義する

kubectlコマンドとオプションでnginxをminikube上で動かしました。 今回は、コマンドで起動内容を指定するのではなく、定義ファイルを使って動かすようにします。定義ファイルにすることでgitで管理できるようになります。 コマンドの振り返り 以下のように…

Linuxでメモリ使用量が増え続けた

AmazonLinux 2017.03にnginx乗せて稼働させてたら、なぜかメモリ使用量が、1日ちょっとで2GB後半にさしかかりました。cacheではなくusedを徐々に消費してたので、これは何かリークしてる疑い。 プロセス等を見てもメモリを使っているものもいないし、疑いの…

minikubeで自分の作ったimageを使う

前回minikubeの実行環境を作りました。公開されているnginxのimageを使いましたが、実際は自分でimageを作成し、それを実行させることがほとんどだと思います。minikubeはdockerを内包しているので、そこでdocker buildすればimageが登録され、使うことがで…

ローカルでkubernetesを動かせるminikubeを試す

kubernetes(以降k8s)は、GKE(GoogleContainerEngine)を使うのが簡単らしいですが、とりあえずローカル実行できる環境が欲しくなったりします。 minikubeは、VirtualBoxなどの上にk8sの環境を構築してくれるツールです。今回はとりあえずMac上にk8s環境を作り…

リリースを自動化したら思ったより楽になった

rnzooの0.5.0を開発していくにあたって、機能的な追加の他に、リリースの自動化を行いました。もともとビルド自体はbashスクリプトで自動化していて、dockerを使ったコンテナ上でのビルドとアーカイブファイルの作成を行っていました。 今回、devバージョン…