CloudWatch で ELB の「パーセンタイル統計」を可視化しよう
今日は CloudWatch の話を書こうと思う.既に活用してる人も多いと思うけど,2016年11月の新機能リリースで各種メトリクスの「パーセンタイル統計」を可視化できるようになった.「パーセンタイル統計」は凄く重要で,平均値だけをモニタリングしていると気付きにくい異常値に気付くことができる.例えば,ELB の Latency をモニタリングしている場合に,リクエストの 1%...
View Articlegolang.tokyo #3 に参加してパフォーマンスの話を聞いてきた
先週 golang.tokyo #3 に参加した.抽選倍率2倍だったからダメかもなぁ…!と思って申し込んだら当たった.テーマは「パフォーマンスチューニング」だったけど,「パフォーマンスチューニング」とは違うような話もあった.エウレカの話も聞きたかったから残念!golangtokyo.connpass.comAccelerating real applications in Go...
View ArticleAurora のパラメータグループで max_connections の値が計算値と合わない
最近 Aurora の検証をしているので,今後は Aurora 関連の記事を書く機会が増えそう.前提RDS (Aurora MySQL)インスタンスタイプ : db.t2.mediumDBInstanceClassMemoryとはRDS のパラメータグループでは,特定の変数と演算子を使った動的な値設定ができる.今回は変数...
View ArticleMySQL on EC2 → Aurora にレプリケーションをしてみた
既にサービスで稼働している MySQL on EC2 を Aurora に移行するために,以下のようなレプリケーション環境を検証用に構築して試した.Percona Xtrabackup でリストアをすると高速にできるらしいけど,今回は環境の制約もあって mysqldump 経由でリストアをする設計を選んだ.レプリケーション環境を構築する手順は以下のドキュメントに詳しくまとまっていた.Aurora と...
View ArticleSRE Tech Talks #2 に参加してサービス運用の事例を聞いてきた
先週 SRE Tech Talks #2 に参加してきた.僕も仕事ではウェブオペレーションをメインで担当しているけど,他社の事例を聞くのは刺激になるし,まだまだできてないことが多くあるなと感じた.特に「オペレーションの効率化をソフトウェアエンジニアリングで実現する」という価値観が凄い良い表現で刺さった.eventdots.jpOn-call Engineering @cubicdaiyaSRE...
View Articleアクセスキーのコミットを抑止できて安全便利な awslabs/git-secrets
GitHub で awslabs のリポジトリを眺めてたら git-secrets という便利なツール(シェルで実装されてる)を発見した.どんなものかを簡単に説明すると,アクセスキーなどを誤ってコミットすることを Git の hooks を使って未然に防ぐツールで,誤って GitHub に push してしまったために,AWS...
View ArticleCloudWatch Events + Lambda + CircleCI + Apex で Lambda をサーバレスに実行 &デプロイする
先週,プロダクトで開発合宿を企画して実施してきた.今回のテーマは「開発効率/運用効率の改善」だったので,僕はインフラチームとして先輩と一緒に開発に取り組んだ.お題は「AWS コスト削減」にした.開発合宿で開発したツールで学んだことを簡単にまとめておこうと思う.Time-based...
View ArticleAurora のスロークエリログを Fluentd 経由で Amazon Elasticsearch Service に転送する
Aurora でスロークエリログを出力して,Fluentd 経由で Amazon Elasticsearch Service に転送する構成を作った.MySQL on EC2 のときは,サーバ内で直接スロークエリログを確認していて非常に面倒だったので(単なる運用上の考慮不足),運用面で大きく改善できるし,アプリケーションエンジニアも自由に Kibana...
View Articlegapps を使って Google Apps Script を継続的にデプロイする
最近 GAS (Google Apps Script) を書く機会があって,Google 関連のリソースに簡単にアクセスできて便利だなー!と感じる反面,直接 js を書いて実行する開発プロセスに違和感を感じていた.普通に GitHub でバージョン管理して,継続的にデプロイする方法を探していたところ,専用の公式ツール gapps...
View ArticleLambda + Apex 事例紹介 ~ 全ては AWS コスト削減のために ~
今日は社内の別プロダクトと合同勉強会があって,Lambda + Apex 便利だよ!という発表をしてきた.タイトルは「Lambda + Apex 事例紹介 ~ 全ては AWS コスト削減のために ~」で,発表内容としては,大きく3点にフォーカスした.CloudWatch Events + Lambda + CircleCI + Apex で Lambda をサーバレスに実行 &...
View Article知っておくと便利な git clone --depth と git diff --indent-heuristic
コミット履歴が無駄に多く,黒歴史のある Git リポジトリで開発をする場合,初回の git cloneが非常に遅いという問題がある.コミット数に依存せずに素早く落とせる方法を探していて,最近(今さら…!) git cloneの --depthオプションのことを知った.用途によっては非常に便利なので,まとめておこうと思う.前提現時点で公開されている最新バージョンの Git 2.12.1...
View ArticleRedash を Backup & Restore する
サービスメトリクスを可視化するために Redash を導入しようと考えていて,可視化の部分だけじゃなく,運用面の調査もしていた.まず Redash をどうやってバックアップするんだろう?と思って調べてみたら,公式ドキュメントに手順がまとまっていた.一言で言うと,Redash の内部で使っている PostgreSQL...
View Articlemysqldiff を使って継続的に MySQL のデータベーススキーマの差分をチェックする
最近,環境ごとのデータベーススキーマの差分をチェックする機会があった.プロダクション環境とステージング環境ならまだしも,開発環境だと検証のために追加したインデックスがそのままになっていたり,開発が途中で止まってしまって日の目を見ることがなかったテーブルが残っていたり,そういうことって比較的あるのではないかなと思う.特に今の環境だと,マイグレーションの仕組みが整っていないという課題もあり,より一層,デ...
View ArticlePHP の Elasticsearch クライアント Elastica で Amazon ES に接続する
PHP から Elasticsearch を操作するために Elastica というライブラリを使っている.今まで EC2 で運用していた Elasticsearch を Amazon ES に移行する話があり,Elastica から Amazon ES を操作するときに悩むことが多かったため,まとめておこうと思う.github.comちなみに,僕は使ったことはないけれど,Elastic...
View Article計画する技術
今日は社内勉強会で「計画する技術」というタイトルで発表をした.前から少し「計画」のところに課題感があって,そのあたりの知識を組織に広めて欲しいというオーダーもあったため,僕が日々考えていることを言語化して,発表することにした.僕は今までに様々な「計画」の経験があり,実際に今の組織でも難易度の高いプロジェクトを何度も計画し,遂行してきたため,「計画」に対する信頼残高は増えているのではないかと思う.発表...
View ArticleCircleCI で ECS にデプロイをするサンプルプロジェクト circleci/go-ecs-ecr を試した
CircleCI を使って,ECS に Docker コンテナをデプロイする方法を調べていたら,CircleCI が公開しているサンプルプロジェクト circleci/go-ecs-ecr の存在を知ったので,さっそく試してみた.circleci/go-ecs-ecr を動かすと,Golang の API が動く Docker イメージを作成して,ECR にプッシュして,ECS...
View ArticleAWS 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を使って waiter...
View Article「JAWS-UG コンテナ支部 入門編 #4」に参加して ECS の事例を聞いてきた
3/30(木) に参加して既に3週間もたってしまったけど,ECS の事例を聞きたいなと思って「JAWS-UG コンテナ支部 入門編 #4」に参加してきた.今回は「入門編」だったので,僕のレベル的にちょうど良いなと思った.あと JAWS 系のイベントは “19-21時”...
View ArticleCircleCI + ecs-deploy で ECS にデプロイをする
引き続き ECS のデプロイを調査していて,今回は導入された話を比較的よく聞く ecs-deploy を試した.AWS CLI と jq に依存しているけど,Shell 100% で実装されているため,実行環境の構築が不要という手軽さが1番のメリットだと思う.github.comちなみに前回試したのは CircleCI + AWS CLI で ECS にデプロイする方法で,今回の...
View Article