サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
okochang.hatenablog.jp
こんにちは、@oko_changです。 すでにご存知の方もいらっしゃると思いますが、Amazon Web Services実践入門という本を共著で執筆しました。 「いつ発売されるのか?」「本当に発売されるのか?」「もしかしてネタか?」という噂がまことしやかに囁かれつつも、いよいよ11月10日に技術評論社さんから発売されます(既に購入出来る店舗もあるようですよ)。 Amazon Web Services実践入門 (WEB+DB PRESS plus) 作者: 舘岡守,今井智明,永淵恭子,間瀬哲也,三浦悟,柳瀬任章出版社/メーカー: 技術評論社発売日: 2015/11/02メディア: 単行本(ソフトカバー)この商品を含むブログを見る ※ 私は8章(ELB)と9章(CloudWatch、AutoScaling)を担当しました ※ 電子書籍がお好みの方はこちらから 今までSoftware Desi
こんにちは、@oko_changです。 このブログではいくつかAWSのサービスをAWS SDK for Rubyを使って触ってるエントリを書いているのですが、今回はSQSにしてみました。 というのも、先日JAWS-UG東京に参加したのですが、@tottokugさんがSQSからSWFに移行した話をしていてまだこちらのブログではどちらもアップしてないなと思い立ったわけです。 SQSについて SQSのドキュメントっていうとやっぱりこれになるのかな。 20111215 12 aws-meister-sqs_sns_sdb-public from Amazon Web Services Japan 環境 Ruby 1.9.3 AWS SDK for Ruby 1.14.1 実行例 以下のように作成、メッセージのやりとり、削除までが確認出来ました。 ※これもスクリプトとかではないですよ。 感想 AWS
こんにちは@oko_changです。 先日、ELBののConnection Draining機能がリリースされました。 Connection Drainingの機能については、こちらのブログに参考にして、動作テストはこちらのブログに記載されているように大きなダミーファイルを使えば良さそうです。 環境 リリースノートを見るとAWS CLIはConnection Drainingに対応しているようです。 1.3.2より前のバージョンをご使用の方はsudo pip install --upgrade awscliをして下さい。 AWS CLI 1.3.2 Amazon ElasticLoadBalancing CLI version 1.0.34.0 (API 2012-06-01) テスト環境の作成 まず最初にテスト用のELBを作成します。 $ aws elb create-load-bala
こんにちは@oko_changです。 前回はFluentdについて記載しましたが、今回はFluentdからElasticsearchにログを転送してKibanaで可視化するまでをまとめておきたいと思います。 環境概要 前回の環境にElasticsearchとKibanaを追加するイメージです。 CentOS6.5 Elasticsearchのセットアップ インストールは公式にあるようにYumのリポジトリを追加して簡単に出来ます。 javaが必要なので、それもインストールしておきます。 # rpm --import http://packages.elasticsearch.org/GPG-KEY-elasticsearch # cat >> /etc/yum.repos.d/elasticsearch.repo <<'EOF' [elasticsearch-1.0] name=Elasti
こんにちは@oko_changです。 すでに色々な方がまとめていますが、やっぱり自分なりにブログにまとめたほうが覚えやすいので今回はfluentdについて書きます。 Fluentdとは? こちらを見るのがやはり早いですかね。 環境 どちらもCentOS 6.5を使用しています。 今回はFluentdを使ってローカルのファイルに保存しつつ、転送先にも保存するまで確認します。 転送元環境 インストール前 Fluentdについては色々な方がブログとかでもまとめているので、そちらを参考になりますが、公式ドキュメントもとても充実していました。 ここにFluentdをインストール前にするべき事が記載されていますので、設定します。 ※limits.confとsysctl.confにそれぞれ追記する # vi /etc/security/limits.conf root soft nofile 65536
こんにちは、@oko_changです。 以前の記事でPackerを使ってAmazon LinuxをカスタマイズしたAMIを作成しました。 同じような感覚でMarket Placeで配布されているCentOS公式のAMIを使ってみたら少しハマってしまったので、今回はその事についてメモを残しておきたいと思います。 環境 Mac OSX Packer 0.3.9 CentOS 6 (x86_64) - with Updates ハマったこと CentOS公式のAMIを使う上で必要な点を修正しつつ、同じようなjsonファイルを作成してPackerからAMIを作成します。 その後AMIからインスタンスを起動したところ、起動時に指定したキーとペアになる秘密鍵でSSH接続が出来ませんでした。 原因 PackerでAMIを作成した場合、作成する時に使用したテンポラリのSSH公開鍵はそのまま/root/.s
試してみたいなと思いつつ手をつけられていなかったDockerを少しだけ触ってみたので、ログを残しておきたいと思います。 DockerはDocker inc.社がオープンソースで公開しているコンテナ型の仮想化ソフトウェアですが、以下の記事などを見たらイメージがしやすかったです。 コンテナ型仮想化「Docker 0.7」リリース。主要Linuxディストリビューション全対応、ストレージドライバ同梱、コンテナ命名も可能に - Publickey Linuxコンテナを手軽に扱えるDockerを使ってみよう | KVH Blog http://www.infoq.com/jp/articles/docker-containers http:// http://ja.wikipedia.org/wiki/LXC http://ja.wikipedia.org/wiki/Cgroups 環境 Vagr
先日、Redshiftの事をブログにしましたが、私個人にとっては使い続けるとお金が厳しそうです。 そんなわけで、今回は安定のRDS(使用するのはt1.micro)についてブログを書きたいと思います。 RDSの運用Tipsとして、日次で手動スナップショットを取得するスクリプトを見かけます。 ※RDSで自動取得するものとは別で取得しているもので、Create DB Snapshotってやつです 『RDSで自動取得されるスナップショットはDBインスタンスが削除されてしまうと、スナップショットも削除される』という事がその大きな理由だと思います。 しかしながらこれにちょっとした問題があります。 スナップショットを2回取得しているので、I/O瞬断も2回発生しちゃう ※Multi-AZの方はスナップショットがスレーブから取得されるので、マスターには影響ないですよ そんなケースではCopy DB Snap
@oko_changです。 先日、AWSから待望のPostgreSQL版RDSがリリースされました。 PostgreSQL版も他RDSと同じように設定はParameterGroupで行うのですが、どのようなパラメータが設定不可となっているのかを一覧にしたのでメモしておきます。 Amazon Web Services ブログ: 【AWS発表】Amazon RDS for PostgreSQLがご利用可能になりました! 環境 OSX awscli 1.2.5 jq 1.3 確認手順 PostgreSQL用のパラメータグループを作成 $ aws rds create-db-parameter-group \ --region ap-northeast-1 \ --db-parameter-group-name okochang-postgres-93 \ --description "creat
こんにちは@oko_changです。 今回は先日対応されたELBのCross-Zone Load Balancingについて書いてみたいと思います。 Elastic Load Balancing Announces Cross-Zone Load Balancing 上記リンクには、今までのELBは各AZのEC2インスタンスへの分散はDNSに依存する部分があり、DNSのキャッシュ次第では各AZへのトラフィック分散が偏ってしまう可能性があったと書かれています。 しかしこのCross-Zone Load Balancingを有効にする事で、DNSのキャッシュを気にすることなく各AZのEC2インスタンスに同じようにトラフィックが分散されるようです。 ※英語なので間違ってたらごめんなさい>< 今回の検証構成 以下のようにシンプルな構成です。 Cross-Zone Load Balancingを有効
こんにちは@oko_changです。 前回はRDSをリージョン間でレプリケーション構成にしてみましたが、今回はこちらも少し前にサポートされたRDSスナップショットのリージョン間コピーを試してみたいと思います。 Amazon Web Services ブログ: 【AWS発表】 Amazon RDSのリージョン間スナップショットコピーが可能に 環境 今回はMac OSXにインストールされたRDS Command Line ToolkitとAWS Command Line Interfaceの両方で試してみます。 それぞれのインストール方法は以下をご参考下さい。 RDS Command Line Toolkit AWS Command Line Interface RDS Command Line Toolkitの場合 バージョンを確認しておきます $ rds --version Relatio
こんにちは@oko_changです。 少し前の話になりますが、オンプレミスのMySQLからRDSへ、RDSからオンプレミスのMySQLへレプリケーションを行うことが出来るようになりました。 Amazon Web Services ブログ: 【AWS発表】 オンプレミスのMySQLデータをAmazon RDSへ移行する(その逆も) ということはRDSからRDSへのレプリケーションも出来そうというなので、試してみました。 あ、RDSを使えばReadReplicaで簡単にレプリケーション構成を組む事が出来ますよ! ※11/15(金)追記:クロスリージョンのリードレプリカが発表されました [速報]Amazonクラウド、データベースを地理分散する「Amazon RDS Cross-Region Read Replicas」「Redshift Snapshot Copy」発表。ディザスタリカバリを容易
こんにちは@oko_changです。 少し前に自分で作成したVPC内にEC2インスタンスを起動する時に、PublicIPを自動で割り当て出来るようになりました。 前回のアップデートでは、Auto Scalingで使用する事は出来ませんでしたが、今回アップデートされた内容でAuto Scalingにも対応されたようです。 というわけでちょっと動作確認してみました。 環境 $ as-version Amazon AutoScaling CLI version 1.0.61.3 (API 2011-01-01) 手順 public IP address associationに対応したAuto Scaling Command Line Toolをダウンロードしてセットアップします。 セットアップ方法は以前まとめているエントリが参考になると思います。 $ cd ~/src/ $ unzip Aut
こんには、@oko_changです。 最近、Vagrant入門ガイドという本も発売されていろいろな環境でVagrantが使用されているようです。 自分の好みのVMを簡単に起動したり、接続したり出来るので色々捗りますね。 私の場合はvagrant-awsを使ってEC2インスタンスを起動することが多いのですが、以下のようの事案が発生しないか心配になってきました。 『最近、AWSの使用率が高いみたいだけど、まさか調子に乗ってオンデマンドインスタンスとか使ってないよね?』 『DevOpsだか何だか知らないけど、いい加減にしなさいよ!!!』 せっかく便利なのに、これは困ります。 ということで、今回はVagrantでスポットインスタンスを使うまでの流れをまとめます。 環境 Amazon LinuxにVagrantインストールして、そこからUbuntuを起動しましたが、OSXなどの手元の環境でも基本は同
こんにちは@oko_cangです。 前回のブログでPackerをとりあえず使ってみましたが、今回はもう少し作成するAMIに手を加える部分をまとめておきます。 前回の内容に付け加えるもの ルートデバイスのEBSを拡張してAMIを作る Amazon Linuxに簡単な初期設定を加える 公式で提供されているAmazon Linuxはルートボリュームのサイズが8GBのEBSを使用するので、これをもっと大きなEBSにします。 また、拡張したEBSをファイルシステムからも認識させたり、タイムゾーンを設定したりなど簡単な初期設定もした状態でAMIにします。 設定ファイル 実際に出来上がった、設定ファイルは以下の通りです。 作成するAMI名が前回と同じもにになっているので、適宜書き換えます。 ※access_keyとsecret_keyはそれぞれ自分のものに置き換えて下さい。 $ cat ~/.packe
こんにちは、@oko_changです。 すでに色々な方がブログで記事にしたりしていますが、僕もPackerを使った記録を残しておきます。 Packerは公式サイトにもある通り、ひとつの設定ファイルで様々なプラットフォームのマシンイメージを作成するようなツールです。 私の場合はAWSを使う事が多いので、自分専用のAMIを簡単に作るツールという感じで使えそうですね。 ダウンロードページ ダウンロードは公式サイトのダウンロードページからお使いのプラットフォームに対応したものを選べばOKです。 今回は僕のMBAにセットアップするのでMac OS Xをダウンロードしましたが、色々な環境で使うことが出来るのも良いですね。 ※現時点でのバージョンは0.3.7 セットアップ セットアップは簡単で、ダウンロードしたファイルを解凍してPATHを通してあげればOKです。 $ mv ~/Downloads/0.3
blogを移行したばかりなので、少しだけ『ブログを書く!』という気持が燃え上がっています。 さて、AWSを使ってる方でEC2インスタンスに複数のEBSボリュームを接続してRAID0を構成している方を見かけます。 EBSのI/Oを向上させるためにテストされた方が多いと思うのですが、そちらを参考にしつつRAID1をテストしてみました。 複数作ってもインスタンスにアタッチ出来るのは同じAvailability Zoneのものだけですし、簡単にスナップショットを作れるのでテストした人は少ないかも。 それでもRAIDの実験だけにHDDを買うのはもったいないので、そんな時はEBSが便利です。 テストに使用したのはAmazon LinuxのAMIです。 AMIからインスタスを起動して、インスタンスと同じAZに10GiBのEBSを2つ作成しました。 作成した2つのEBSを/dev/sdfと/dev/sdg
RubyでPingを実行したいなーと思って調べていたらPing.pingechoというものがヒットしたのですが、どうやら1.9から削除されてしまったようです。 他になにかないかなーと思ってしらべていたらnet-pingというものがあるようです。 インストール $ gem install net-ping 使い方 こんな感じで使う事が出来ます。動作確認した環境は以下の通りです。 ruby 1.9.3 net-ping 1.5.3 参考リンク http://rubydoc.info/gems/net-ping/1.5.3/Net/Ping/ICMP http://d.hatena.ne.jp/iseebi/20070608/p1
こんにちは@oko_changです。 ELB配下のEC2インスタンスをstop状態にする場合、停止する前にELBの分散対象から外してからstopします。 ELBからEC2へは定期的にHealth Checkが行われ、失敗がUnhealthy Thresholdで設定した回数に達すると分散対象から除外します。 そのため、ELBの分散対象から外さずにstopしたりすると若干ながらダウンタイムが発生します。 また、そのまま起動したとしてもELBからは正常にトラフィックを分散されないので注意が必要です。 本番環境ではあまりないかもしれませんが、テスト中や夜間に一部のサーバを停止する事はあるかもしれないので簡単なスクリプトを作ってみました。 環境 Amazon Linux Ruby 1.9.3 AWS SDK for Ruby 1.15.0 IAM Role割り当て 構成 停止する時はスクリプト経由
こんにちは@oko_changです。 先日Simple Workflow Service用のRuby版フレームワークであるAWS Flow Frameworkがリリースされたので、今回はこれについて書いてみようと思います。 SWFについては以下のドキュメントが参考になると思います。 [AWSマイスターシリーズ]Amazon Simple Workflow Service (SWF) from Amazon Web Services Japan チュートリアル 今回やってみたことはDeveloper GuideのGetting Started: "Hello, World!"ですが、英語版のビデオチュートリアルもあり内容はどちらもほぼ同じです。 サンプルプログラムのダウンロード こちらからサンプルプログラムのダウンロードが出来ます。 ダウンロードしたファイルを解凍するとSamplesディレク
こんにちは。 前回の記事で遊びでRailsのお問い合わせフォームを作ったりしていたので、今回はRailsアプリを実行させる環境を作った作業をまとめておきたいと思います。 今回も内容はほとんどこちらのまんまです。 環境 いつもながらざっくりですが、以下のような環境で試しています。 Amazon Linux(作業時の最新 rbenv Ruby 1.9.3 Passenger 構築手順 必要なパッケージをインストールします。 $ sudo yum install git gcc make zlib-devel libxml2-devel libxslt-devel readline-devel openssl-devel gcc-c++ httpd httpd-devel curl-devel sqlite-develrbenvをインストールします。 $ git clone git://gith
こんにちは。 以前Amazon SESをSMTPインターフェースで使う時のまとめというエントリを書きましたが、遊びでRailsのお問い合わせフォームからSESでメールを送信させていたのでログとして残しておきます。 内容はほぼこちらの内容のまんまです。 環境 以下の環境で動作確認をしています。 Ruby 1.9.3 Ruby on Rails 3.2.13 手順 最初にRailsのプロジェクト(infra-apps)を作ります。 $ rails new infra-apps $ cd infra-apps/application.rbにSESのSMTP情報を入力します。 以下の例ではSMTP情報を環境変数から取得しているので、.bashrcやら.rvmrcで別途設定をしておいて下さい。 $ emacs config/application.rb require File.expand_pat
こんにちは。 RubyのSDKで色々なAWSのリソースを操作して来ましたが、今回はIAMをやってみようと思います。 EC2やRDSとかは結構スクリプトにする機会が多いけどIAMとかはあまり触った事がないかも。 手順の概要 アカウントエイリアスの作成 ユーザー作成と権限付与 グループ作成と権限付与 ユーザー設定 Roleの作成 作成したリソースの削除 環境 Ruby 1.9.3 AWS SDK 1.10 実行例 以下のように作成から削除までが確認出来ました。 ※今回もスクリプトとかではないです。 まとめ 同じようなのユーザーをたくさん作るときとかには使えたりするのかなー。 参考 http://ruby.awsblog.com/post/TxP3XGEX8F3SHX/IAM-Roles-for-Amazon-EC2-Instances-Credential-Management-Part-4
こんにちは、かなり久しぶりの更新となりました。 AWS SDKを使ってEC2やらRDS、ElasticacheなどをVPC上に作成してみましたが、まだVPCの作り方をまとめていませんでした。 そういうわけで今回はSDKでVPCを作ってみたいと思います。 手順の概要 VPCの作成 各種ゲートウェイの作成やアタッチ サブネットの作成 ルートテーブルの作成と設定 作成したリソースの削除 環境 ruby 1.9.3 aws-sdk 1.8.3 実行例 以下のように作成から削除までが出来ます。 ※スクリプトではないです まとめ VPCがどのように構成されているかを理解していれば、SDKでの作成手順もすんなり理解出来ます。 NATインスタンスでHA構成を組む場合など、フェイルオーバースクリプトでVPCのリソースを扱う機会もあります。 VPCも一度くらいSDKで作ってみるのもアリかなと思いました。
先日JAWS-UG東京に参加しながらTwitterでこんな会話をしていました。 対応したディストリビューションだと、カーネルフックモジュール追加出来るみたいすね。 bit.ly/V3ibmL RT @hashiva: AWS上でインストールしたServerProtectってリアルタイムスキャンできましたっけ?Windowsかな。 #jawsug— 柳瀬 任章(やなせ ひであき)さん (@oko_chang) 2013年2月8日 Trend Micro社のServerProtectはカーネルが対応していればリアルタイム検索も出来るみたいだったので、ちょっと自分でも調べてみようかなーと思って試してみる事にしました。 使用したAMI 最近CentOSの公式AMIがAWS MarketPlaceで配布されるようになったので、今回はこちらを使ってみたいと思います。 ami-6644fa67 インスタ
ハッと気づいたらどうやら約1ヶ月ブログを放置していたようです。 そろそろ書かなきゃというのと、Provisioning Frameworks Casual Talks vol.1というChefとかPuppetとかの勉強会に参加する予定なので、予習がてらブログを書きます。 やる事 VPC内のAmazon LinuxにVagrantを入れる Vagrantを使ってVPC内にUbuntuを起動してみる Amazon LinuxにChefとknife-soloをインストール knife-soloを使ってUbuntuにChef soloをセットアップ UbuntuはNATインスタンス経由で外部と通信 環境 Amazon Linux Ubuntu 12.04 chef 11.4 knife-solo 0.3.0 ざっくり構成図 手順 Amazon Linuxに必要なパッケージをインストールします。 $
以前、RDSのCopy DB Snapshotを使おうという記事を書きました。 特に『バックアップウィンドウで自動的に取得されるスナップショットは、RDSを削除してしますと一緒になくなってしまうから』という理由で日次のバッチジョブとかで取得しているようなケースではコピー機能を使う方が良いと個人的には思います。 手動によるスナップショットとコピー機能の使い分けを考えてみると以下のようになりそうです。 手動のスナップショット作成 任意の時間に1回スナップショットを保存したい コピーによるスナップショット保存 日次ジョブでスナップショットを保存したい また、バックアップウィンドウによる自動バックアップは1日に1回なので、1日に複数回スナップショットを取得したい場合は手動スナップショットを使う必要がありそうです。 というわけでコピー機能を使った日次保存のスクリプトを作ってみました。 使う場合はバッ
最近AWS SDK for Rubyを使ってAWSのサービスを起動しては即削除しているのですが、よく考えたらEC2は起動していませんでした。 ※Management Console便利ねー☆(ゝω・)vキャピ という訳で今回はEC2のインスタンスを起動するまでの流れを確認してみたいと思います。 手順の概要 セキュリティグループの作成とルール追加 SSHキーのインポート インスタンス起動 もろもろ確認する 再起動してみて削除 環境 ruby 1.9.3 aws-sdk 1.8.3 実行例 具体的には以下のように実行していきます。 ※スクリプトではないですよ ※サンプルではSSHがどこからでも許可されていますが、実環境ではそんな事しないでくださいね 今回、AMIはAWSで提供しているものを使用して確認しました。 動作確認 SSHで接続出来ればOKです $ ssh -i .ssh/mba-ya
ChefやPuppetで構築した環境のテストはどうするという議論があると思いますが、TLを見ていると@mizzyさん製のServerspecというありがたいとものがあるらしいので、READMEに書いてある部分まで試してみました。 そこまでの記録を(ほぼREADMEのままですが)残しておきたいと思います。 環境 Serverspecを入れる環境 OS X Ruby 1.9.3 テストされる環境 Amazon Linux 環境準備 まずはServerspecをインストールします(Rspecが入ってない場合はそちらもインストールします)。 $ gem install rspec $ gem install serverspecお好みのディレクトリでserverspec-initを実行すると対話形式でテスト環境の設定が出来ます。 今回テスト先の環境はAmazon Linuxなので、Red Hatを
次のページ
このページを最初にブックマークしてみませんか?
『okochangの馬鹿でありがとう』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く