タグ

ブックマーク / dev.classmethod.jp (36)

  • はじめてのDocker on Mac OS X | DevelopersIO

    ども、大瀧です。 今週金曜日にあるDocker Meetup Tokyo #2という勉強会でLTすることになりまして、大慌てでDocker触ってます。Dockerの開発は非常に活発で、新機能や仕様変更が続々と出ており刺激的なのですが、手元の開発環境として使っているMBAでのセットアップ方法が以前と変わりすぎていたので、備忘録としてまとめておきます。 Dockerの実行方法はVagrantを使う方法などいくつかありますが、今回はDocker公式ドキュメントをベースに、Homebrewで簡単にインストールする方法をチョイスしてみました。すぐに陳腐化する恐れがありますので、そこんとこオナシャス!です。 必要なソフトウェア OS X Mavericks(DockerはSnow Leopard以降をサポート) VirtualBox Homebrew VirtualBoxおよびHomebrewのインス

    はじめてのDocker on Mac OS X | DevelopersIO
    Hash
    Hash 2014/07/04
    さすがクラスメソッドさんやで...
  • コンテナベースデプロイ環境のためのdocker-registry use S3を構築する | DevelopersIO

    はじめに Amazon Linux AMI 2014.03でDockerが公式yumリポジトリに登録された事により、コンテナベースでのデプロイが現実的な選択肢となってきました。 一般的なアプリケーション開発のデプロイ環境としては、開発を行うStaging環境とサービス稼働環境としてのProduction環境に分離することが多いですが、コンテナベースでも同様にStagingとProducitonを分離することになるでしょう。そうした場合、作成したコンテナイメージをローカルに管理する仕組みが必要になります。 そこで今回はこのローカルでDockerのコンテナイメージを管理する仕組み、docker-registryをAWS上に構築してみました。docker-registryによるデプロイイメージは以下の形です。Staging環境で作成したコンテナイメージをdocker-registryにPushし

    コンテナベースデプロイ環境のためのdocker-registry use S3を構築する | DevelopersIO
    Hash
    Hash 2014/06/17
    この構成はすごいな, さすがに怖くてできん
  • AWSにおける静的コンテンツ配信パターンカタログ(アンチパターン含む) | DevelopersIO

    独自ドメインSSLだとCloudFront使えないから横綱無理だよねー、という話がありました。うん、確かにそうでした、執筆時点では…! 日2013/06/12、CloudFrontの独自ドメインSSL対応が発表(英語・日語)されましたので、みなさん揃って横綱になればいいと思います。 よく訓練されたアップル信者、都元です。AWSを利用して構築した環境から、クライアント(モバイルやブラウザ等)に対してHTTPを使って静的なコンテンツを配信したいケースって、多いですよね。多いというか、むしろどんなシステムにも多かれ少なかれ、静的なコンテンツ配信があると思います。 スケーラビリティ・柔軟性・可用性・パフォーマンス・コスト 静的なコンテンツというのは、コンテンツをリクエストに応じて生成したりせず、完成品としてのファイルが手元にある状態です。例えば、多くのWebシステムにおいて、ほとんどの画像やJ

    AWSにおける静的コンテンツ配信パターンカタログ(アンチパターン含む) | DevelopersIO
    Hash
    Hash 2014/06/12
    S3直接配信はそんなパフォーマンスよくない // 相撲のランク比較がわからんけどたぶん下に行くほうが強い
  • Amazon EC2でIDS(侵入検知システム)を導入する – AIDE – | DevelopersIO

    IDS(侵入検知システム)とは IDS(Intrusion Detection System)は、不正な第三者からの侵入を検知して通知する仕組みです。主にネットワーク型とホスト型があり、前者の代表的なツールはsnort、後者はtripwireです。始めは、自前でセットアップしたsnortから試そうと思ったのですが、Amazon EC2はプロミスキャスモード(ネットワークに流れる全てのパケットを受信するモード)を禁止しているため使えません。解決方法として、商用snortを提供しているSourcefire社の専用AMIを使う必要がありそうです(プロミスキャスモードで動くのかな?)。よし、じゃぁこのAMIを使おうと思ったら、このAMIは東京リージョンには無いw。そこで、ネットワーク型のIDSは別の機会として、今回は、ホスト型IDSの動作確認をすることにしました。ホスト型IDSで、Amazon L

  • ユニットテスト改善ガイド | DevelopersIO

    先日、日Javaユーザグループ(JJUG)主催のJJUG CCC 2013 Fallで、「ユニットテスト改善ガイド」というタイトルで登壇してきました。自分の経験を元に、ユニットテストをチームや組織へ導入する時に起こりえる問題とその解決のヒントに関するセッションです。エントリーではそのセッションの内容を再構成して公開します。 はじめに 近年のシステム開発では、ユニットテストや継続的インテグレーション(以下、CI)の導入は必要不可欠と考えられています。とはいえ、どんな組織(チーム)でも簡単に導入できているわけではありません。特に、大きな組織や古くからの慣習を残している組織では導入したくとも中々進まないと感じているところが多いのではないでしょうか?。 私は、これまでに多くの開発現場でユニットテストやCIの導入について推進してきました。成功したケースもあれば失敗したケースもあります。そして、失

    ユニットテスト改善ガイド | DevelopersIO
  • Amazon RDS(MySQL)でTimezoneを変更する | DevelopersIO

    ども、大瀧です。 RDSにするか、DB on EC2にするかを検討する際によく挙がるのが、Timezoneをどうするかという話。AWSのサービスは基的にはUTC(世界標準時)で提供され、RDSも例外ではありません。 「世界展開を狙うサービスであれば当然UTCで!」となるのですが、既存システムをAWSに移行する案件などでは「アプリの改修ができないので、移行前とTimezoneを合わせたい」ケースが多いと思います。 EC2であれば、OSのTimezone設定をちょちょいと変えるだけで対応できるのですが、RDSは直接インスタンスにログインできないため、ちょっとした工夫と注意が必要です。 概要 今回はRDS MySQLを対象に、Timezoneを変更する方法をご紹介します。 RDSでユーザーに提供される"Masterユーザー"は、MySQLのrootユーザーとは異なりSUPER権限(管理者権限)

    Amazon RDS(MySQL)でTimezoneを変更する | DevelopersIO
    Hash
    Hash 2013/10/28
    めんどくさいいいいいい
  • 「10年先行く技術」のデータベースサービス、Datomicを試す | DevelopersIO

    はじめに 先日、Clojureの作者であるRich Hickey氏のチームが「datomic.com」(でーとみっく)というデータベースサービスをリリースしたそうです。 ここにDatomicのアーキテクチャや概要についての詳細が記述されていますが、 「10年先を行ってる技術」(Takahiro Hozumi氏) 「Datomicはエイリアンの高度なテクノロジーで満たされたUFOだ」(Clojure書籍著者fogus氏) といわれているように、何やらすごいサービスの様子です。 まだサービス自体は開始してませんが、ローカルで動かすためのツールは使用できるので、これを使って試してみたいと思います。 Datomicについての概要 先程も書いたように、Datomicのアーキテクチャについての詳細はhozumi氏のサイトが非常に詳しく説明しているのでそちらをご覧下さい。 ここではDatomicの概要を

    「10年先行く技術」のデータベースサービス、Datomicを試す | DevelopersIO
    Hash
    Hash 2013/09/04
  • AWS Command Line Tool Python版 | Developers.IO

    軽量コマンドラインツールが出た! 全国うん万人?のAWSデベロッパーの皆さん、ニュースです。AWSから提供されていたコマンドラインツールがPython版になって登場です。すでに12のサービスに対応しています。ただ単にJavaからPythonになったというレベルではありません。超軽量になったのです。今までのコマンドラインツールは、バックグラウンドでJVM(Java VM)が立ち上がっていました。コマンドが呼ばれる度にVMが初期起動するのでCPU使用率が非常に高く、サーバー運用時の定期呼び出しには大きな問題となっていました。仕方なく、RubyPythonのSDKを使ってスクリプトを書くという毎日でした。Java好きな私ですので多少擁護しますと、Java版はRI(Reference Implementation)として、AWSの全てのAPIにアクセスするためのお手として、今後も最初にSDKが

    AWS Command Line Tool Python版 | Developers.IO
    Hash
    Hash 2013/04/27
    Javaツールはもう古い!らしい.
  • Amazon Route 53のDNSフェイルオーバー機能を利用したリージョンを跨いだバックアップサイトの構築(EC2 to S3編) | DevelopersIO

  • Amazon VPCを使ったミニマム構成のサーバ環境を構築する | DevelopersIO

    よく訓練されたアップル信者、都元です。AWSにおいては、ネットワーク環境をあまり気にせず、数クリックで簡単にサーバを構築できるのは一つのメリットだと言えます。しかし、格的に運用するシステムに関しては、ネットワーク環境をコントロールする需要も出てきます。AWS Virtual Private Cloud (VPC)を使えば、AWS上に仮想ネットワークを定義し、その上に各種サーバを配置することができます。 深く考えずに非VPC環境に構築してしまったAWSサーバ環境は、簡単にはVPC環境に移行することはできません。従って弊社では、小さなシステムであっても、最初からVPC環境にシステムを構築することを推奨しています。「非VPCが許されるのは小学生までだよねー」とボスが申しておりました。かといって、ネットワークの構成をゼロから考えて構築するのもひと苦労であるため、エントリーでは、システムの初期段

    Amazon VPCを使ったミニマム構成のサーバ環境を構築する | DevelopersIO
  • Amazon ELBでSorryサーバへのフェイルオーバーを実現する | DevelopersIO

    AWSにおいて、ELBによるSorryサーバへのフェイルオーバーは、長らく待ち望まれている機能です。先日、Route53にDNSレベルでのフェイルオーバー機能が実装(下記)されました。 Amazon Route 53のDNSフェイルオーバー機能を利用したリージョンを跨いだバックアップサイトの構築(EC2 to S3編) Amazon Route 53のDNSフェイルオーバー機能を利用したリージョンを跨いだバックアップサイトの構築(EC2 to EC2編) ただ、Route53を利用していない場合は、未だにヘルスチェック及びフェイルオーバーの機能は手組みする必要があります。無いなら作るしかないのです。わかりました、作りますよ。 前提 まず確認しておきたいのは、今回ご紹介するテクニックは、前述のRoute53によるフェイルオーバーと比べると、オモチャみたいなもんです。知ってますか? 何と、Ro

    Amazon ELBでSorryサーバへのフェイルオーバーを実現する | DevelopersIO
    Hash
    Hash 2013/04/25
    DNS failover機能はチェック対象のIPを固定しなければならないためELB利用時は使えない. 自力で実現するにはこの記事のようにELB APIを叩いてhealthyなinstanceを監視する方法が必要になる.
  • インフラエンジニアに贈るAmazon VPC入門 #1 概要とルーティング | DevelopersIO

    ども、大瀧です。6月にNothing's Carved In Stoneの新譜が出ると聞いてテンション上がっている今の勢いを生かし、シリーズものにチャレンジしてみます。 シリーズの目次はこちら 前振り(読み飛ばし可) インフラエンジニアのみなさーん、AWS触ってますかー? 「うちのシステムはAWSを使っていない」、「AWSじゃない国産クラウドを使う予定」など、AWSの認知度は一般にはまだまだ低いのが現状だと思います。しかし、組織のインフラは今後遅かれ早かれ、オンプレミスだけでなくクラウド環境と合わせて付き合っていかなければならないことは明らかですし、先行しているAWS技術が他のクラウド製品のコンポーネントに与えている影響も、実はとてつもなく大きかったりします。 現状、多くのクラウド製品では、クラウドで利用できる機能を説明するときに"●●版S3"、"●●版セキュリティグループ"というように

    インフラエンジニアに贈るAmazon VPC入門 #1 概要とルーティング | DevelopersIO
    Hash
    Hash 2013/04/13
    連載ものらしいので期待. VPCええのう
  • Amazon EBSをRAID0構成にしてディスクI/O性能を上げる | DevelopersIO

    RAID0とは RAID0は、複数のディスクを1台のディスクのように扱い読み書きを高速化します。ストライピングと呼びます。Amazon EBSは、既に高い耐障害性を持っていますので、これをRAID0構成にすることで、Amazon EC2インスタンスの性能を引き出そうというのが今回の実験です。 下準備 RAID構成を組むためにセットアップします。 $ sudo yum update -y $ sudo yum install mdadm xfsprogs -y $ sudo yum install bonnie++ --enablerepo=epel -y $ sudo mdadm --create --verbose /dev/md0 --level=0 -c256 --raid-devices=2 /dev/sdf /dev/sdg $ sudo blockdev --setra 655

  • Auto Scalingを指定時刻&定期的に実行する | DevelopersIO

    時間指定でスケーリングさせる Auto Scalingはインスタンスの状態などに応じて増減させるだけのように見えますが、実は決まった日時にスケールアウト/スケールインできます。 ここでは、その方法についてご紹介します。 スケジュール登録 まずは基的なスケジュール登録についてです。ある時刻になるとインスタンス数を2にします。時刻はUTC形式の世界時間を入れます。 $ as-put-scheduled-update-group-action myaction1 -g mygroup1 --name "scale out" --region ap-northeast-1 --time "2011-08-16T17:37:00Z" -min-size 2 -max-size 2 OK-Put Scheduled Update Group Action

    Hash
    Hash 2012/06/14
    かんたん。AutoScalingさえ普段使い状態にあるなら。
  • CloudWatchのカスタムメトリクスでJavaVMのGC関連情報を取得 | DevelopersIO

    JavaVMのGC情報を取得します 前回はLinuxOSのメモリー関連情報を取得して、CloudWatchに登録しました。今回は、JavaVMのガベージコレクション周りの情報をCloudWatchに登録したいと思います。 環境の構築 今回は、JavaVMのGCを見るためにTomcatをインストールします。また、JREではなくJDKを利用しますので必要なものをインストールします。CloudWatchコマンドラインツールは設定済みとします。詳しくは前回の記事をご覧ください。JREではなくJDKを入れる理由は、jpsコマンドとjstatコマンドを使うためです。これらのコマンドはプロセスIDなどを取得するためsudoで実行します。 $ sudo yum install java-1.6.0-openjdk-devel $ sudo alternatives --install /usr/bin/j

    Hash
    Hash 2012/05/07
    好きな値をCloudWatchる
  • Amazon EC2でEphemeral StoreをRAID0構成にしてディスクI/O性能を上げる | DevelopersIO

    Ephemeral Storeは一時的なメモリドライブのようなもの Ephemeral Store(Instance Store)は、EBSブートのEC2インスタンス(Smallインスタンス以上)を立ち上げた際にオマケのように付いてくる領域です。インスタンスをTerminateすると一緒に消えてしまいます。とはいえ、インスタンスが起動中はずっと使うことができますので、ある程度高速に動作させたい場合には最適かもしれません。Management Consoleからは操作できないため、あまり知られていないかと思いますが、ドキュメントにはしっかり書いてあります。今回はこのEphemeral Storeを用いてRAID0構成を組みたいと思います。 Epemeral Storeを指定してインスタンスを起動する Epemeral Storeを使用するために起動オプションを付けます。今回はRAID0用に4