タグ

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

  • Dockerイメージをchef-soloでプロビジョニングする | DevelopersIO

    はじめに DockerでコンテナイメージをbuildするときにはDockerfileにOSイメージの指定や導入パッケージ、実行したいコマンドなどを記述してパッケージングします。 このDockerfileはほぼコマンドべた書きのような形なので難しいわけでは無いのですが、実行処理が多くなればなるほど長く読みづらくしまうし、テストも大変です。また既にChefやPuppet、Ansibleなどの構成管理ツールを用いているのであれば、既存の資産をうまく流用したほうが楽が出来ます。 ということで、Dockerfileにはほとんど仕事をさせずに、Dockerfileからchef-soloをキックしてコンテナをプロビジョニングしてみました。 やってみた ファイル構成は以下のような形です。今回はopscode謹製のbuild-essentialをレシピとして用意しました。 . ├── Dockerfile

    Dockerイメージをchef-soloでプロビジョニングする | DevelopersIO
    equinox79
    equinox79 2014/05/15
  • Amazon RedshiftのUNLOADコマンド: PARALLELオプションで出力ファイルを一括化 | DevelopersIO

    先日5/6に、Amazon RedshiftのUNLOADコマンドに関する機能改善が発表されました。UNLOADコマンドとは、Redshiftクラスタ内のテーブルに格納されているレコードをエクスポートする際に用いるコマンドになります。 Release: Amazon Redshift on 2014-05-06 : Release Notes : Amazon Web Services UNLOAD - Amazon Redshift このエントリでは、そのUNLOADコマンドに追加されたオプション機能『PARALLEL』についてその内容を確認してみたいと思います。 UNLOADコマンドでPARALLEL OFFコマンドを使う事によって出力ファイルを1つにまとめる事が出来るようになった You can unload table data serially to a single file

    Amazon RedshiftのUNLOADコマンド: PARALLELオプションで出力ファイルを一括化 | DevelopersIO
    equinox79
    equinox79 2014/05/14
  • 気軽に始めてみよう!クラウド時代のデータウェアハウス超入門 | DevelopersIO

    始めに 私は8年ほど前に情報処理試験でデータウェアハウスというものがあるということを知りました。当時は4択問題で問題文に 意思決定支援 というキーワードが出てきたら何なのかよく分かんないけど選択してました。それからずっと興味がありながら実物に触ったことはなかったのですが、クラウド型のデータウェアハウスが登場し触る機会を得ることができました。以前に比べデータウェアハウスはかなり身近なものになってきたのではないでしょうか。弊社でもAmazon RedshiftというAWSのサービスを利用した案件が増えてきています。 クラスメソッド、POSデータ数十億件をリアルタイム分析する基盤を「Amazon Redshift」「Tableau」で開発 この記事ではデータウェアハウスの知識から分析ツールを使ってAmazon Redshiftに接続するところまで簡単にまとめています。実際にどんなものか、触ったこ

    気軽に始めてみよう!クラウド時代のデータウェアハウス超入門 | DevelopersIO
    equinox79
    equinox79 2014/05/14
  • AWSでジョブWorkerを構成するベストプラクティス 〜 SQSの巻 | DevelopersIO

    よく訓練されたアップル信者、都元です。AWSでシステム構築をする場合は、Design for failureという考えに基いて、複数AZにまたがる形の冗長構成を組むのがベストプラクティスです。さらに、このように分散させた各インスタンスには、出来る限りマスターを作らない、つまりSPOFとなるインスタンスを避ける構成であるのが理想です。 という話題については以前AWSにおける可用性の考え方というエントリーでも書きました。 可用性 (availability) と拡張性 (scalability) 題はジョブWorkerですが、WebサーバやDBサーバの可用性と拡張性を先におさらいしておきましょう。 Webサーバ この考えで構築する最も基的な構成が、Webシステムにおける ELB + Webサーバ の構成です。この構成マルチAZと呼び、片方のAZが丸ごとダウンしたとしても、サービス自体はダウ

    AWSでジョブWorkerを構成するベストプラクティス 〜 SQSの巻 | DevelopersIO
    equinox79
    equinox79 2014/05/13
  • コンテナベースデプロイ環境のための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
    equinox79
    equinox79 2014/05/12
  • Amazon Auto Scalingの Desired Capacity を理解する | DevelopersIO

    ども、大瀧です。げんしけん 二代目の伍(14)、波戸くんが煮詰まってきていい感じですね、次巻の展開に期待!! さて、今回はAWSで最もわかりやすくElasticしてくれる(?)機能としてお馴染みの、Auto Scalingの上級編な話題です。 ここがムズいよAuto Scaling AWSのAuto Scalingは、EC2インスタンスを自動でCreate/Terminateする機能として負荷分散や可用性向上のためによく使われる機能です。 しかし、Management Consoleでは作成できなかったり、使うために必要な設定が比較的多かったりと、敷居が高い印象があります(実際はそんなことないんですけどね)。 Auto Scalingでインスタンス数を設定するパラメータは3つ、Min Size(最小数)/Max Size(最大数)/Desired Capacity(今回の話題)があります。

    Amazon Auto Scalingの Desired Capacity を理解する | DevelopersIO
    equinox79
    equinox79 2014/05/11
  • Amazon Route 53に多数の新機能が追加されてた | DevelopersIO

    AWSの管理するDNSサービス Amazon Route 53を使いたいためにAWSアカウントを新規に作成する人も多いという鉄板サービスのRoute53です。今回は、そんなRoute53に新機能が多数追加されていた件について色々振り返りたいと思います。 ヘルスチェックおさらい 登録したドメインが指定するホストから期待する応答がない場合に異常な状態としてアラート飛ばしたりセカンダリーにDNSフェイルオーバーすることができます。そして、正常な状態に戻ったら振り先が戻ります。 フェイルオーバーの仕組みは3つ(Active-Active、Active-Passive、Active-Active-Passive & Other Mixed)ありまして、ルーティングの仕組みと組み合わせることで色々できます。 Active-Activeは、正常時はアクティブなリソースレコードセットを返す動作をしますが、

    Amazon Route 53に多数の新機能が追加されてた | DevelopersIO
    equinox79
    equinox79 2014/05/07
  • [iOS][小ネタ] 意外と知らない?iOS シミュレーターとMac間で文字列や画像をコピペする方法 | DevelopersIO

    iOS シミュレーターとコピペ こんにちは!GW 明けは小ネタから執筆させていただきたいと思います。 この間 iOS シミュレーターを使って開発していたときに、ふとiOS シミュレーター と Mac の間では、どのようにコピペするか知りたくなりまして、調べてみたところ公式リファレンス (iOS Developer Library) にしっかり書いてありました。 まぁこちらに書いてあることとほぼ同じ内容になっちゃうのですが、自分用のメモとして共有させていただきます。開発中とかテストとかでいろいろ便利だと思うので、知らなかったかたはぜひ覚えておきましょう! 文字列のコピペ Mac → iOS シミュレーター 1.Mac 上で普通にコピーする Command + C や右クリックメニューなどから普通にコピーします。 2.iOS シミュレーター上でペーストする iOS シミュレーターを開き、その上

    [iOS][小ネタ] 意外と知らない?iOS シミュレーターとMac間で文字列や画像をコピペする方法 | DevelopersIO
    equinox79
    equinox79 2014/05/07
  • PackerでAmazon LinuxのAMI(Amazon Machine Image)を作成する | DevelopersIO

    みなさーん、7/12(金)のVagrant meetupは楽しかったですかー? 話題のVagrantの開発者 Mitchell Hashimoto さんを迎えてのアツいVagrantトークに、TLは沸き上がっていましたね。かくいう大瀧は、WHITE ASH初の自主企画ライブのために、Vagrant meetupは泣く泣く欠席でした。いいライブだったから悔しくなんてないです。ホントです。 さて、そんな (どんな?w) Mitchell Hashimotoさんを中心に最近開発が進められているPackerというツールがあります。今年の3月に開発が始まり現在はまだバージョン0.1.5ですが、斬新なコンセプトや面白そうな機能がたくさんあって面白いと思い、今回は概要と入門をご紹介したいと思います! Packerのできることと目指すもの Packerは、Packer Webサイトのトップ画像にもあるよう

    PackerでAmazon LinuxのAMI(Amazon Machine Image)を作成する | DevelopersIO
    equinox79
    equinox79 2014/05/07
  • ELB+EC2+RDS(Multi-AZ)構成をあえてActive-Standbyにする | DevelopersIO

    はじめに WebサーバとRDSでシステムを構成する際、冗長性を考慮し、以下のような構成にすることが多いかと思います。 WebサーバをEC2複数台で構築し、複数AZに分散配置。ELBでロードバランシングする。 RDSをMulti-AZで構築し、複数AZに分散配置。 これでAvailability Zoneレベルでの冗長性が確保されますので、例えばAvailability Zoneがメンテナンスや災害などで丸ごと停止した場合にもサービスを継続することが出来ます。 しかし、Availability Zoneレベルでの冗長性を確保したいが、Acitve-Activeな構成にはしたくない場合があります。例えば、Multi-AZ構成のRDSではプライマリDBインスタンスは常にどちらかのAZに存在しますが、AZを跨いだ通信はAZ内での通信よりレイテンシが大きくなります。DBとの通信がシビアなシステムでは

    ELB+EC2+RDS(Multi-AZ)構成をあえてActive-Standbyにする | DevelopersIO
    equinox79
    equinox79 2014/05/02
  • Amazon Redshiftで扱う”カーソル”の設定について | DevelopersIO

    パラメータグループを作成する際、max_cursor_result_set_sizeに対して許可されている範囲内で任意の数値を設定する事が出来ます。しかし、ひとたびパラメータグループがクラスタに紐付けられると、Amazon Redshiftはmax_cursor_result_set_sizeパラメータが許容範囲内である事をバリデーションを実行します。 このバリデーション処理はクラスタの作成、変更、リサイズ時やクラスタに紐付いているパラメータグループを変更した場合に発生します。パラメータグループが複数のクラスタに関連付けられている場合、Amazon Redshiftは全てのクラスタの中で最も小さな(許可されている)値を採用します。値が有効でない場合は、max_cursor_result_set_sizeパラメータがクラスタの許容範囲外の値であるが為にパラメータグループがクラスタとの互換性が

    Amazon Redshiftで扱う”カーソル”の設定について | DevelopersIO
    equinox79
    equinox79 2014/04/30
  • Amazon Redshiftで良く使いそうなSQL文をスクリプトで作成してみた | DevelopersIO

    下記エントリではRedshiftで使うSQL文を自分なりにまとめてみましたが、当エントリではその姉妹編という形で、『良く使いそうなSQL文をスクリプトで作成してみた』ものをまとめたものになります。SQL編同様、『コレは!』と思ったものについては適宜追加・更新を行っていきたいと思います。ではではスタート。 Amazon Redshiftで良く使いそうな便利系SQLをまとめてみた | Developers.IO 目次 項目の最大バイト数を求める[by Groovy] 作成済みのテーブル定義からCREATE TABLE文を生成する[by Groovy] Publicスキーマに対して参照権限のみ持つユーザーの新規作成を一発で行う(スクリプトを作成する)[by Groovy] 項目の最大バイト数を求める(代替策) CSVデータを投入する際、項目桁数が明確となっていない場合は一旦ざっくり桁数を多目に取

    Amazon Redshiftで良く使いそうなSQL文をスクリプトで作成してみた | DevelopersIO
    equinox79
    equinox79 2014/04/30
  • Amazon Redshift: WLM(Workload Management)のクエリ同時実行制限値が緩和されました | DevelopersIO

    先日2014/04/18のRelease Notesにて、Amazon RedshiftのWLM(Workload Management)に於ける同時実行の制限(上限値)を増やせるようになりました。当エントリではその内容について実際に変更してみるなどしてみたいと思います。 Release: Amazon Redshift on 2014-04-18 : Release Notes : Amazon Web Services 目次 クエリキューの定義とは 変更前(デフォルト値)の内容及び挙動の確認 パラメータの変更及び反映内容の確認 まとめ クエリキューの定義とは Amazon Redshiftでは、ユーザー定義のクエリキューで最大50のクエリを同時実行出来るような設定が可能となりました。これにより、ユーザーがWLM構成を変更する事でシステムのパフォーマンス管理に対するより柔軟な対応が行える

    Amazon Redshift: WLM(Workload Management)のクエリ同時実行制限値が緩和されました | DevelopersIO
    equinox79
    equinox79 2014/04/28
  • mod_proxy再入門 – ProxyPassとProxyPassReverse | DevelopersIO

    こんにちは。望月です。 思い返すこと数年前、私が始めてLinuxサーバ構築に関わってやったお仕事は、「Apache + Tomcatの構成を作る」でした。その時にApacheに以下のような設定をしました。 ProxyPass /app http://backend.example.com:8080/ ProxyPassReverse /app http://backend.example.com:8080/ それ以降Apacheをフロントに置いて別のアプリケーションサーバーへProxyを行う機会は何度となくあり、その度に魔法のようにProxyPassとProxyPassReverseを書いてきましたが、自分で理解しきっていない設定をするのは止めよう、と思い立ったので、改めてmod_proxyについてお勉強してみました。今日はその勉強過程をまとめます。 ProxyPass まず一行目のPro

    mod_proxy再入門 – ProxyPassとProxyPassReverse | DevelopersIO
    equinox79
    equinox79 2014/04/25
  • Amazon Simple Notification Service(SNS)のHTTP/HTTPS通知はもっと使えるサービスのはず | DevelopersIO

    Amazon SNS について AWSSNSが世の中でどれくらい周知されているか、どれくらい使われているか知りませんが、自分はSimple Notification Serviceという名前から察するに、何かあった時にメールでお知らせするサービスくらいにしか感じてませんでした。ただ、最近はもっと使い道がありそうな雰囲気をバシバシ感じているので紹介します。 詳しくは http://aws.amazon.com/jp/sns/ を参照してもらうとして、SNSをざっくり説明するとPub/SubメッセージングモデルでHTTP/HTTPS、Eメール、SMS(東京リージョンでは提供なし)、SQSの各サービスへプッシュ通知するサービスです。 Pub/Subとは 古くは(2000年くらい?)から存在するらしいアーキテクチャパターンです。古くはJavaのJMSからWeblogic/WAS等のJavaのWe

    equinox79
    equinox79 2014/04/24
  • 【AWS】CloudWatch入門/使っていないEC2を自動シャットダウンしよう | DevelopersIO

    はじめに こんにちは植木和樹です。AWSで検証目的でEC2インスタンスを立てたままSTOPするのを忘れてしまうことが良くあります。使ってないインスタンスでも、起動していれば当然課金されてしまいますので、ちゃんと停止させてコスト削減しましょう。今回は「Use Amazon CloudWatch to Detect and Shut Down Unused Amazon EC2 Instances」(初出:2013/01/08)で紹介されている方法を翻訳しながら進めたいと思います。 使っていないEC2は自動でシャットダウンしよう 日はAmazon CloudWatchのアラーム機能を使ったEC2の自動検知と自動シャットダウンの方法をご紹介します。あなたは時々EC2を使うだけの個人開発者かもしれませんし、複数開発者向けのEC2を管理するITプロフェッショナルかもしれませんが、そういう立場に関係

    【AWS】CloudWatch入門/使っていないEC2を自動シャットダウンしよう | DevelopersIO
    equinox79
    equinox79 2014/04/22
  • Docker Meetup Tokyo #2でLTしてきた:「Docker+serverspecで作るconfigspec CI」 #dockerjp | DevelopersIO

    Docker Meetup Tokyo #2でLTしてきた:「Docker+serverspecで作るconfigspec CI」 #dockerjp はじめに 2014年4月11日(金)に開催されたDocker Meetup Tokyo #2で、「Docker + serverspecで作る configspec CI」というタイトルでLTしてきました。 この内容について、少し詳細に落とし込んだのがこの記事です。拙いところも改善するべきところもいっぱいあるんですが、とりあえず動いたよ、というところで。 イベント中のtweetはTogetterにまとめました。 Docker Meetup Tokyo #2 #dockerjp - Togetterまとめ やりたいこと 結果としてやりたいこと、出来上がるものがこちらの図になります。 configspecとserverspecをRakefile

    Docker Meetup Tokyo #2でLTしてきた:「Docker+serverspecで作るconfigspec CI」 #dockerjp | DevelopersIO
    equinox79
    equinox79 2014/04/15
  • Docker Meetup Tokyo #2 LT「Docker meets AWS OpsWorks」の続き #dockerjp | DevelopersIO

    ども、大瀧です。 昨日行われたDocker Meetup Tokyo #2でLTしてきました。が、5分の持ち時間に全く収まらなかったので、ブログで補足させてください! Dockerコンテナをデプロイするツールが欲しいというモチベーションから、AWSの提供するデプロイサービスがいくつかあること、OpsWorksがよさそうと思っていたらドンピシャなブログ記事があった!...と話したところでタイムアップになり、肝心のデモと所感が話せなかったんです。LT力不足を痛感。 OpsWorksと組み合わせてできること dockerコマンドの代わりにOpsWorksを使うメリットは、以下だと思っています。 Web画面のクリック操作で一発デプロイ!! ロードバランサなどと元々連携できるので、有り物で一気に番レベルの環境に!! Web画面のクリック操作で一発デプロイ!! OpsWorksは、AWS Manag

    Docker Meetup Tokyo #2 LT「Docker meets AWS OpsWorks」の続き #dockerjp | DevelopersIO
    equinox79
    equinox79 2014/04/14
  • 社内 GitHub を実用的に構築! Amazon VPC 環境に GitLab サーバを構築してみた | DevelopersIO

    社内 GitHub を実用的に構築! Amazon VPC 環境に GitLab サーバを構築してみた はじめに 先日 GitLabMac OS X にインストールするという記事を執筆しました。その用途はあくまで「個人で GitLab を使ってみよう!」というものでしが、やはり命はクラウド上に構築し、どこからでもアクセスできるようにすることだと思います。しかしながら実際の運用で大切になってくるのはセキュリティです。クラウド上に構築しつつ、ソースはしっかり守る。この点が特に必要ではないでしょうか。というわけで今回は Amazon VPC 上に GitLab サーバを構築してみたので、その手順をまとめておきたいと思います! このエントリの効能 このエントリを読んで、試すと、以下のような効能があります。多分。 AWS 上に社内で使える Git サーバーが構築できる Amazon VPC

    社内 GitHub を実用的に構築! Amazon VPC 環境に GitLab サーバを構築してみた | DevelopersIO
    equinox79
    equinox79 2014/04/11
  • 【Excel改造】AWS環境定義書自動生成【EC2編】 | DevelopersIO

    AWS環境構成仕様書の作成 エンタープライズ向けにAWS環境を提供した場合、必ずAWS環境定義書、AWS構成仕様書等を作成する必要があります。みなさん例えば、下記のような仕様書を作成したことはありませんでしょうか? 従来、上記のような仕様書はAWS Management Consoleを凝視しながら、Excelに慎重に値をコピーペーストすることによって作成していました。 このような仕様書作成はAWSを利用したシステム開発で最も自動化されていない領域の一つです。実は、上記仕様書はボタンワンクリックで自動生成したものです。 今回は、EC2の仕様書を自動生成するためのアプリケーションとしてExcelアドインの作成を行ってみることにします。 開発環境 Windows 8 Visual Studio 2012(C#) Excel 2013 AWS SDK for .NET 関連記事 実際のアプリケー

    equinox79
    equinox79 2014/04/08