読者です 読者をやめる 読者になる 読者になる

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ヶ月間…

AWS Black Belt Online Seminar「Amazon VPC」に参加した

AWS

8/3 に開催された AWS Black Belt Online Seminar「Amazon VPC」に参加した!今まで知らなかったことも多くて VPC の奥深さを感じることができた.特に Direct Connect や CGW などオンプレミス関連の話は業務で運用する機会がなく,知識が全く無いことに気…

「実践 SERVERLESS」に参加して Lambda 管理ツールの多さに驚いた

募集開始になってすぐ申し込んだ「実践 SERVERLESS」に参加してきた. classmethod.connpass.com Introducing Serverless Computing / @Keisuke69 AWS で Serverless と言うと Lambda 特徴はアーキテクチャ上に EC2 が出てこないこと Alexa と Slack と連携…

AWS Black Belt Online Seminar「Amazon Elastic File System」に参加した

AWS

7/27 に開催された AWS Black Belt Online Seminar「Amazon Elastic File System」に参加した!メモを残しておく. aws.typepad.com 資料 AWS Black Belt Online Seminar Amazon Elastic File System from Amazon Web Services Japan www.slideshare.net メ…

約半年も積読していた「Amazon Web Services 実践入門」を読んだら良書だった

はじめに 去年の11月に発売されてすぐ購入した「Amazon Web Services 実践入門」を約半年も積読していたんだけど,一通り読み終わって書評を書くのが今さらになってしまって,あまりのタイムラグに自分でも驚いている.とは言え,AWS を積極的に活用して Dev…

早起きをして「JAWS-UG 朝会 #4」に参加してきた

先月に引き続きで,朝 7:30 から開催される「JAWS-UG 朝会 #4」に参加してきた!前回「アルコタワー」と「アネックス」を間違えてご迷惑をお掛けした反省を活かして,今回は時間に余裕を持って目黒に到着して,目黒川付近で朝ポケモンを楽しんでいた. jawsu…

Well-Architected を徹底しようと誓った「AWS Premier Night #1」だった

水曜日に「AWS Premier Night #1」に参加してきた.120人枠に対して2倍の参加登録があった人気の勉強会で,参加できて良かったなと思っている.個人的には Well-Architected の話と EBS の話が特に良かった. classmethod.connpass.com AWS Well-Architected…

月曜朝から AWS を学べる最高の勉強会「JAWS-UG 朝会 #3」に参加してきた

今日は朝 7:30 から「JAWS-UG 朝会 #3」に参加してきた!出勤前に開催される勉強会って個人的には初だったけど,早起きできるし,スッキリした時間帯にインプットができるし,最高なのでは?という感じだった.何よりも,朝から意識が高まって,気持よく仕事…

AWS CLI で ELB に register しているインスタンスを操作するスクリプトを書いた

AWS CLI を使って ELB からインスタンスを deregister したり register したりするスクリプトを shell で書いてみた.ポイントは ELB の waiter 部分で,実際にインスタンスを deregister してもすぐには反映されないため,数秒間隔でチェックをするようにし…

ELB の Connection Draining 機能を試した

AWS

Connection Draining とは ELB には Connection Draining という機能がある.2014年3月に追加された機能で,現在新規に ELB を作成するとデフォルトで有効になっている(300秒).ただし,2014年3月時点で既に稼働していた ELB に関しては無効になっているた…

IAM で ELB の一部のアクションには ARN を指定できなかった

AWS

今日 IAM (AWS Identity and Access Management) のポリシーを書いてたんだけど,ELB (Elastic Load Balancing) のポリシーの仕様で基本的な勘違いをしていてハマった.開発者ガイドを読んだら全て書いてあったんだけど,自戒の念も含めて書いておく. NG ま…

AWS Lambda を使って LGTM 画像を生成する lambda-lgtm

昨日プロダクトで LT 大会があって,そこで発表した資料 + 詳細をまとめてみた. 一言で言うと,3時間で AWS Lambda を使って LGTM 画像を生成する lambda-lgtm を作ってみたって話で,コードは以下に Push してある. Kakakakakku/lambda-lgtm · GitHub LT …

s3cmd を入れてみた

AWS

今さらだけど,S3のオブジェクトをスクリプトから触りたくなったので s3cmd を入れてみた.便利! GUI操作なら Cyberduck が便利なので,用途に応じて使い分ける感じかな. Connect to Amazon S3 Bucket from the Command Line in OS X Mountain Lion $ s3cm…

IAMでワイルドカード指定のS3バケット名にのみアクセス権限を与える

AWS

タイトルのようなことがしたかったので,実際に自分のアカウントで試してみた. やりたいこと 以下のような S3 のバケットが存在していた場合に "s3-kakakakakku-hatenablog-com" を含むバケットだけにワイルドカード指定でアクセス権限を与える. s3-kakaka…

AWS (S3) 体験ハンズオンに行ってきた

今日は仕事を早めに切り上げて,AWS (S3) 体験ハンズオンに行ってきた.まだ S3 歴2週間ぐらいで知らないことが多いので,結構勉強になって良かった. kokucheese.com 勉強になったこと S3のオブジェクトは内部的にKVSのようなデータ構造になっている IAMで…

FlyData For Amazon Redshift に SQL Workbench から接続する

FlyData for Amazon Redshift に登録して,シュミレーションを1ステップずつ進めて行くだけで動作確認ができるので非常に楽チンにできている.その最後にある以下のシュミレーションを SQL Workbenchを使って試してみた.※MySQL Workbenchじゃないので注意!…