AWS

gomockでaws-sdk-goをモック/スタブする

普段、Rubyを書いていると、Goでaws-sdkを扱う際にAPIの呼び出しをモック/スタブするのが意外と大変で苦労する。よくGoのテストのプラクティスとして、スタブしたい関数をグローバル変数に入れておいて、テスト時にすり替えるというのがあるが、もうちょっと…

RailsアプリをECSにのせてecs-cliでデプロイとかをする

RailsのECS移行事例なんて既に山ほどあるので、特に書くつもりは無かったのですが、実際にやってみると 時代が進んで、より便利なものが出てきている デプロイどうするのよ、となったときに各自が最強のECSデプロイツールを作っていて、参考にならない とい…

terraform planで消耗しないためにTFLintを作った話

以前から、インフラそのものの構成管理にはTerraformを利用しています。主にAWSのリソース管理に使っていて、Terraform自体はaws-sdkのラッパーみたいな感じなのですが、宣言的に構築できるので、複製が容易であったり、変更に必要な操作(modify系のAPI実行…

ALBとTerraformによるBlue-Green Deployment

最近、AWSからALBというビックなアップデートが発表されました。 【新発表】AWS アプリケーションロードバランサー | Amazon Web Services ブログALBは従来のELBと比べてコンテントベースルーティング、優先度の設定、HTTP/2、WebSocketの対応など、さまざま…

Capistranoでデプロイした後にAMIを作って世代管理するプラグイン書いた

タイトルの通り、デプロイ後にAMIを作ってAMIの世代管理もできるCapistrano3向けのプラグインを作りました。 要件としては意外とありそうなのに、(自分で調べた限り)gemがなかったので、作ったという経緯です。AMIを作るだけならば、適当にaws-sdkをrequir…

可用性の高いcron処理の為にJob Observerパターンを使う

1日に一度だけ、1時間に一度だけ、あるタイミングで処理を走らせたいというニーズは常に存在します。昔から多くのエンジニアはそういった要望に対して、サーバを用意して、crontabに独自の魔法を書くことで対応していました。時は現代、インフラといえばAWS…

PackerとTerraformで始めるミニマムなAWS構成管理

前回の記事ではDockerとECSを使ったAWS上でのInfrastructure as codeについて言及しましたが、サーバリソースの構成管理についてはAWSのマネージメントコンソールから手動で行わないといけなかったり、コンテナを用いたアプリケーション構成を強制され、従来…

DockerとECSでInfrastructure as codeを体感する

Infrastructure as codeの思想に感動し、AWSを使い始めて早1年になりますが、なんだかんだで最近はコードを書いてばかりでAWSを触っていませんでした。貴重な無料期間も終了し、非常にもったいないことをしたなと反省中です。さて気を取り直して、ついに先日…

JAWS DAYS 2015に行ってきました

JAWS DAYS 2015 http://jawsdays2015.jaws-ug.jp/AWSユーザの祭典、JAWS DAYS 2015に参加してきました。 日本各地のJAWS-UG支部が東京に集まるということで、結構地方の方もいたみたいですね。とはいえ、やっぱり関東地区の黒い札の方が多いようでしたが・・…

AWSソリューションアーキテクトになってきた

めでたく合格しました。正直受験したときには「あ、落ちたな(確信)」となるぐらい難しかったのですが、ギリギリのスコアで合格できたみたいです。やったぜ。 AWSの利用経験は2ヶ月くらいしかなく、あんまり実践経験がないため、試験は難しく感じました。難…