任意のパラメータを格納できる EC2 Systems Manager「パラメータストア」を試したら便利だった

AWS

re:Invent 2016 で発表されたけど,オンプレ関連だと勝手に思い込んでいて,今まで試していなかった Amazon EC2 Systems Manager の中に「パラメータストア」というサービスがあり,試してみたらこれが非常に便利だった.簡単に言うと,任意のパラメータをパ…

Lambda を軸にサーバレスを解説した「実践 AWS Lambda」を読んだ

AWS Summit Tokyo 2017 の先行発売でゲットした「実践 AWS Lambda」をさっそく読んだ.Lambda の解説だけではなく,サーバレスの文脈で導入事例が増えてきたアーキテクチャ(ユースケース)の紹介がされていたり,サーバレスのデプロイツールとして AWS SAM …

AWS Summit Tokyo 2017 に参加して2日間ずっと AWS のことを考えていた

www.awssummit.tokyo 2017/05/30(火) ~ 2017/06/02(金) の期間で,計4日間開催されていた AWS Summit Tokyo 2017 に参加してきた.僕は後半2日間に参加して,非常に満足度が高く,もっともっと AWS を使い倒さなきゃ!とモチベーションが上がった.セッショ…

個人的な Keynote ベストプラクティス 2017

最近「どうやってスライドを作ってるの?」と聞かれる機会も増えてきたので,普段 Keynote を使っていて,特に意識しているポイントをベストプラクティスとしてまとめた.参考になれば! Keynote Best Practice speakerdeck.com Unsplash 背景画像を選ぶとき…

目標達成をもっと支援したい /「コーチングの基本」を読んだ

「コーチングの基本」を読んだ.今年は “教える” という行動をもっと深く知るという個人的なテーマがあって,2月からプログラミング学習者のパーソナルメンターという仕事もしている.また,社内でメンバーの育成を担当する機会もある.そういう背景から,ま…

Data Migration Night に登壇してデータ移行の Tips を紹介してきた

今日は Data Migration Night に参加してきた & LT 枠で登壇してきた! atnd.org ChatWork がデータマイグレーションに使った技術の話 CQRS + Event Sourcing System Aurora にある17億メッセージを HBase にマイグレーションする 基本マイグレーションと差…

Mackerel で ECS の動的ポートマッピングに対応したタスクのメトリクスを取得する

前回書いた記事に続き,Mackerel を使って ECS のメトリクスを取得する方法を検証していて,今回は「パターン2 : コンテナインスタンスに mackerel-agent をインストールする」の検証結果をまとめる.前提としては前回と同じで,ALB の動的ポートマッピング…

mackerel-agent タスクをコンテナインスタンスごとに起動して ECS のメトリクスを取得する

最近 Mackerel を使って ECS のメトリクスを取得する方法を検証している.ポイントとしては,ALB の動的ポートマッピングを使うところで,コンテナインスタンスの中で複数のタスク(コンテナ)が起動されるため,全てのタスクのメトリクスを取得する必要があ…

FCM (Firebase Cloud Messaging) で Instance ID API を使ってトピックをサブスクライブする

最近 Firebase を検証している.今回は mBaaS としての Firebase ではなく,プッシュ通知基盤としての Firebase を検証していて,学んだことをまとめておこうと思う.Firebase には他にも Analytics や Functions や Remote Config などなど,機能がたくさん…

プレゼンをするときに意識していること

僕自身,プレゼンが得意とまでは言わないけど,プレゼンをすることは大好きで,勉強会だったり,会社のイベントだったり,様々なところで話す機会がある.「プレゼンのコツ」をネットで調べたら既に大量の記事が出てくるし,何番煎じだよという声もありそう…

docker login をせずに ECR を操作できる awslabs/amazon-ecr-credential-helper

3月末に参加した「JAWS-UG コンテナ支部」で知った ECR (Amazon EC2 Container Registry) の便利ツール Amazon ECR Docker Credential Helper を試した.Amazon ECR Docker Credential Helper を使うと ECR のログインを省略できる. kakakakakku.hatenablog…

CircleCI + ecs-deploy で ECS にデプロイをする

引き続き ECS のデプロイを調査していて,今回は導入された話を比較的よく聞く ecs-deploy を試した.AWS CLI と jq に依存しているけど,Shell 100% で実装されているため,実行環境の構築が不要という手軽さが1番のメリットだと思う. github.com ちなみに…

「JAWS-UG コンテナ支部 入門編 #4」に参加して ECS の事例を聞いてきた

3/30(木) に参加して既に3週間もたってしまったけど,ECS の事例を聞きたいなと思って「JAWS-UG コンテナ支部 入門編 #4」に参加してきた.今回は「入門編」だったので,僕のレベル的にちょうど良いなと思った.あと JAWS 系のイベントは “19-21時” でサクッ…

AWS CLI で ALB 配下のインスタンスを deregister / register する

AWS CLI で ELB 配下のインスタンスをローリングデプロイする方法は去年にまとめた.aws elb deregister-instances-from-load-balancer と aws elb register-instances-with-load-balancer を使うだけじゃなく,aws elb describe-instance-health を使って w…

CircleCI で ECS にデプロイをするサンプルプロジェクト circleci/go-ecs-ecr を試した

CircleCI を使って,ECS に Docker コンテナをデプロイする方法を調べていたら,CircleCI が公開しているサンプルプロジェクト circleci/go-ecs-ecr の存在を知ったので,さっそく試してみた. circleci/go-ecs-ecr を動かすと,Golang の API が動く Docker…

