タグ

ブックマーク / www.ryuzee.com (9)

  • Auto Scalingで起動したインスタンスにEIPを自動で設定する方法

    アジャイル開発に取り組むチーム向けのコーチングや、技術顧問、認定スクラムマスター研修などの各種トレーニングを提供しています。ぜひお気軽にご相談ください(初回相談無料) みなさんこんにちは。@ryuzeeです。 ピーク性のあるWebシステムをAWS上で運用している場合、Auto Scalingを使ってサーバの台数を増減させるのがベストプラクティスの1つです。こうすることで最大時にあわせたムダなキャパシティを確保する必要がなくなります。 一方で、Webシステムでは、他の外部システムと連携したり、APIを呼び出したりといったことも多くあり、さらに外部システム側ではアクセス元のIPアドレスを絞り込んでいることがあります。 この場合に、外部システムとの通信を行うために、Proxyを用意するというのも手ですが、Proxy自体の可用性や拡張性の問題もあります。 そこで以下では、Auto Scalingで

    Auto Scalingで起動したインスタンスにEIPを自動で設定する方法
  • Saharaが正式にVagrant 1.1+対応になりました

    全国1000万人のVagrant利用者のみなさんこんばんは。 以前僕がforkして作っていたSaharaのVagrant 1.1以降への対応ですが、作者のPatrickさんとコンタクトしながらメインライン側にマージしてもらい、Rubygemsも更新してもらいました。 ということで今後は Vagrant 1.1以降を利用している方は以下の手順でインストールできます。 vagrant plugin install sahara いまだにVagrant 1.0系を使っている方は、バージョン指定でgemをインストールすることになります。今後はバージョン指定をしないでインストールした場合はVagrant 1.1以降用がインストールされるため注意してください。 gem install sahara -v 0.0.13 ちなみに、Vgarant 1.0系をまだ使っている方は早めに諦めて1.2系にアップグ

    Saharaが正式にVagrant 1.1+対応になりました
  • 5分で分かった気になるDevOps

    最近あっちゃこっちゃでDevOpsという単語を聞きますが、概念的な言葉でスコープが広いので簡単に整理しておくことにします。 これで5分くらいで分かった気になるかもしれません。 2009年にFlickrの人が発表した概念 http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr 概念なので、実装は個々の現場によって異なる。アジャイル開発とアジャイル開発方法論の関係のようなもの。 従来型の考え方による利害対立 Devは多くの機能を早く届けなければならない すばやい変化 Opsは安定した運用を行いトラブルを起こさないようにしなければならない 変化を避けたい それじゃビジネスに勝てない DevOpsとはDevとOpsが協力しながら、ビジネスのために継続的に成果を出す、もしくは変化に

    5分で分かった気になるDevOps
  • Vagrant1.1のMulti-VM環境でSaharaを使う方法

    昨日の「Vagrantの必須プラグインSaharaをVagrant 1.1に対応させました」の続きです。 Vagrantでは1つのVagrantfileで同時に複数のインスタンスを立ち上げるMulti-VMに対応しています。例えば、Vagrant1.1だと以下のように定義できます。別にインスタンスはメモリが許す限り何個でも立ち上げられるので、大きめな規模の構成でも1つのVagrantfileで定義して一気に環境を作ることもできます。Chefなどと組み合わせれば、開発チームに新たにメンバーが追加になっても、一瞬で個人用開発環境を立ち上げられます(もう、今日と明日は環境構築です、とか言わせねぇ)。 Vagrant.configure("2") do |config| # 共通設定 box_name = "centos_63_x86_64_ja" box_url = "https://dl.dr

    Vagrant1.1のMulti-VM環境でSaharaを使う方法
  • Vagrantのインスタンスの破棄の際にChef Serverのnodeも同時に削除する方法

    タイトルが長くて何を言っているのか分かりにくいのですが、Vagrant 1.1 + Chef Serverを使ってインスタンスを作り、一端インスタンスを破棄して再度作ろうとすると、Chef Serverが、そのノードは既に登録中だから登録できねーよ、という409エラーを吐いてしまい、プロビジョニングに失敗します。 たとえばこんな感じのVagrantfileを使う場合にdestroyして作りなおすと上記の事象が発生するわけです。 Vagrant.configure("2") do |config| config.vm.box = "centos_63_x86_64_ja" config.vm.network :private_network, ip: "192.168.33.10" config.vm.hostname = "test07" # この名前がnodeとして登録される confi

    Vagrantのインスタンスの破棄の際にChef Serverのnodeも同時に削除する方法
  • VagrantとChef Soloを組み合わせて環境構築を自動化する

    みなさんこんにちは。@ryuzeeです。 前回まではVagrantを使ってVirtualBoxの仮想インスタンスを簡単の構築するところまで説明した。 ただそれだけだったら予め作成しておいたイメージをコピーするのとたいして変わりがないので、あまり有難味を感じないかもしれないが、ここからが番だ。 Vagrantの特徴として、PuppetやChefやChef Soloと組み合わせてインフラ部分の設定を仮想インスタンスの生成時に行うことができる。 流れとしては以下のようになる。 この原理上、仮想インスタンス側にVirtualBoxのバージョンと適合したVirtualBox Additionsがインストールされている必要がある。(ネット上から落としたboxの場合にはこれが古い可能性がある) 実際にためしてみよう今回はCentOS5を利用してDNSを設定するところを自動化する。 事前準備Vagran

    VagrantとChef Soloを組み合わせて環境構築を自動化する
  • Vagrantで簡単仮想マシン構築

    VagrantはOracle VirtualBoxを利用した仮想マシンをコマンドラインから作成してくれるソフトウェアだ。 設定ファイルをRubyで書くことができ、Chef等とも連携できるので、開発環境をコマンドライン一発で作成することができる。更にはCapistranoと組み合わせてアプリケーションのデプロイも一括で行うことで完全自動でいつでもテスト環境をつくれたりもする。 仮想マシンを捨ててしまってもいつでも再構築できること、誰のところにでもすぐ同じ状態に展開できることは開発を進める上で非常にメリットがある。 以下ではまずはVagrantを利用した簡単な仮想マシン構築の手順を説明する(当に説明したい内容はもっと違う話なのだが追って別のエントリで書いていくことにする) Oracle VirtualBoxのインストールhttps://www.virtualbox.org/にアクセスし左ナビ

    Vagrantで簡単仮想マシン構築
  • CakePHP データの更新時に自動でデータの差分を取得して履歴テーブルに突っ込むbehavior作った | Ryuzee.com

    もうタイトルのまんまですが、データの更新時に自動でデータの差分を取得して履歴テーブルに突っ込むbehaviorを作りました。 自分で作っているアプリケーションで、データ更新時の変更履歴を表示させたいと思ったのだが、対象テーブルが沢山あっていちいち似たような実装をあちこちに作るのは気が狂いそうなので汎用化しちゃえ、というのが作った動機 概要 AutoLoggerBehavior http://github.com/ryuzee/auto_logger_behavior から入手可能 ライセンスはMITライセンス 使い方 入手したauto_logger.phpをapp/models/behaviors/に配置 履歴テーブルの作成 CREATE TABLE `change_logs` ( `id` int(11) NOT NULL AUTO_INCREMENT, `mode` varchar(6

    CakePHP データの更新時に自動でデータの差分を取得して履歴テーブルに突っ込むbehavior作った | Ryuzee.com
    akiyan
    akiyan 2010/05/31
    これはいい!
  • cakephp AlphaNumericを環境非依存にする

    以前にも書いたんだけど、CentOS5系を利用していると、バリデーションのAlphaNumericが動作してくれない。その回答としては、環境に問題あるので、PCREをバージョンアップして、という風に書いたが、これだと、納品後どのサーバに配置するかによって、アプリケーションの動作に差が出てしまう。環境差によって差があるのであれば、それを検証するテスト書かなきゃいけなくなるので、今回は体を修正して、環境非依存な状態にする方法を紹介する。 libsディレクトリの中にあるvalidation.phpを修正する。 修正前 function alphaNumeric($check) { $_this =& Validation::getInstance(); $_this->__reset(); $_this->check = $check; if (is_array($check)) { $_th

    cakephp AlphaNumericを環境非依存にする
  • 1