2016-01-01から1年間の記事一覧
こんばんは。アドベントカレンダー Google Cloud Platform(2) 24日目担当の @ks888 です。 昨日の記事に続いて、AppEngine/Goのテストに便利なluci/gaeというライブラリを紹介していきます。昨日は簡単な紹介として、AppEngine/Goのテスト実行時間を短縮する…
こんばんは。アドベントカレンダー Google Cloud Platform(2) 23日目担当の @ks888 です。 突然ですが、luciというライブラリをご存知でしょうか。AppEngine/Goのテストに効果を発揮する素晴らしいライブラリなのですが、あまり使っているという話を聞きませ…
アドベントカレンダー ソフトウェアテスト6日目担当の @ks888 です。 ソフトウェアテスト Advent Calendar 2016 - Qiita 最近はNightmareでE2Eテストを書くことが増えてきました。Nightmareを使うと、例えば以下のような感じでテストを書けます。 var Nightm…
最近はLambStatusというOSSを作っているのですが、今回は、このプロジェクトでCIを回すためにLambCIを導入しようとした話です。結果は失敗に終わったのですが、つまづいた箇所とかが参考になるかもしれないので残しておきます。 LambCIとは LambCIは、AWS La…
前回の記事では、Go言語のスライスと文字列の値がメモリ上でどう表現されているか見てみました。今回はインターフェースへの理解を深めるべく、インターフェースの値がメモリ上でどう表現されているかGDBでみてみます。 インターフェースの値 まず、インター…
最近Go言語をよく触っています。触っているうちに、スライス、文字列、インターフェースなどの値がメモリ上でどう表現されているか知っておくと実装やデバッグ時に役立ちそうだなーと思うことが度々でてきました。そこでGo言語本体のソースコードを読みつつ…
今関わっているサービスは、GCPのGoogle App Engine (GAE) とGoogle Container Engine (GKE) を使って開発しています。そのサービスの監視にStackdriver Monitoringを使ってみたときのメモです。 現在の印象としては、かなり面白い機能はあるけど、基本的に…
これまでそれほど縁がなかったサーバレスですが、LambCIというOSSを使うとAWS LambdaでCI環境が作れるという話を聞き、ちょっと使ってみました。 GitHub - lambci/lambci: A continuous integration system built on AWS Lambda LambCIとは LambCIの紹介とし…
EC2でネットワークのパケット監視をしたい場合、どうするのがいいんでしょうか。商用だとDeep SecurityとかAlert Logicとかありそうですが、値段もそれなりにします。なんとかOSSでできないかということで、ネットワーク型IDS/IPSであるSnortと、ELK (Elasti…
最近Site Reliability Engineer(SRE)という職種やチームがよく話題になります。当初は、コードをよく書けるインフラエンジニアがふつうにやっていたことに名前を付けただけと思っていましたが、Googleの出しているSRE本(Site Reliability Engineering: Ho…
最近はAWS WAFを触っています。こういう防御ツールは、やはり攻撃をどれぐらい防いでくれるか気になります。AWS WAFの場合、SQLインジェクション系の脆弱性を探ってくれるsqlmapをかけたところ、攻撃をブロックしてくれたという記事があります。 記事を読ん…
前回の記事で、Digest認証がどうやって攻撃に対策しているかまとめました。いくつかの攻撃への対策として、nonceと呼ばれるワンタイムトークンが重要な役割を果たしていました。このnonceの生成方法は実装者に任せられているのですが、実際のWebサーバではど…
最近CTFをやってみたのをきっかけに、Digest認証のRFC(RFC2617)を読みました。今どきDigest認証を使うことはあまりなさそうですが、RFCにはセキュリティ面で考慮したことが色々書かれていて勉強になりました。古典大事。というわけで、いくつかの攻撃手法…
細々と開発を続けていたAnsible Playbook向けデバッガですが、ここ数ヶ月Ansible v2では動かない問題がありました。Ansible v2はPlaybookのレベルではv1との互換性を保持していますが、内部はがっつり書き換わっています。開発していたデバッガはAnsible内部…
3月12日に開催されたJAWS DAYS 2016に行ってきました。いくつかセッションを聞いてきたのですが、今回は[Deep Dive]Amazon Auroraセッションについて復習がてら書きます。 「クラウドソーシングLancers」を支えるAurora 【JAWS DAYS 2016】ランサーズを支え…
PackerがリモートホストへのAnsible実行に対応しましたね!リリースノート。これまでもAnsible LocalというProvisionerはありましたが、構成管理の対象になるホストにAnsibleがインストールされてしまう問題がありました。今回追加されたAnsible Provisioner…
最近あるロードバランサにさわった時、参考のためにLVSのlc(Least-Connection)スケジューラの実装を確認していました。lcスケジューラは文字通り、接続数が一番少ないサーバに処理を割り振るアルゴリズムを実装しています。ただ実際の実装を見ると、もう少…
前回に引き続き、昨年AWSサポートに質問した内容とその回答をまとめていきます。 CloudWatchのアラームがINSUFFICIENT_DATA状態になる条件について 背景と質問 CloudWatchのアラームは、OK、ALARM、INSUFFICIENT_DATAの3つの状態間を遷移します。このうち、…
あけましておめでとうございます。昨年もAWS上でインフラを構築・運用していく中で、AWSサポートにはずいぶんとお世話になりました。今回は年明け最初のブログということで、昨年AWSサポートに質問した内容とその回答をいくつかまとめてみたいと思います。 R…