kakakakakku blog

Weekly Tech Blog : Keep on Learning 👍

AWS

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 を操作するときに悩むことが多かったため,まとめておこうと思う. …

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

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

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

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

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

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

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

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

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

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

CloudWatch で ELB の「パーセンタイル統計」を可視化しよう

AWS

今日は CloudWatch の話を書こうと思う.既に活用してる人も多いと思うけど,2016年11月の新機能リリースで各種メトリクスの「パーセンタイル統計」を可視化できるようになった. 「パーセンタイル統計」は凄く重要で,平均値だけをモニタリングしていると気…

AWS Well-Architected Framework に5本目の柱 "Operational Excellence" が追加されていた

AWS

AWS を運用しているエンジニアなら読んだ人も多いであろう,2015年10月に公開された "AWS Well-Architected Framework" に実は大幅なアップデートが入っていることに気付いた.時期的には AWS re:Invent 2016 の直前で,AWS re:Invent 2016 で発表された新サ…

Amazon Athena で「郵便番号データ(CSV 形式)」を検索する

AWS re:Invent 2016 で発表されてからもう1ヶ月も過ぎてしまったけど,今さらながら Amazon Athena を実際に試してみた.検証記事は既に多く出てて,積極的に読んでいたけど,実際に動かしてみようと思った. 現在まだ東京リージョンには対応して無く,今回…

Amazon Elasticsearch Service を運用して学んだこと

「Amazon Web Services Advent Calendar 2016」20日目の記事を書くぞー! 最近 Amazon Elasticsearch Service を本番環境で運用していて,そこそこに運用経験がまとまったので,どこかで LT でもしようと思って先に発表資料だけを作っていたんだけど,年内に…

Amazon Elasticsearch Service で「手動スナップショット」を取得する

自動スナップショットと手動スナップショット Amazon Elasticsearch Service でクラスタのスナップショットを取得する場合,「自動スナップショット」と「手動スナップショット」の2種類がある. AWS 側で自動的に日次取得してくれるものを「自動スナップシ…

Codenize Meetup に参加して Infrastructure as Code ツールとオペレーションの実践的な話が聞けた

木曜日に Codenize Meetup に参加してきた.Codenize.tools には様々なツールがあって,有名なものだと Roadworker(Route 53 の設定をコード化) / Piculet(セキュリティグループの設定をコード化) / Miam(IAM の設定をコード化)など.タイミング良く R…

Route 53 の管理を自動化できる Roadworker を試して GeoLocation のエクスポートを直した

最近試していた Piculet に続き,Codenize.tools の中でも特によく使われてそうな Roadworker を試した.セキュリティグループほどの複雑さはないけど,ドメイン設定も管理コンソールで運用するのではなく,宣言的にコード化を進めて,レビュープロセスを通…

Piculet の動作を詳細に確認して運用フローを考えてみた

前回は Piculet を使ってセキュリティグループ設定と Groupfile の比較を CircleCI でチェックできるところまで試した.興味があったら是非以下の記事を見てもらえると! kakakakakku.hatenablog.com 今回は前回の続きで,主に --apply オプションを使った反…

CircleCI と Piculet でセキュリティグループを CI する

管理コンソールでセキュリティグループ設定を管理するのは限界があると思っていて,例えば以下のような状態になってしまうことがあると思う. 必要に応じて日々増えていくルール設定(無意識にポチポチと追加してしまう) 使って無さそうだから消したいけど…

知っておくと便利な Exponential Backoff

今日は社内勉強会で「知っておくと便利な Exponential Backoff」という発表をした.前回の「知っておくと便利な Bloom Filter」に続いてのタイトルで「知っておくと便利な」シリーズを確立していきたい. 実は Exponential Backoff という名称を知ったのは結…

AWS SDK for Ruby で S3 の暗号化(サーバサイド/クライアントサイド)を試してみた

S3 でオブジェクトの暗号化を検討する場合,大きく2種類ある. サーバサイド暗号化 暗号化/複合を AWS 側に任せる サーバー側の暗号化を使用したデータの保護 - Amazon Simple Storage Service クライアントサイド暗号化 暗号化/複合を自前で行う クライア…

