ようへいの日々精進XP

よかろうもん

aws

最近ギョームでやったこと (5) 〜 Fargate で動いている ECS Scheduled Task (バッチ処理) のリソース使用量を計測出来るようにしました 〜

tl;dr なぜ こんな感じで... こんな感じで... (1) こんな感じで... (2) こんな感じに... なりました 実装にあたって得た知見等 Task metadata endpoint コンテナデザインパターン リソース (CPU 使用率, Memory 使用量) の計算方法 コンテナの起動順序の制御…

最近ギョームでやったこと (4) 〜 CloudWatch Alarm を ChatOps で運用出来るようにしてみた 〜

tl;dr 引き続き, ギョームでやったことの振り返りです. (決して, こればっかりやっているわけではありませぬ) YAMAP では, 各種システムの監視はメトリクスは CloudWatch で, 通知は CloudWatch Alarm を主に利用していますが, 最近, 定期的に発生する障害で…

最近ギョームでやったこと (3) 〜 コードで管理していない AWS インフラ構成を Github の Issue ベースで管理することにした 〜

tl;dr 施策 やりたいこと どんなふうにやったか どんな感じか 最後に そもそも 懸念点 そして ということで tl;dr タイトルの通りです. YAMAP 社内で既に利用されている AWS インフラの構成について, コードで管理した方がいいのかもしれないけど, ガッツリ…

最近ギョームでやったこと (2) 〜 もう 2019 年なのに, 今更だけど EC2 運用の ChatOps にチャレンジしているメモ 〜

tl;dr 課題 施策 概要図 YAMAP における bot 文化 自動起動, 自動停止 利用者の把握 サービスの起動, 停止, 稼働状況の確認 AWS Systems Manager Run Command (1) Run Command (2) あとは これから まとまっていないまとめ tl;dr タイトルの通りです. ChatOp…

最近ギョームでやったこと (1) 〜 EC2 のメモリ使用率とディスク使用率を監視するツールを作って, CircleCI で RPM パッケージを生成出来るようにした 〜

tl;dr 現在, 働いている会社 (YAMAP) では, EC2 インスタンス (OS は Amazon Linux がメイン) がまだ数台動いています. これらのインスタンスのメモリとディスクの使用率を CloudWatch のカスタムメトリクスに送りつけて監視を行いたかったのでツールを作り…

CircleCI から Serverless Framework で実装したアプリケーションを \\デプローイ// する #jawsug #jawsugfuk #circlecijp

tl;dr \\デプローイ// \\デプローイ// したいアプリケーション 要件 .circleci/config.yml AWS の認証情報 Lambda Layers Docker イメージの妥協 以上 あとは tl;dr 社内に Serverless Framework を使って実装したサーバーレスアプリケーションが増えつつあるので,…

AWS WAF を使って ALB に設定されているパス に対して IP 制限を施す Terraform サンプル

tl;dr こんなん感じ 検証環境 構成 Terraform など サンプル 以上 tl;dr ALB に設定されている特定のパスに対して, AWS WAF を使って IP 制限を施す設定を Terraform で作ってみたのでメモっておきます. 尚, 作成にあたり, 以下の各種記事を参考にさせて頂き…

goofys で S3 バケットをマウントするにあたって, 最低限必要な IAM Policy を調べた