計画する技術

今日は社内勉強会で「計画する技術」というタイトルで発表をした. 前から少し「計画」のところに課題感があって,そのあたりの知識を組織に広めて欲しいというオーダーもあったため,僕が日々考えていることを言語化して,発表することにした.僕は今までに…

PHP の Elasticsearch クライアント Elastica で Amazon ES に接続する

PHP から Elasticsearch を操作するために Elastica というライブラリを使っている.今まで EC2 で運用していた Elasticsearch を Amazon ES に移行する話があり,Elastica から Amazon ES を操作するときに悩むことが多かったため,まとめておこうと思う. …

mysqldiff を使って継続的に MySQL のデータベーススキーマの差分をチェックする

最近,環境ごとのデータベーススキーマの差分をチェックする機会があった.プロダクション環境とステージング環境ならまだしも,開発環境だと検証のために追加したインデックスがそのままになっていたり,開発が途中で止まってしまって日の目を見ることがな…

Redash を Backup & Restore する

サービスメトリクスを可視化するために Redash を導入しようと考えていて,可視化の部分だけじゃなく,運用面の調査もしていた. まず Redash をどうやってバックアップするんだろう?と思って調べてみたら,公式ドキュメントに手順がまとまっていた.一言で…

知っておくと便利な git clone --depth と git diff --indent-heuristic

コミット履歴が無駄に多く,黒歴史のある Git リポジトリで開発をする場合,初回の git clone が非常に遅いという問題がある.コミット数に依存せずに素早く落とせる方法を探していて,最近(今さら…!) git clone の --depth オプションのことを知った.用…

採用面接は難しい /『その「エンジニア採用」が不幸を生む』を読んだ

エンジニアの採用をテーマにした本って,今まで How Google Works ぐらいしか読んだことがなくて,タイトルに惹かれたので『その「エンジニア採用」が不幸を生む』を読んでみた. 今まで数十回は採用面接をしてきたと思うけど,常に採用は難しいなと思う.僕…

Lambda + Apex 事例紹介 ~ 全ては AWS コスト削減のために ~

今日は社内の別プロダクトと合同勉強会があって,Lambda + Apex 便利だよ!という発表をしてきた. タイトルは「Lambda + Apex 事例紹介 ~ 全ては AWS コスト削減のために ~」で,発表内容としては,大きく3点にフォーカスした. CloudWatch Events + Lambda…

gapps を使って Google Apps Script を継続的にデプロイする

GAS

最近 GAS (Google Apps Script) を書く機会があって,Google 関連のリソースに簡単にアクセスできて便利だなー!と感じる反面,直接 js を書いて実行する開発プロセスに違和感を感じていた.普通に GitHub でバージョン管理して,継続的にデプロイする方法を…

Aurora のスロークエリログを Fluentd 経由で Amazon Elasticsearch Service に転送する

Aurora でスロークエリログを出力して,Fluentd 経由で Amazon Elasticsearch Service に転送する構成を作った.MySQL on EC2 のときは,サーバ内で直接スロークエリログを確認していて非常に面倒だったので(単なる運用上の考慮不足),運用面で大きく改善…

CloudWatch Events + Lambda + CircleCI + Apex で Lambda をサーバレスに実行 & デプロイする

先週,プロダクトで開発合宿を企画して実施してきた.今回のテーマは「開発効率/運用効率の改善」だったので,僕はインフラチームとして先輩と一緒に開発に取り組んだ.お題は「AWS コスト削減」にした.開発合宿で開発したツールで学んだことを簡単にまと…

アクセスキーのコミットを抑止できて安全便利な awslabs/git-secrets

GitHub で awslabs のリポジトリを眺めてたら git-secrets という便利なツール(シェルで実装されてる)を発見した. どんなものかを簡単に説明すると,アクセスキーなどを誤ってコミットすることを Git の hooks を使って未然に防ぐツールで,誤って GitHub…

SRE Tech Talks #2 に参加してサービス運用の事例を聞いてきた

先週 SRE Tech Talks #2 に参加してきた.僕も仕事ではウェブオペレーションをメインで担当しているけど,他社の事例を聞くのは刺激になるし,まだまだできてないことが多くあるなと感じた.特に「オペレーションの効率化をソフトウェアエンジニアリングで実…

MySQL on EC2 → Aurora にレプリケーションをしてみた

既にサービスで稼働している MySQL on EC2 を Aurora に移行するために,以下のようなレプリケーション環境を検証用に構築して試した.Percona Xtrabackup でリストアをすると高速にできるらしいけど,今回は環境の制約もあって mysqldump 経由でリストアを…

Aurora のパラメータグループで max_connections の値が計算値と合わない

最近 Aurora の検証をしているので,今後は Aurora 関連の記事を書く機会が増えそう. 前提 RDS (Aurora MySQL) インスタンスタイプ : db.t2.medium DBInstanceClassMemory とは RDS のパラメータグループでは,特定の変数と演算子を使った動的な値設定がで…

golang.tokyo #3 に参加してパフォーマンスの話を聞いてきた

先週 golang.tokyo #3 に参加した.抽選倍率2倍だったからダメかもなぁ…!と思って申し込んだら当たった. テーマは「パフォーマンスチューニング」だったけど,「パフォーマンスチューニング」とは違うような話もあった.エウレカの話も聞きたかったから残…