fluent-plugin-aws-elasticsearch-service を使う場合は reload_connections を false にする

最近 Amazon Elasticsearch Service にログを転送している Aggregator の /var/log/td-agent/td-agent.log に以下のログが出力されていて,調査してわかった fluent-plugin-aws-elasticsearch-service を使う場合に必要な設定に関してまとめておく. 2016-10…

Amazon Elasticsearch Service の Kibana ダッシュボードでグラフが正しく表示されない場合がある

最近ずっと Amazon Elasticsearch Service の Kibana で変な事象に困っていて,現状すぐに解決する目処が立たなそうなため,ワークアラウンドで回避することにした.同じ事象に困る人もいそうだなと思って,簡単にまとめておこうと思う.もし AWS 側で解決し…

独自ドメインの取得が必須だった「JAWS-UG 朝会 #6」に参加して SES + Lambda を試した

「JAWS-UG 朝会」に参加してきた.今回で4回目! 自己紹介をしたときに,主催の @tcsh さんから「朝会の参加ブログを見ましたよー」と言ってもらえて嬉しかった! jawsug-asa.connpass.com テーマ 今回のテーマは Lambda BluePrint の "inbound-ses-spam-fil…

Curator 3 で Amazon Elasticsearch Service を扱う

最近 Amazon Elasticsearch Service の記事をよく書いてる気がするw 開発用のログ基盤ではあるけど,実際に導入は完了していて,既に運用している.今回はインデックスを Curator でハウスキーピングできるようにした話を書いておく.基本的には Elasticsear…

Amazon Elasticsearch Service で Kibana にアクセスポリシーを設定する方法ってある?

Amazon Elasticsearch Service に含まれてる Kibana に対して IP ベースのアクセスポリシーを設定したいと思って検証していたが,うまくできなかった.うまくできなかったけど,試したことを残しておこうと思う.もしかしたら僕の調査不足なだけかもしれない…

「JAWS-UG 朝会 #5」で Slack のスラッシュコマンドを実装した

毎月楽しみにしている 「JAWS-UG 朝会」に参加してきた.今回で3回目! jawsug-asa.connpass.com テーマ Slash Commands | Slack 今回のテーマは Slack のスラッシュコマンド(独自に拡張できる /xxx コマンド)をサーバレスアーキテクチャ(API Gateway + L…

Amazon Elasticsearch Service で Elasticsearch 2.3.2 にレストランデータを投入して遊んだ

Amazon Elasticsearch Service を試してみた 近々導入する可能性もあって,検証も兼ねて,先月に Elasticsearch 2 系に対応した Amazon Elasticsearch Service を試してみた. Elasticsearch domain を作成する 作成完了までのステップは計4個ある. Step 1:…

8/17 に出版された「合格対策 AWS認定ソリューションアーキテクト - アソシエイト」を読んだ

今月「AWS 認定ソリューションアーキテクト – アソシエイト」に合格して,勉強法は以下の記事に全てまとめた.そしたらなんと合格した翌週に合格対策本が出版されるというのを知って,改めて理解度確認と合格対策本のレビューも兼ねて,さっそく読んでみた.…

AWS Black Belt Online Seminar「AWS 上でのサーバーレスアーキテクチャ入門」に参加した

8/9 に開催された AWS Black Belt Online Seminar「AWS 上でのサーバーレスアーキテクチャ入門」に参加した.最近 Lambda など Serverless Architecture 全般に興味があって,勉強会に参加したり,Serverless Framework を試したりしている. kakakakakku.ha…

話題の Serverless Framework v1 の Quick Start を試してみた

最近よく聞く Serverless Framework の Quick Start を試してみた. v1 系と v0 系 で全然違うデザインになっていて,Quick Start の手順すら違う.試してみた系の記事をいくつか読んでみたけど,結構 v0 系が多く,具体的に言うと serverless project creat…

「AWS 認定ソリューションアーキテクト – アソシエイト」に合格した勉強法7選

今日「AWS 認定ソリューションアーキテクト – アソシエイト」試験を受けて無事合格した!業務経験なしのサービスも含めて約2週間頑張って勉強したから達成感がある.まさに「ソリューションアーキテクト」と言える実践的なクラウド設計を学べたし,約4ヶ月間…