サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Switch 2
kikumoto.hatenablog.com
さくらインターネットの環境でSiteGuard Liteが無償で使えますが、特に今年の6月にはNginx版も提供されるようになっていますね。 それまではApacheのみの対応であったので、Nginxを使っている身としてはちょっと縁がないかなぁと思っていたわけですが、Nginxが出たので利用し始めています。 ただ、仕方ないのですが、Nginxをソースからビルドしてインストールする、という手順となるのでそこが複数台のサーバにインストールするときに面倒だったり、一応バージョン管理もしたいので、イマイチでした。 なので、CentOS7限定(自分が必要だったので)ですが、SiteGuard Lite付きNginx RPMをビルドするためのDockerfileを作ったので公開します。RPM作成となるベースのNginxは、CentOS7向けに公開されているSRPMを使っています。 ついでに、ngx_mr
Y8 2017 spring in Shibuyaに参加してきました y8-2017-spring.hachiojipm.org 資料は connpass の方に上がってきているようですね。 connpass.com 諸々あって今年最初のコミュニティ型のカンファレンス参加。しかも久しぶりにスタッフではなく純粋に一参加者として行ってきました。 それなりのまとめはだれか書いてくれるだろうからそこは書かないですが、個人的には朝一の @oza_shu さんいよる speakerdeck.com がよかったですね。 自分はデスクトップアプリ・Webサービスのプログラミング業をしてからインフラに移っていった勢ですが、@oza_shu さんが気になったようところはやはり同じように気になってそこからいろいろ学べたので、@oza_shu さんのあげているポイントは特にこれから学ぼうとする人は参考にすると良い
YAPC::Asia Tokyoが一区切りを終えた 2015。いろんな枠を超えていたエンジニアのお祭りがなくなるのは、毎年同窓会のような感じでここでしか会っていなかった人たちと会う機会がなくなるのかと思うと、寂しい気持ちでした。 しかし、そのクロージングで @lestrrat さんより builderscon というの発表。 これがどうなるのかなと、すごい期待していました。 そして、2016年になって medium.com というアナウンスが。 この時からなにか自分にできることはないかと思い始めました。 その後、 【builderscon準備会】 build #1: とりあえず一回集まって色々ネタ出ししよう! - dots. [ドッツ] 【builderscon準備会】 build #2: ネタ出し+進捗 - dots. [ドッツ] に参加して、その縁で YAPC::Asia Hachio
iOS Developers Conference Japan 2016 iosdc.jp に当日スタッフとして参加してきました。 (ブログが YAPCスタッフ、JTF登壇と、カンファレンス系ネタが最近多いなと、書きながら感じてるところ) 前夜祭含め、受付をさせてもらってましたので、ほとんどの方とお会いさせていただた感じとなります。 懇親会リストバンドとTシャツを渡しを担当していました。 前夜祭から多くの方にご来場いただいて、カンファレンスとしても大成功といっても良いのではないでしょうか。 受付もご来場者みなさまのおかけで、また他の受付スタッフみなさまのおかけでほぼほぼスムーズにご入場いただけたかなと思います。 ところで、タイトルにも含ませていただきましたが、iOSDC 2016 のページ最下部に とあるのにお気づきでしたでしょうか? iOSDCは正式に powered by builde
Terraform 0.7がリリースされましたね。 Terraform 0.7 | HashiCorp このバージョンからterraform_remote_stateリソースがdeprecated扱いになっています。 今まで Terraformでの出力を別なTerraformで利用する場合、今まで以下のような感じであったと思います。 出力側 output "repo1_data" { value = "Repo1 Data" } これをRemote Stateとして、S3に保存するとします。以下のような感じで。 terraform remote config \ -backend=S3 \ -backend-config="bucket=bucket-name" \ -backend-config="key=remote.tfstate" \ -backend-config="region
先日(2017/7/24)に行われた July Tech Festa 2016 でトークが採択されたので話してきました。 タイトル: HashiCorp VaultでMySQLアカウント管理はもう怖くない 2016.techfesta.jp 基本的に前回のエントリ YAPC::Asia Hachioji 2016 mid in Shinagawaで話した、スタッフした! - kikumotoのメモ帳 と同じ内容をしゃべりました。 基本的に話した内容はスライドにある通りです。 一番のポイントは、Vault では認証基盤とアクセス管理対象を、Vault が提供している Auth / Secret Backend の範囲で自由に組みわせられるということです。 GitHub Token を使って、PostgreSQL のアカウント管理なんかもできてしまいます。これを理解していただけると、自分の環境
TL;DR 接続先がTLS1.1、TLS1.2 以降しか接続を許可しなくなるけど、環境そのもののアップデートができなくて、Proxy でとりあえず逃げたいという方向けです。 Squid を使った設定例を書いてます。(参考情報 - Intercept HTTPS CONNECT messages with SSL-Bump) 目次 背景 今回試す構成 Squid 3.5インストール 自己署名証明書作成 squid.conf SSL certificates cache directory 起動 結果 まとめ 背景 PCI DSSというクレジット業界におけるグローバルセキュリティ基準があるらしく(詳しくないです)、これのv3.2が2016/04/28が公開されました。 それによると、PCI DSSを取得している業者は 2016/06/30 までに TLS1.1 以上の通信をサポートしなければな
この記事は HashiCorp Advent Calendar 2015 - Qiita の23日目です。(1時間ほど早めに公開したのでブログの日付は22ですが) 前回の記事 Consul 0.6でユーザのいるshardを探す(Prepared Queryを使う) - kikumotoのメモ帳 の続編です。 id:fujiwara さんの Consul 0.6でユーザのいるshardを探す(Prepared Queryを使う) - kikumotoのメモ帳[consul] 数百万のPQがconsulに登録されても大丈夫なものだろうか2015/12/21 07:25 b.hatena.ne.jp というコメントを受けて、Prepared Queryを100万件突っ込んでみた結果をまとめます。 結果 先に結果を。 100万件PQを突っ込みましたが、DNSの応答は10件だけ登録のときも、100万
この記事は HashiCorp Advent Calendar 2015 - Qiita の第21日目です。(大人な事情により Hamee Advent Calendar 2015 - Qiita の第20日目でもあります。なので微妙な時間に公開) 概略 ユーザIDをベースにDBを分割(sharding)しているのですが、プログラムからユーザのいるshardを探すのにConsulを使えないかなぁと思って試している話。 Consul0.6のPrepared Queryを使って解決してみました。 目次 背景 前提 方法1(今回採用予定) 方法2 その他の方法 まとめ 背景 ユーザIDをベースにDBを分割(sharding)していると、プログラムからユーザのいるshardを探す必要があります。 これをどこかのメタDBサーバにするってのも良いんだけど、Consul使ってDNSで引っ張ってこれると使
この記事は MySQL Casual Advent Calendar 2015 - Qiita Elasticsearch Advent Calendar 2015 - Qiita Hamee Advent Calendar 2015 - Qiita の第4日目です。 TL;DR 開発者の皆さんに、CasualにMySQLスローログを分析しもらうために、Fluentd + Elasticsearch + Kibana でMySQLスロークエリを下図のようにビジュアライズしました。(Kibana上で EXPLAIN の結果も確認できるようにしてあります) ついでに、以下の Fluentd の filter plugin を作成しました。 kikumoto/fluent-plugin-sql_fingerprint · GitHub kikumoto/fluent-plugin-mysql_e
GCPのリソース、例えばGoogle Cloud Storageにアクセスする際に個人のアカウントを使って gcloud auth login などで認証すればgsutilでアクセスできるけれど、サーバーサイドのアプリケーションなどからアクセスする場合は個人のアカウントで認証したくはないですね。 このような用途のためにGCPにはサービスアカウントというのがあるようです。このサービスアカウントを使ってGCPリソースにアクセスする方法についてメモっておきます。 サービスアカウントの取得 Google Developer Consoleの "APIs & auth" -> "Credentials" -> "Add credentials" から "Service account" を選択します。 そうすると Key type として "JSON" か "P12" を選択できるので、"JSON"
オートスケールとかもろもろの理由からPull型デプロイに変えていきたいと思い、そうすると github.com を使いたいなぁとか思うわけです。 でも、Consul やら Serf まで今必要ないよなぁ、ということで Rundeck と組み合わせてみるといい感じになるのではと思いやってみました。 stretcher 作者である id:sfujiwara さんのエントリー YAPC::Asia 2015で発表してきました & ConsulとStretcherについて - 酒日記 はてな支店 にもある通り、stretcher は Consul / Serf なしに使えます。 Rundeck はインストール済みとします。Rundeck については下記リンクあたりをご参照いただくのがよいかと。 痒いところに手が届くバッチコントローラ「Rundeck」をご紹介! | 株式会社ロックオン社員ブログ ジ
ようやくはてなブログに移りました。 ということでその最初の記事を書く。 LinuxのアカウントはLDAP(やらIPA Server)とか使えば統合管理できるのだけど、MySQLのアカウント管理を一箇所で統合的に管理しようと思うと、その権限なども含めるとなんかよいソリューションがないように思える。 イヤ、こういうのあるよってあれば教えてください。 そこで、HashiCorpのVaultとLDAPを組み合わせると、ちょっとそれらしくMySQLのアカウント管理できるのではないかと思ってそれを試してみた。 Vault 起動 今回は、おおよそこういうことができる、ということを確認することが目的なので、Vault自体の可用性とかまで考えない。 dev モードで起動する。 $ vault server -dev 表示される root Token を使って、root として Vault にログインする。以
ApacheのLogFormatで %t を指定すると、リクエストの時間が表示されますよね。 複数のサーバのログを集めて結合すると、時間が秒レベルなのでソートしても微妙に順番が変になったりします。 なので、秒より精度の高い時間を出力しようと思いました。 使っているのが Apache2.2系なこともあり、2.2のカスタムログ書式を眺めても、特にミリ秒とかマイクロ秒で出力できる感じなかったので、調べて見つけたのが リクエスト時刻のミリ秒を表示する | うーたまっくす でした。 なるほどと思い、とりあえず mod_log_config.c がやっていることを見てみようと、なぜか手元には 2.4.3 のソースがあったのでそちらを見てみました。 そしたら、なんかこんなコードが。 else if (!strncmp(fmt, "usec", 4)) { fmt += 4; if (!*fmt) { f
Chef Server, Chef Client(Node), Knife Client と一通り環境が揃ったので、All about Chef ... — Chef Docsに従って、Recipeを書いて、Nodeに適応してみる。 Chefリポジトリの用意 cookbookを書いていくあたって、ローカルにChefリポジトリを用意する。これにはひな形が github に公開されているのでこれをもらってくる。今回は git はインストールしていないので tarball で取得し展開した。 $ wget --no-check-certificate https://github.com/opscode/chef-repo/tarball/master $ tar xzf opscode-chef-repo-9769e69.tar.gz $ mv opscode-chef-repo-9769e6
久しぶりの更新です。 Amazon VPCのいいところの1つは、固定プライベートIPを設定できるところですよね。 で、ちょうど固定プライベートIPで作業する必要があったので、オンデマンドm1.smallをVPC内に数インスタンス起動してたのですが、そこそこ費用がいってしまいました。 t1.microはまだVPCで使えないし、SpotInstanceだと固定プライベートIP指定で起動できないし、オンデマンドm1.smallでもそこそこ費用いくしと悩んでいたのですが、Elastic Network Interface(ENI)を使うことで、財布に優しい環境をつくることができました。 以下、やったことのメモです。 まずVPCを作っておきます。たとえば CIDR 10.0.0.0/16 で作って、Subnet を 10.0.0.0/24 としておく。このあたりは Wizardのデフォルト通りでOK
久しぶりにSwiftをさわることなり、以前からバージョンアップもされ、特に認証機能が大きく変わったので、再度インストールを試みたのでそのときのメモ。 今回は、認証機能である keystone のインストールについてメモっておく。参考にしたのは以下のサイト。 OpenStackの大容量ストレージサービス、Swiftの使い方 − TechTargetジャパン 仮想化 openstack/keystone · GitHub OpenStack Docs: Current ちなみに、この記事を書いている段階ではまだ各機能の詳細については理解してない。とりあえず、上記サイトを参考にして動かすことだけを目的とした。 構成 今回試した構成は以下のようなもの。 +ーー[認証サーバ(keystone)] [クライアント]ーー+ +ーー[プロクシサーバ]ーー+ーー[ストレージ1] +ーー[ストレージ2] +ー
さくらのクラウド(β)とAmazon VPCをつなげるテストをいろいろやっているのだけど、毎度Vyattaの設定ファイルとかを書くのが面倒なので、Amazon VPCからダウンロードする設定情報をVyatta向けに変換するツールを作成してみました。 ローカルで使うのであればrubyで多分書くのですが、需要があるか不明ですが他の方にも使いやすいように、Webツールという感じで公開してみました。 http://gen-vyatta-conf.fluxflex.com/ http://gen-vyatta-conf.peachbeach.info/ Javascript のみで完結していて、通信は一切しないのでPSKなどを抜くようなことは一切していません。ちなみに、Javascript はまだ勉強不足なので、いたらないところは多々あると思います、、、ご容赦を! 想定環境 とりあえず自分で試したと
decommission DataNode をクラスタから削除したい場合、前回書いたようにノードを停止してしまえば目的は果たせるけれど、停止により複製数が満たなくなるブロックができてしまい、自動複製されるまでにさらにノードが死んだりしたらデータ喪失になりかねない。 これを回避する目的で、decommission という仕組みがあるらしい。これは、複製を先に実行してからノードが停止される仕組みとなっている。 あるノードを decommission させるには、conf/hdfs-site.xml にあらかじめ dfs.hosts.exclude /path/to/exclude のように dfs.hosts.exclude パラメータに削除対象のノードを記述するファイルを指定しておく必要がある。そして、そのファイルには一行にひとつ、削除ノードの FQDN もしくは IP を記述する(必要あれ
分散ストレージ的なものを探していたら、OpenStackにSwiftというS3的なストレージがあることを知ったので、まずはどんなものか知るためにインストールしてみることにした。 そのときのインストールメモ。 インストール時に固定IPがあったほうがSwiftの手順に従いやすかったので、Amazon VPC内にEC2インスタンスをたててインストールしてみた。 対象の Linux は Ubuntu 10.04 で、これは Ubuntu のEC2StartersGuide - Community Help Wiki に載っている AMI を利用した。 手順の基本はChapter 3. Installing and Configuring OpenStack Object Storageの通り。若干、EC2のせい(?)なのか修正したところと、ドキュメント通りではうまくいかなかったところもあったので、
第8回JAWS-UGに参加して、そこで富士ソフトの飯尾さんが話したVPCの話題、面白かったです。 ということで、年内にAWS東京リージョンに追加されるはずのVPCを試しおかなきゃ、、、、 といっても、ネットワーク装置なんて持ってないので、さくらのVPSにVyattaを入れて接続することを試みたのでそれをメモしておく。 さくらのVPSにVyattaをインストール これは、 さくらのVPSにVyattaをインストール – BLOG.KAWATASO.NET を参考にして実施。 Amazon VPCの構築 今回は、AWS Management Consoleを使ってVPCを構築する。 以下のような流れで画面を操作する。 VPC タブを選択 Region は "US East" を選択 "Get started creating a VPC" ボタンをクリック "VPC with a Privat
昨日書いたさくらのVPSにchef-serverをインストール - kikumotoのメモ帳で作成したChef Serverに、Chefのclietやnodeを登録した手順をメモする。インストール対象はここでもさくらのVPS CentOS5.5 i386環境。 client, nodeが何かについてはChefを最速で使いこなすためのいくつかのポイント - Masatomo Nakano Blogが非常にわかりやすかった。 knife client Cookbookを作成してServerに反映(アップ)するためツールとしてknifeというものがあり、それをChef Serverのclientとして登録する必要がある。 rubyをインストールして、/etc/chef/solo.rbを記述するところまでは、serverと同じ手順。clientをインストールするためには ~/chef.jsonを以
久しぶりのブログ更新!! サーバを増やすときに各種パケッケージのインストールだけでなく、必要な設定も含めて自動化していきたいと思い、最近はChefを勉強中。 chef-serverをさくらのVPSにインストールしたときの作業をメモしておく。さくらのVPSへのchef-serverインストールについては、id:masa_to さんが、さくらVPSにchef-serverをインストールする - happytanの足跡 で「Manual Chef Server Configuration」に従ってインストールしたものを記述されていますが、とりあえず試してみたい(よくわかってなくて、手を抜きたい)私は「Bootstrap Chef RubyGems Installation」に従ってインストールしてみた。 インストール先は、さくらのVPS 512 の CentOS 5.5 i386。 Ubuntu
HDFS について調べてみた。使ってみたわけではない。 1. ファイルを分割して保存するかどうか 分割保存する。 2. サーバーやディスクが落ちても問題なくアクセスを受け付けられるか 受け付けられる。 3. サーバーやディスクが落ちたときにデータが失われないか 失われない。複製してくれる。ファイル毎に複製数を指定できる。 4. サーバーやディスクが落ちたとき、もしくはそれらが復帰したときに自動的にデータが修復されるか サーバが落ちると複製数を満たすように自動修復する。またデータが壊れていたら自動修復する。 5. データ量の偏りがないように自動的にデータを再配置することができるか できる予定みたい。 6. メタデータサーバの冗長化機能はあるか ない。NameNode は SPOF。Linux-HA + DRBD で対策可能だろうか?? 7. 読み込みの負荷分散 ファイルが分割されているという
google/internal/externalaccount: Adding metadata verification · golang/oauth2@ec4a9b2 · GitHub の変更により、以下の仕組みは hashicorp/google バージョン v4.59.0 移行では動作しなくなりました。 AWS FargateでAtlantisを動かして、AWSリソースに対するTerraformのPlanのレビューやApplyをPR上で行なっていたのですが、GCPリソースに対しても必要になってきたので、その時に行った作業のメモ。 なお、AWS Fargateで稼働するAtlantisから、GCPリソースを構築する - 失敗編 - kikumotoのメモ帳 で一度環境を作ったのですが、やり方がまずかったので改めて取り組んだメモとなります。 こちらの記事だけで話しが完結するように、一部
MogileFS には非公式ではあるが Java クライアントもある。 今回は http://github.com/davidsheldon/java-mogilefs/tree/master にあるライブラリを利用してみることにした。 ファイルの読み書き 取得したファイルの中に、TestMogileFS.java というのがあるので、それを見るとだいたい使い方がわかる。 MogileFS にファイルを格納する場合を抜粋すると以下のような感じ。ちなみに、ここで SimpleMogileFSImpl を使ったのは PooleMogileFSImpl を使うと、newFile の呼び出しでなぜか時間がかかったから。commons-pool 側の問題のように見えたので、とりあえず SimpleMogileFSImpl で試してみたということ。 MogileFS mfs = new SimpleM
すっかり間があいていましまったけど、最近 Android をいじり始めたのでそれについてメモを再開。 Android エミュレータの /system は adb remount で、書き換えはできるけれども、結局エミュレータを終了すればまた元に戻ってしまう。 毎回 adb remount して、adb push してなんかはしてらんないので、エミュレータの /system の実体である ANDROID_SDK_HOME/platforms/android-1.6/images/system.img を書き換える方法を調べてみた。 そすると、http://discuz-android.blogspot.com/2008/01/customize-google-android-systemimg-for.html にやり方があって、必要なバイナリは http://www.dotphone.or
Fedoraのレポジトリにあるrpmを利用して、CentOS5.2にMogileFSをインストールしたときの手順メモ。 システム構成 3台のサーバを用意して、1台をtrackerに、残りの2台をstorageとした。 IPやホスト名は以下の通り。 役割 ホスト名 IP tracker mogile1 192.168.251.61 storage mogile2 192.168.251.62 storage mogile3 192.168.251.62 MySQL の設定 MySQL のインストールについては省略。データベースサーバー構築(MySQL) - CentOSで自宅サーバー構築 にほぼ従った。 MogileFSが使うデータベースを以下のように準備した。 mysql> CREATE DATABASE mogilefs; mysql> GRANT ALL ON mogilefs.* T
GlusterFS について調べてみた。使ってみたわけではない。 1. ファイルを分割して保存するかどうか Stripe の設定をすれば分割する。ただし、GlusterFS FAQ からすると、勧めてはいない感じ。 2. サーバーやディスクが落ちても問題なくアクセスを受け付けられるか 分散ファイルシステム/ブロックデバイスをまとめる - Blog by Sadayuki Furuhashi だと×になっているけど、その後状況が変わったのか Replicate provides high-availability, i.e., in case one of the subvolumes go down (e. g. server crash, network disconnection) replicate will still service the requests using the
次のページ
このページを最初にブックマークしてみませんか?
『kikumotoのメモ帳』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く