okochangの馬鹿でありがとう

ふらふら適当に世間を生きる日々でございます

Vagrant、Chef Soloでの環境構築からserverspecでのテストまでをJenkinsでビルド

こんにちは@oko_changです。 今回の内容は前回の続きになっており、Packer、Vagrant、Chef Soloでの環境構築からserverspecまでのテストをJenkinsでビルドをしてみたいと思います。 環境準備 OSXにJenkinsをインストールする。 $ brew install jenkins Jenk…

Packer、Vagrant、Chef Soloで構築した環境をserverspecでテストする

こんにちは、@oko_changです。 伊藤直也さんのブログにあるこちらの記事は読んでいたのですが、自分でもう少し整理したかったので今回はその内容を残しておきます。 構成 OSXに以下のツールをインストールしてありま、レシピの適用とテスト先のサーバがAWS…

awscliでVPCのDHCP Options Setの設定をする

VPCにはDHCP Options Setという機能があり、DHCPで設定される設定をカスタマイズ出来ます。 今回はawscliでの設定方法と、カスタマイズされた設定の確認をしたいと思います。 環境 今回動作確認した設定はDNSサーバの設定と、NTPサーバの設定で、動作確認に…

awscliを使ってIAMユーザーを作成・削除する

AWSのIAMアカウントを複数作るときにManagement Consoleで作業をすると時間もかかってしまいますし、ミスも多くなります。 そういうときはコマンドラインツールを使ったりSDKを使った方が楽が出来るので、IAMユーザーの作成手順を残しておきます。 環境 aws-…

AMIを作成し、インスタンスの情報をSimpleDBに保存するスクリプト

こんにちは@oko_changです。 年始のブログでAMIを作成時にインスタンスの情報をタグに保存するというのを書いていました。 さらに、前回AWS SDK for RubyでSimpleDBを操作する方法をまとめたので、今回はインスタンスの情報をSimpleDBに保存するのを書いて…

AWS SDK for RubyでSimpleDBを操作する

こんにちは@oko_changです。 自分ブログにもSimpleDBの爪痕を残しておこうと思ったので、AWS SDK for RubyでのSimpleDBの使い方をまとめておきます。 SimpleDBとは?というのは以下の記事などが参考になると思います。 SimpleDBを使ってみました - サーバー…

CentOS6.5でDockerを少しだけ使ってみた

試してみたいなと思いつつ手をつけられていなかったDockerを少しだけ触ってみたので、ログを残しておきたいと思います。 DockerはDocker inc.社がオープンソースで公開しているコンテナ型の仮想化ソフトウェアですが、以下の記事などを見たらイメージがしや…

EC2インスタンスを使ってAuto Scalingを設定する

こんにちは、@oko_changです。 Twitterを眺めていたら新年早々Auto Scalingに新しい機能がリリースされているようなので、少し触ってみました。 リリース内容の詳細はこちらのリンクに記載されているので、リンクをご覧ください。 環境 Auto Scaling Comman…

あけましておめでとうございます。

昨年は達成できた目標よりも出来なかった目標の方が目立ってしまうという結果でしたので、今年はより精進が必要そうです。 このブログももう少し幅広い内容に出来たら良いなと思います。 さてさて昨年末に書きかけになっていたスクリプトを放置していたので…

Termination Protection 対 Auto Scaling