tl;dr 全て許可ならなんでも出来る (by アンダコレ猪木 今回の構成 シンプルに さて 試すだけなら 仮想要件 まず, 権限無し ListBucket ポリシー ListBucketMultipartUploads ポリシー ファイルの閲覧と作成 ということで... goofys で S3 バケットをマウン…

「Amazon ECS のコンテナインスタンスはインスタンスタイプの変更は出来ない」という事を知った

tl;dr 今更次郎な話かもしれないけど, 「そうなんだ〜」と思うことがあったのでメモっておきます. どんなことなのか 「Amazon ECS のコンテナインスタンスってインスタンスタイプの変更は出来ない」ということです. 厳密に言うと, コンテナインスタンス EC2 …

BitBar で CloudWatch Alarm の状態を確認したいと思ったのでプラグインを作ってみた

tl;dr BitBar のプラグイン探し であれば, 作ろう リポジトリ こんな感じ 文字に色をつける アイコンをつける プラグインとして登録する One more thing... 以上 tl;dr もりごんさんに BitBar というナウでヤングなツールを教えて頂いたので, CloudWatch Ala…

ギョームで使うシェルスクリプトを社内に配布する方法を検討した

tl;dr シェルスクリプトサンプル 配布パターン (1) 〜 Amazon S3 に設置して配布する 〜 S3 バケットの設定 セットアップシェルスクリプト 実際の配布からスクリプトの実行までの流れ 配布パターン (2) 〜 Docker コンテナで配布する 〜 おっ, S3 よりもモダ…

AWS CodeBuild のビ・ビ・ビルドを実行したり, ビルドのステータスを確認出来るコマンドラインツールを作ってみたので, 何卒, ご容赦下さい

tl;dr bibuild これ bibuild で出来ること 使い方 インストール 例えば 実際にやってみる 以上 tl;dr 手元の端末で Docker ビルドするのって, Docker の環境を手元の端末に用意したりする必要があります. その環境を用意するにあたって, Mac や Windows 等の…

furikake-serverless を作った 〜 今夜は炊き込みご飯なので furikake は要らない 〜

これは tl;dr furikake-serverless チュートリアル 必要なもの (準備しておくもの) セットアップ sam で利用する S3 バケットを作成する git clone event.json の修正 sam の template.yml の生成 デプロイ しばらく放置しておくと 以上 これは qiita.com 初…

続・日本で 128 番目くらいに Ruby で AWS Lambda を試したメモ 〜俺のライブラリを Lambda で動かしたいけど...〜

追記 追記 (3) aws-sdk 以外の gem だけをロードする場合ってどうなのか 検証コード 以下のように furikake で利用する aws-sdk を除いて, 依存している gem を require してみます. require 'benchmark' def run(event:, context:) Benchmark.bm(10) do |r|…

AWS WAF の IPSet を管理するコマンドラインツール wafoo のそれから... 〜 gem 化してリリースしてみた 〜

これは tl;dr 以前と変わったところ IPSet 一覧表示 オクテットではない CIDR boundary のサポート べた書きコードを少しずつ... 以上 これは qiita.com 初老丸 Advent Calendar 2018 第 5 日目の記事になる予定です. tl;dr 以前に以下のような記事を書きま…

最近の furikake 〜 ご飯のおかわりは 2 杯まで 〜

これは tl;dr ということで トッピング機能 アドオン的な何か サンプル デーモン小暮 従来は デーモン化により 有難うございます Docker 化 リリースに octorelease を利用するようにしました 以上 これは qiita.com 初老丸 Advent Calendar 2018 第 2 日目…

furikake を gem 化してリリースしました

tl;dr ということで furikake の始め方が変わりました 詳細は セットアップ リソースタイプの実装 テストの追加 以上 tl;dr inokara.hateblo.jp 先日, 作成した furikake について, 色々と修正した上で gem 化してリリースしました. furikake | RubyGems.org…

AWS リソースを Backlog Wiki によしなにドキュメント化 (一覧化) するツール, その名も furikake を作った

tl;dr 作ったもの furikake 使い方 ちっぷす 以上 まだまだ awspec ということで tl;dr ギョームにて AWS リソース一覧を Backlog Wiki や Excel にまとめる度になんて不毛な作業をやっているんだろうと自問自答を繰り返しておりました. そう, EC2 を追加し…

AWS SDK for Ruby を利用した CLI ツールのサンプル的なものを実装検討した

tl;dr 作ったもの やっぱり Thor そーなんです あとは... コードをどーやって分割するか あくまでも ですので... テスト コマンドラインの実行をどのようにテストするか (1) コマンドラインの実行をどのようにテストするか (2) スタブ 2 つのアプローチ AWS …

amiCtrl をちょっとバージョンアップした

tl;dr 更新内容 アカウントに登録されている AMI 一覧を取得 JSON 出力 テストの追加 ということで tl;dr どうも, かっぱです. 世界で 100 万人の方々からご愛顧頂きたい EC2 AMI を作ったりする「俺のツールズ」シリーズの甘えん坊 amiCtrl をちょっとバー…

jekyll で作ったペライチページを S3 と CloudFront, ACM, Route53 でサクッと公開出来たのが心地よかったのでメモ

tl;dr jekyll 静的サイトを公開する為の準備 鉄板 ドメイン サーバー証明書 S3 + CloudFront デプロイ 以上 tl;dr oreno.tools というドメインを酔った勢いで取得して, いつかサイトを公開してみたいなと思っていたので, Jekyll という Ruby 製のサイトジェ…

俺のツールズ

俺が ほとんどを 直近で作ったやつは SSM パラメータストアを操作するやつ コマンドラインツールのテストをどうするか AWS のリソースをどうやって用意するか コマンドの出力結果をテストする ということで, pStore のテストは 以上 俺が 俺の為に AWS の EC…

JRuby で aws-sdk-ruby を動かす

tl;dr JRuby の導入 aws-sdk-ruby の導入 サンプル awspec は動くのか せっかくなので awspec の導入 awspec init テストを実行する 注意 以上 tl;dr たまたま aws-sdk-ruby に含まれている .travis.yml を見ていたら, 以下のように JRuby 環境でもテストを…

AWS Lambda で Node.js v4.3 がサポート終了になるので, v8.10 にアップグレードする為にテストを書いて検証してみた

tl;dr さて 本編 自動的に生成された Lambda ファンクション テストの観点 テストの準備 テスト用データの用意 テストコード テスト実行 以上 tl;dr 5 月の初めに AWS Lambda において, ランタイムとして Node.js v4.3 のサポートが終了になる旨のアナウンス…

CloudFormation で作った S3 バケットにおいて, オブジェクトが入っている状態でスタックを削除しようとすると軒並みエラーになるので, その対処方法について検討した #ただそれだけ

どうも どういうことなの? じゃあ, どうすれば良いのか DeletionPolicy で Retain を設定して, スタックの削除とは切り離す カスタムリソースを利用して, Lambda ファンクションでオブジェクトを削除してからバケットを削除する カスタムリソースについて …

Amazon Elasticsearch Service クラスタを作成するだけの CloudFormation テンプレートを作った #ただそれだけ

追記 (2018/06/09) 初めて VPC 内に Amazon Elasticsearch Service クラスタを作成する際, AWSServiceRoleForAmazonElasticsearchService という IAM ロールを作成する必要があります. この IAM ロールを CloudFormation で作成する方法を見つけることが出来…

(今さらジロー) AWS Lambda の Dead Letter Queue を試す

tl;dr うんちく Dead Letter Queue について Lambda の呼び出しパターン Serverless Framework で Dead Letter Queue (以後, DLQ とする) 各種コードについて サンプルプロジェクトの作成とデプロイ serverless.yml Lambda ファンクション DLQ を処理する La…

ゴールデンウィークスペシャル : AWS CodeBuild がローカル環境での実行をサポートしているとのことなので, ざっくりと試してみた

追記 (2018/05/05) tl;dr 環境 ローカル環境で AWS CodeBuild メリット ということで, CodeBuild 用 Dokcer イメージの取得 (作成) ローカル CodeBuild の Python 環境の準備 CodeBuild local agent のセットアップ サンプルアプリケーションをビルドしてみ…

shUnit2 で awscli を使ったシェルスクリプトのユニットテストを Travis CI と AWS CodeBuild で実行した際のメモ

tl;dr と言っても, まずはコードを御覧ください TravisCI で実行する .travis.yml 工夫したところ (イケてないかもしれないところ) Python 環境でやった awscli を利用する準備 実行結果 AWS CodeBuild で実行する AWS CodeBuild x GitHub buildspec.yml 工…

shUnit2 で awscli を使ったシェルスクリプトのユニットテストを書くまでの諸々

tl;dr shUnit2 shUnit2 とは shUnit2 で Hello World shUnit2 諸々 詳細については... Assert assertEquals assertNotEquals Setup/Teardown oneTimeSetup oneTimeTearDown ちなみに, setUp と tearDown awscli を使ったシェルスクリプトでテストする さて, …