こんにちは@okoc_changです。 Auto Scalingを使っていると、必要なタイミングでインスタンスが起動することが出来ますし、必要がなくなったタイミングでインスタンスを削除することが出来ます。 また、EC2にはTermination Protection(disable-api-terminat…

PostgreSQL版RDSのパラメータグループで変更不可のものを一覧する

@oko_changです。 先日、AWSから待望のPostgreSQL版RDSがリリースされました。 PostgreSQL版も他RDSと同じように設定はParameterGroupで行うのですが、どのようなパラメータが設定不可となっているのかを一覧にしたのでメモしておきます。Amazon Web Servic…

ELBのCross-Zone Load Balancingを試してみる

こんにちは@oko_changです。 今回は先日対応されたELBのCross-Zone Load Balancingについて書いてみたいと思います。Elastic Load Balancing Announces Cross-Zone Load Balancing上記リンクには、今までのELBは各AZのEC2インスタンスへの分散はDNSに依存す…

コマンドラインでRDSスナップショットのリージョン間コピーをやってみる

こんにちは@oko_changです。前回はRDSをリージョン間でレプリケーション構成にしてみましたが、今回はこちらも少し前にサポートされたRDSスナップショットのリージョン間コピーを試してみたいと思います。Amazon Web Services ブログ: 【AWS発表】 Amazon R…

東京リージョンのRDSからシンガポールリージョンのRDSにレプリケーションをしてみる

こんにちは@oko_changです。 少し前の話になりますが、オンプレミスのMySQLからRDSへ、RDSからオンプレミスのMySQLへレプリケーションを行うことが出来るようになりました。Amazon Web Services ブログ: 【AWS発表】 オンプレミスのMySQLデータをAmazon RDS…

Packerを使ってCentOS公式AMIから独自のAMIを作成する

こんにちは、@oko_changです。 以前の記事でPackerを使ってAmazon LinuxをカスタマイズしたAMIを作成しました。 同じような感覚でMarket Placeで配布されているCentOS公式のAMIを使ってみたら少しハマってしまったので、今回はその事についてメモを残してお…

VPC内でのPublicIP自動割り当てをAuto Scalingから使う

こんにちは@oko_changです。 少し前に自分で作成したVPC内にEC2インスタンスを起動する時に、PublicIPを自動で割り当て出来るようになりました。 前回のアップデートでは、Auto Scalingで使用する事は出来ませんでしたが、今回アップデートされた内容でAuto…

Vagrantでスポットインスタンスを使う

こんには、@oko_changです。 最近、Vagrant入門ガイドという本も発売されていろいろな環境でVagrantが使用されているようです。 自分の好みのVMを簡単に起動したり、接続したり出来るので色々捗りますね。 私の場合はvagrant-awsを使ってEC2インスタンスを…

Packerを使ってAmazon EC2のAMIを作る(2)

こんにちは@oko_cangです。 前回のブログでPackerをとりあえず使ってみましたが、今回はもう少し作成するAMIに手を加える部分をまとめておきます。 前回の内容に付け加えるもの ルートデバイスのEBSを拡張してAMIを作る Amazon Linuxに簡単な初期設定を加え…

Packerを使ってAmazon EC2のAMIを作る(1)

こんにちは、@oko_changです。 すでに色々な方がブログで記事にしたりしていますが、僕もPackerを使った記録を残しておきます。 Packerは公式サイトにもある通り、ひとつの設定ファイルで様々なプラットフォームのマシンイメージを作成するようなツールです…

sshd_configの条件分岐設定

こんにちは。 今までやろうと思った事がないのですが、sshdの設定で条件を使ってみます。 グループとかホストとかも条件に指定出来るみたいです。 分かりやす例として以下はokochangユーザーだけパスワード認証を有効にします。 ※『PasswordAuthentication n…

新しいAWSコマンドラインインターフェースをアップデートする

こんにちは、そしておめでとうございます! ということで、新しいAWSコマンドラインインターフェース(CLI)が正式版になったみたいです。 そんなわけで自分のPCにインストールされているのをアップデートしました。 バージョナップログ ふ、古いバージョン…

スポットインスタンスの価格をCloudWatchに投入するスクリプト

スポットインスタンスを使っていると、自分が使っているインスタンスタイプが現在どれくらいの価格となっているか気になると思います。 スポットインスタンスの価格変動はPricing Historyから簡単に確認する事が出来るのですが、もう少し使いやすくならない…

EC2停止/起動時にELBから自分自身を除外/登録する

こんにちは@oko_changです。 ELB配下のEC2インスタンスをstop状態にする場合、停止する前にELBの分散対象から外してからstopします。 ELBからEC2へは定期的にHealth Checkが行われ、失敗がUnhealthy Thresholdで設定した回数に達すると分散対象から除外しま…

VPCでEC2インスタンスを起動するときに自動でPublicIPを割り当てる

こんにちは@oko_changです。 本日、EC2にアップデートがあったようです。 今まではEC2-ClassicやDefault VPCでEC2を起動するとPublicIPが割り当てられていましたが、自分で作ったVPCでも起動時にPublicIPが割り当てる事が出来るようになりました。 Managemen…

Ruby版 AWS Flow Frameworkのチュートリアルをやってみた

こんにちは@oko_changです。 先日Simple Workflow Service用のRuby版フレームワークであるAWS Flow Frameworkがリリースされたので、今回はこれについて書いてみようと思います。 SWFについては以下のドキュメントが参考になると思います。 [AWSマイスターシ…

インスタンスのAMI作成にSQSを使うようにしてみたら微妙だった話

こんにちは@oko_changです。 前回AWS SDK for RubyでSQSを使ってみましたが、お仕事がAWSのインフラ構築をメインとしていることもあり、あまり業務で使う機会がありません。 というわけで今回は日頃の業務に近いインスタンスのAMI作成の仕組みをちょっと強引…

AWS SDK for RubyでSQSを操作する

こんにちは、@oko_changです。 このブログではいくつかAWSのサービスをAWS SDK for Rubyを使って触ってるエントリを書いているのですが、今回はSQSにしてみました。 というのも、先日JAWS-UG東京に参加したのですが、@tottokugさんがSQSからSWFに移行した話…

CloudWatchとRDSを組み合わせてRDSのディスク使用率(パーセント)を調べる

こんにちは。 SDKやCommand Line Toolsを使ってCloudWatchからRDSの情報を取得して、リソース監視する事は良くあると思います。 監視サーバと組み合わせて使用する方も多いと思いますが、そんな時にRDSのディスクリソース監視は少し工夫をしても良さそうです…

Amazon Linuxにrbenv+Ruby+Apache+Passengerの環境を作る

こんにちは。 前回の記事で遊びでRailsのお問い合わせフォームを作ったりしていたので、今回はRailsアプリを実行させる環境を作った作業をまとめておきたいと思います。 今回も内容はほとんどこちらのまんまです。 環境 いつもながらざっくりですが、以下の…

Railsの問い合わせフォームからSESでメールを送信する

こんにちは。 以前Amazon SESをSMTPインターフェースで使う時のまとめというエントリを書きましたが、遊びでRailsのお問い合わせフォームからSESでメールを送信させていたのでログとして残しておきます。 内容はほぼこちらの内容のまんまです。 環境 以下の…

AWS SDK for RubyでEC2インスタンスのバックアップ(AMI)を作成するスクリプト

こんにちは。 少し時間がたってしまいましたが、先日AWS Summitに参加してきました。 2日目のCDPセッションにて玉川さんが【クラウドで実行させるスクリプトは再利用性がとても大事】というお話をしていました。 例えばEC2インスタンスのバックアップ(スナ…

黒い画面でRDSのリードレプリカ状態を取得する

こんにちは。 少し時間が開いてしまいましたが、RDSのリードレプリカ状態が監視可能になったようです。 今までもCloudWatchのReplica Lagを監視することでレプリケーションの状態は監視出来たのですが、今回のリリースによってエラーの情報も詳しく取得する…

AWS SDK for RubyでIAMを操作する

こんにちは。 RubyのSDKで色々なAWSのリソースを操作して来ましたが、今回はIAMをやってみようと思います。 EC2やRDSとかは結構スクリプトにする機会が多いけどIAMとかはあまり触った事がないかも。 手順の概要 アカウントエイリアスの作成 ユーザー作成と権…

AWS SDK for RubyでVPCを作成する

こんにちは、かなり久しぶりの更新となりました。 AWS SDKを使ってEC2やらRDS、ElasticacheなどをVPC上に作成してみましたが、まだVPCの作り方をまとめていませんでした。 そういうわけで今回はSDKでVPCを作ってみたいと思います。 手順の概要 VPCの作成 各…

Amazon LinuxでVagrantとChef soloをする

ハッと気づいたらどうやら約1ヶ月ブログを放置していたようです。 そろそろ書かなきゃというのと、Provisioning Frameworks Casual Talks vol.1というChefとかPuppetとかの勉強会に参加する予定なので、予習がてらブログを書きます。 やる事 VPC内のAmazon L…

Copy DB Snapshotを使った日次スクリプト

以前、RDSのCopy DB Snapshotを使おうという記事を書きました。 特に『バックアップウィンドウで自動的に取得されるスナップショットは、RDSを削除してしますと一緒になくなってしまうから』という理由で日次のバッチジョブとかで取得しているようなケースで…

Serverspecを使ってAmazon Linuxのテストをしてみた。

ChefやPuppetで構築した環境のテストはどうするという議論があると思いますが、TLを見ていると@mizzyさん製のServerspecというありがたいとものがあるらしいので、READMEに書いてある部分まで試してみました。 そこまでの記録を(ほぼREADMEのままですが)残…

CentOS6にAuto Scaling Command Line Toolをセットアップする

AWSコマンドラインツールのセットアップシリーズもだいぶ出そろってきた感じがします。 今回セットアップするツールはAuto Scalingのコマンドラインツールです。 Auto Scalingについては以下の資料を見るとイメージがつきやすいかもしれません。(ステマ Aut…

CentOS6にIAM Command Line Toolkitをセットアップする

今回もAWSのコマンドラインツールのセットアップ手順をまとめたいと思います。 ずいぶん前にManagement ConsoleでELBに配置してあるSSLサーバ証明書の更新が簡単に出来るようになりましたが、その前までは結構このコマンドラインツールを使っていた気がしま…

pfx形式、PKCS#12形式の証明書をOpenSSLでpem形式に変更する

AWS

ELBでSSLの処理をさせている場合、Management ConsleやコマンドラインツールでSSLサーバ証明書をELBに設定する必要があります。 この場合、アップロードするサーバ証明書はPEM形式となります。 しかし色々あって(IIS、IIS、IIS、IIS)pfx(PKCS12)形式の証…

Amazon LinuxでParallel SSH Toolsを使う

こんにちは。 サーバの管理台数が増えてくると設定の自動化などをしたくなって来ますが、複数のサーバに対して同じコマンドを実行したくなったりもします。 こんな要望を叶えるツールはいくつかあるのですが、今回はParallel SSH Toolsを使ってみます。 環境…

CentOS6にELBのAPI Toolsをセットップする

こんにちは。 ちょっと最近ブログが書けていませんでしたが、ちょくちょく書きだしたAWSコマンドラインツールのセットアップシリーズを更新しておきたいと思います。 今までにEC2、RDS、ElastiCacheは書いているので、今回はELBのセットアップ方法です。 ELB…

CentOS6にRDS Command Line Toolkitをセットップ

こんにちは。 AWS各種コマンドラインツールセットアップシリーズのお次はRDSです。 RDSのコマンドラインツールは、Amazon RDS Command Line Toolkitが提供されています。 今回はこちらのツールのセットアップ手順をまとめたいと思います。 環境 前回構築した…

AWS SDK for RubyでAMIを別リージョンにコピーする

こんにちは。 今日はAWSからAMIを別のリージョンにコピーする機能がリリースされまして、お仕事でもブログを書いたりしていました。 家に帰ってから『もしかしてSDKでも対応しているかなー?』と確認したら対応されてるみたいですね! 早い!素敵!という事…

CentOS6にEC2 API Toolsをインストールする

こんにちは。 またまたな感じですが、AWSの各種コマンドラインツールを使った内容を書いたりしているので少しずつセットアップ方法をまとめておきたいと思います。 まずはEC2から書いてみます。 と言いつつもElastiCacheのコマンドラインツールの導入方法は…

CentOS6にAWS SDK for Rubyをインストール

こんにちは。 前回に引き続きちょっと今更な感じがありますが、このブログでもAWS SDK for Rubyを使う内容を書いているのでセットアップ方法くらいは書いておこうと思います。 インストールした環境はAWS Marketplaceで提供されている公式のCentOS6です。 Ce…

いつやるか?今でしょ!@AWS

こんにちは。 私がブログを開始した当初はRackspaceの事をよく書いていたのですが、途中から急にAWSの事を書きだして今に至るような気がします。 思い返してみると、AWSの事を書くにあたり最初のステップをすっ飛ばしていました。 AWSを取り上げた最初の記事…

AWS SDK for Rubyを使うときに各サービスのリージョンを指定する方法一覧

こんにちは。 AWS SDK for Rubyを使うときに、各サービスのリージョンを指定する方法を毎回調べているのでまとめる事にしました。 各サービスのエンドポイント一覧はこちらから分かるのですが、Hashのキーの部分をいつも調べてるような気がして。。。 各サー…

Linux用CloudWatch監視スクリプトを使う

こんにちは。 AWSにはリソース監視としてCloudWatchがありますが、EC2インスタンスの内部情報(メモリやディスクの情報)は取得出来ません。 これはAWSが各ユーザーのインスタンス内部の情報が取得出来ないように設計されているからですが、その部分をサポー…

IETF SECSH形式の公開鍵をOpenSSH形式の公開鍵に変換する

いつも忘れるので、自分のメモ用に。 主にPuttyで作られた鍵をLinuxサーバに設置する時に作業が発生しますが、自分のメモ用に残す。 手順 ssh-keygen -i -f ietf_secsh_publickey.pub > openssh_publickey.pub 参考 http://blog.livedoor.jp/techrebornpubli…