タグ

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

  • Jenkins + Ansible + PackerでAMI作成を自動化する | DevelopersIO

    最近はAnsible + Packerの組み合わせでAMIを作ることが増えてきました。毎回Ansibleを書き換えるごとにpackerコマンドを実行するのは面倒なので、最近はJenkinsを利用してAMI作成を自動化するようにしています。今日はそのご紹介です。 Jenkins + Packer環境の構築 Jenkins + Packerの構築は既に@ryuzeeさんがブログで大変丁寧に解説されていますので、そちらの手順を実施するだけで十分でしょう。私も大いに参考にさせて頂きました。ありがとうございます。 Jenkins + PackerでAMIを継続的インテグレーションする Jenkinsの準備ができたら実行する準備をしましょう。まず、プロジェクトのディレクトリ構成は以下のようになっています。 drwxr-xr-x 8 mochizukimasao staff 272 3 19 14:44

    Jenkins + Ansible + PackerでAMI作成を自動化する | DevelopersIO
  • AWSで構築した環境にありがちなシェルスクリプトたち まとめ | DevelopersIO

    AWSでサーバを運用する際にはEC2からAWS CLIを使って他のAWSのサービスと連携したりすることがあると思いますが、AWS環境ならではのシェルスクリプトを集めてみました。AWS CLIのバージョンは1.7.13、Pythonのバージョンは2.6.9を使っています。私はAmazon Linuxで動作を確認しています。 目次 準備する AWS CLIのインストール AWS CLIのアップデート aws configureでセットアップする IAM roles for EC2 instancesに関して 監視系 CloudWatchでカスタムメトリクスを設定する ZabbixからCloudWatchの値を取得する プロセス監視する バックアップ系 AMIとEBSのバックアップを作成する RDSのスナップショットを作成する S3のフォルダを削除する 便利スクリプト系 Route53の自動登録

    AWSで構築した環境にありがちなシェルスクリプトたち まとめ | DevelopersIO
    miguchi
    miguchi 2015/03/11
  • Android案件の見積り | DevelopersIO

    Android案件を何件か担当して見積り前に確認しておいた方がいいと思うことや決めておくこと、 事前に説明しておくべきことがいくつかあったのでまとめます。 ①ハードウェアの選定 ・どの端末をサポートしますか? 動作確認を行う端末を決めてもらいます。 複数の端末をサポートする場合、テストも複数の端末で行うため工数もそれに応じて増やす必要があります。 ・サポートするAndroidのバージョンは? 端末を決めた時点でほぼ決まってしまいますが"Android 2.2以上"のようにサポートする最小のバージョンを決めます。 特にお客様にご要望がない場合はアプリのリリース時期と端末、OSのシェアなどを考慮して提案しています。 ・タブレットでの使用は想定していますか? これはスマートフォン用に開発している案件で後からタブレットでも使用したい、 というご要望を受けることがあるためです。 ・マルチデバイス対応

  • [iOS 8/Xcode 6] SwiftではじめるiOS開発 #1 [Table View] | DevelopersIO

    ただいま基動作を絶賛学習中です。 Table View ツール系のアプリで使う場面が多いリスト表示について実装してみたいと思います。 Objective-Cの記事ですが、UITableViewを使うにあたって、事前にこちらの記事を確認しておくと、スムーズに理解できると思います。 [iOS] StoryboardでUITableViewを実装し理解する [4月からはじめるiPhoneアプリ #1] プロジェクトの作成 Single View Applicationでプロジェクトを作成します。 作成したプロジェクトのMain.storyboardを開き、右下のコンテナからTableViewを選択してドラッグ&ドロップでstoryboardのViewControllerに追加します。 次に、先ほど追加したTableViewをViewController.swiftに登録します。 ひとまずこれで

    [iOS 8/Xcode 6] SwiftではじめるiOS開発 #1 [Table View] | DevelopersIO
    miguchi
    miguchi 2015/02/17
  • [Rails]既存DBを操作するAPIを作成する | DevelopersIO

    はじめに Railsの勉強もかねてRESTfulなAPIを作ろうとしてみました。 そういった際に、0からテーブル構造を考えて、 モデルを作って・・・と言った教科書通りのやり方をやっていくといった方法があります。 今回は、Railsを用いてRESTfulなAPIを作る事を目標の為、 WordPressを立ち上げて、テーブルの設計やテーブルに対する操作はそれを参考にする事にしました。 そのため、今回の記事の内容は以下の通りになります。 WordPressの環境を構築する。 上記で構築したテーブルをRailsから接続し、APIを作成していく。 WordPressの環境を構築する 今回はWordPressが利用するテーブルを作成する事が目標のため、 Webサーバーも適当に立ててしまいます。 PHP 5.4.0からビルドインサーバーがあるため、 それを用いる事で容易にPHPが動くWebサーバーが立ち

    [Rails]既存DBを操作するAPIを作成する | DevelopersIO
  • Amazon EC2再入門 2015年1月版 | DevelopersIO

    ウィスキー、シガー、パイプをこよなく愛する大栗です。 半年前に「Amazon EC2再入門 2014年7月版」と銘打ってEC2の記事を書きましたが、AWSらしい頻繁なアップデートによって古くなっている部分もあるので、記事もアップデートしようと思います。 最近EC2関連の重要アップデートが出てきました。嬉しい機能が増えているのですが、昔の知識では使いこなせないので、現時点でのEC2の起動方法について纏めようと思います。 起動手順 EC2を起動していきましょう。 AMIの選択 AMI(Amazon Machine Image)を選択します。 AMIの種類 Amazon Machine Image(AMI)には以下のような種類があります。 My AMI 自分で作成したAMIです。 AWS Marketplace Marketpkaceで公開されているAMIです。 Community AMI 他の

    Amazon EC2再入門 2015年1月版 | DevelopersIO
    miguchi
    miguchi 2015/02/03
  • Treasure Dataの新データ転送ツールEmbulkを触ってみた #dtm_meetup | DevelopersIO

    ども、大瀧です。 日開催されたデータ転送ミドルウェア勉強会で、開発者の@frsyukiさんによって語られたEmbulkを早速触ってみました。 Embulkとは EmbulkはOSSのデータ転送ソフトウェアです。もう少し細かく分類するとBulk Loaderと呼ばれる、バッチ処理のためのデータ読み込み、変換処理を行う機能を持ちます。特徴は柔軟なプラグイン構造で、データを読み込むInputPlugin、データを出力するOutputPlugin、さらに読み込み処理自体もExecutorPluginと、機能のほとんどをプラグインとして後から追加、カスタマイズできるよう高度に抽象化されたアーキテクチャになっています。データのハンドリングもプラグインでの実装を想定しているようなので、ここまで来るとミドルウェアというより、データ転送のインターフェースを定義するフレームワークの実装、という方が近い感じか

    Treasure Dataの新データ転送ツールEmbulkを触ってみた #dtm_meetup | DevelopersIO
    miguchi
    miguchi 2015/01/29
  • 「データ転送ミドルウェア勉強会」レポート #dtm_meetup | DevelopersIO

    こんにちは、虎塚です。 1月27日(火)に「データ転送ミドルウェア勉強会」に参加してきましたのでレポートします。イベントは、SAPジャパンさんで開催されました。 今回のテーマは、まず、当日リリースされたばかりのOSSツールEmbulkの解説、次に、データ転送業界のドンHULFTの紹介、そして、今年リリース予定のfluentd v1について、最後に、HTTP/1とHTTP/2両対応のHTTPサーバH2Oの紹介でした。盛りだくさんですね。 懇親会ではトレジャーデータさんからピザが提供されました。SAPジャパンさん、トレジャーデータさん、ありがとうございます。 データ転送ミドルウェア勉強会 - dots.[ドッツ] 「バルクデータロードツール『Embulk』リリース 〜 fluentdの柔軟性と堅牢性をバルクでも」 最初のセッションは、トレジャーデータの古橋貞之さんによるEmbulkの思想やアー

    「データ転送ミドルウェア勉強会」レポート #dtm_meetup | DevelopersIO
    miguchi
    miguchi 2015/01/29
  • AWSチーム社内勉強会「git-flow」レポート | DevelopersIO

    こんにちは、虎塚です。 先日、git-flowをテーマに社内勉強会を行いました。講師役は、AWSチームの都元さんにお願いしました。 クラスメソッドではお客様向けにクラスメソッド・メンバーズというサービスを運営しています。このサービスの会員向けポータルサイトの開発で、Gitgit-flowを採用しています。そこで、メイン開発者である都元さんにgit-flowの概要を話してもらって、皆で聞こうということになりました。 いつもはAWSコンサルティング部のメンバーで実施している勉強会ですが、今回はテーマが開発寄りなので、AWSソリューション部の人たちにも参加してもらいました。AWSソリューション部は、システム開発を中心に行っている部署です。 上は秋葉原オフィスの会場です。札幌オフィス、上越オフィス、リモートワークのメンバーも、Googleハングアウトで接続して開催しました。 それでは、勉強会の内

    AWSチーム社内勉強会「git-flow」レポート | DevelopersIO
  • [iOS 8] 15分で作れる CI 環境構築 | DevelopersIO

    iOSアプリにも継続的インテグレーション環境を こんにちは!今日からMacDownでブログを書いています。荒川です。 モダンなWeb開発では馴染み深くなってきた、CI(継続的インテグレーション)環境を iOS 開発でも弊社では積極的に取り入れています。社内での共有も兼ねて、今回は簡単にまとめます。 「継続的インテグレーション」と聞くととても難しそうで、設定も大変そうです。ですので、最低限コピペで作れる程度の環境構築方法を紹介します。 iOS 開発での CI とは何かを詳しく知りたい方は、弊社諏訪の記事 iOSアプリ開発でCI/継続的デリバリ環境を始めるための4種の神器 を参考にしてください。 今回構築する環境は、以下に該当する方に最適です。 gitを使って iOS 開発を行っている。 チーム内でチャットツールを使っていて、そのAPIが公開されている。 テストコードを書いている。または、その

    [iOS 8] 15分で作れる CI 環境構築 | DevelopersIO
    miguchi
    miguchi 2014/11/11
  • 軽量JSONパーサー『jq』のドキュメント:『jq Manual』をざっくり日本語訳してみました | DevelopersIO

    jq Manual jqで簡単JSON加工 | Developers.IO jqコマンドが実は高性能すぎてビビッた話 - beatsync.net JSONを超絶に読みやすくする jq コマンド - WebAPIバリバリ使うor開発する人必須 CLIでJSONの整形をする - ( ꒪⌓꒪) ゆるよろ日記 JSON形式の情報を様々な条件や書式として成形、フィルタリングツール『jq』。上記関連エントリで私もこのツールの存在を知る事になったのですが、ツールの簡易さ・便利さに感動しながら私もちょくちょく利用させてもらっています。 そこでこのエントリでは、jq公式ページに展開されている利用ガイド・リファレンス的な位置付けの『jq Manual』を写経がてらざっくり日語訳してみました。ざっくり訳なのでこの部分の訳おかしい・間違ってる等ありましたら御指摘頂けると幸いです。例示されているサンプルコードも

    軽量JSONパーサー『jq』のドキュメント:『jq Manual』をざっくり日本語訳してみました | DevelopersIO
  • Amazon Direct Connectの”実際の”接続プランガイド | DevelopersIO

    ども、大瀧です。 AWSを業務システムで格的に使うというときに一度は検討するのが、Amazon Direct Connectだと思います。AWSのネットワーク(VPC)とデータセンターやオンプレミスのネットワークを接続するサービスというのはご存知の方が多いと思いますが、Direct Connectに対応する通信事業者(キャリア)のサービスカタログを見ると価格帯に開きがあったり、物理線なのに帯域幅が決まっていたりと各社の接続プランが比較しにくいかもしれません。 そこで今回は、キャリアごとになぜ接続プランが複数あるのか、どのプランがどういうケースにマッチするのか、簡単なガイドとしてご紹介します。 Direct Connectのキホン キャリアのサービスと組み合わせるのが定石 Direct Connectは、日ですとEquinix TY2にAWS東京リージョンとの接続ポイント(Derect

    Amazon Direct Connectの”実際の”接続プランガイド | DevelopersIO
  • AWSの費用見積でおさえておくべきポイント | DevelopersIO

    はじめに AWSの費用見積をする際におさえておいたほうがよいポイントについて説明します。 従量課金制である AWSのほとんどのリソースは1時間毎、もしくは利用量毎の課金です。 従量課金制の一番よいところは、ずっと使い続けなくてよいというところです(あたりまえですが)。 急なイベントの時にだけリソース増強 (弊社のこの事例はまさにそれです) 検証環境は必要な時に番環境から作成 という使い方をすることで費用削減が可能です。 実際の必要リソースがわからない部分については、リソース大目の環境を作って検証して、結果的に不必要であればその時点でインスタンスを小さく/大きくする等で対応できます。 最初の見積がずれていても、ずっとそのコストを払わなくてもよい点、頭の片隅のおいておいてください。 また、AWSならではの従量課金の項目もあります。 EBS(ネットワークストレージ)のI/O ネットワークの通信

    AWSの費用見積でおさえておくべきポイント | DevelopersIO
    miguchi
    miguchi 2014/05/25
  • 【AWS】古参ユーザーほど気をつけてほしいRI購入時の注意点(容量保証について) | DevelopersIO

    はじめに こんにちは植木和樹です。日はEC2でリザーブドインスタンスを購入する際の注意点についてのお話です。 リザーブドインスタンスは、最初にいくらかの初期費用(予約金)を払うことで、月々のインスタンス使用料を大幅に削減できる仕組みです。ところでリザーブドインスタンスには利用料の削減以外に「予約したアベイラビリティゾーンで起動するインスタンス数(容量)確保の保証」という効果もあります。 EC2 リザーブド インスタンス (大幅な割引料金で利用可能な EC2 インスタンス) | アマゾン ウェブ サービス(AWS語) 信頼性 リザーブドインスタンスでは容量を予約することができるため、必要な時に予約している分だけインスタンスを起動できるという安心感を持つことができます。 2013年5月以前にAWSアカウントを作成した方は注意! EC2-VPCのみが使えるAWSアカウントの場合 2013

    【AWS】古参ユーザーほど気をつけてほしいRI購入時の注意点(容量保証について) | DevelopersIO
  • AWSアクセスキーをgitに誤って登録しないようにする | DevelopersIO

    はじめに Gitはとても便利ですが、GitHub上で不適切に公開されている秘密鍵を使ってAWSに不正アクセスする事例が発生 というようにAWSアクセスキー、シークレットキーを誤って登録してしまうととても恐いことになります。利用者側で気をつけられるようにGitのフックをつくってみましたので報告します。 Git フックとは? Gitにはフックというなにかの操作の前後にスクリプトを実行できるような仕組みがあります。これを使うことにします。コミットの前に気づければよいのでpre-commitを使うことにします。サンプルファイルが .git/hooks/pre-commit.sampleにありますが、今回はシンプルにしたいので、.git/hooks/pre-commitをスクラッチで作ります。 アクセスキー混入防止フック とてもシンプルです。git diffをしてその中に KEYという行があり、さら

    AWSアクセスキーをgitに誤って登録しないようにする | DevelopersIO
  • データ構造について – AWSで始めるElasticSearch(4) | DevelopersIO

    はじめに @smokeymonkeyです。ここまで「とにかくElasticSearchをAWS上で動かす」ことを中心に調べてきました。ここで一度ElasticSearch自体の構造について整理したいと思います。 ElasticSearchの構造 ElasticSearchは大きく以下のようなデータ構造になっています。 index ... その名の通り索引です。このindexに検索対称のドキュメントを格納します。Indexは複数もつことが出来ます。 type ... 格納するドキュメントを種類によって分別することが出来ます。同じfieldリストを持つdocmentの集合体であり、データベースで言えばテーブルに相似します。 document ... 格納されたドキュメントです。また個々のドキュメントの識別子をidと呼びます。ドキュメントは1つ以上の項目(field)を持ち、データベースで言えば

    データ構造について – AWSで始めるElasticSearch(4) | DevelopersIO
  • Norikra+FluentdでDoS攻撃をブロックする仕組みを作ってみた | Developers.IO

    Norikraとは Norikraとはリアルタイム集計プロダクトです。イベントストリームに対してSQLライクな言語で処理を書くことが出来ます。 例えば、ApacheのアクセスログをNorikraに流し込み、1分あたりのアクセス数やレスポンスタイムの最大値をリアルタイムに集計することが出来ます。 Norikraの利用例は作者であるtagomorisさんのブログで紹介があります。 今回は、Norikraを使ってDoS攻撃をブロックする仕組みを作ってみました。 DoS攻撃ブロックの仕組み アクセス元はApacheのアクセスログから取得し、ログの受け渡しにはFluentdを利用しました。 ブロックの手順は以下のようになります。 アクセスログをFluentdのin_tailプラグインで取得。 Fluentdのout_norikraプラグインで、アクセスログをNorikraに流し込み。 Norikra

    Norikra+FluentdでDoS攻撃をブロックする仕組みを作ってみた | Developers.IO
  • AWSでマルチAZなセッション管理DBを構築する5つのプラクティス | DevelopersIO

    はじめに セッション管理が必要なWebアプリケーションサーバをロードバランシングやクラスタリングなどで負荷分散構成とした場合、セッション情報をデータベースに保持し共有化する方法が一般的です。しかしAWSのインフラストラクチャ障害などでAZが丸ごとダウンするようなケースを考慮した場合、Webアプリケーションサーバと共に、セッション管理DBも複数のAZに分散配置するのが望ましいでしょう。 ではAWSでセッション管理DBを複数のAZに分散配置する場合、どのような手段が考えられるのでしょうか。というのが今回のスタート地点です。 1.AZ分散配置しない いきなり前提を覆すような話をしますが、そもそもAZ分散配置が必要なケースは、AZが丸ごとダウンしセッション管理DBが使えなくなることがサービス停止に直結する場合です。 つまりアプリケーションが「セッション管理DBに接続出来ない場合はローカルのDBやフ

    AWSでマルチAZなセッション管理DBを構築する5つのプラクティス | DevelopersIO
  • Amazon EC2(Linux)システム管理で知らないとハマる5つの環境設定 | DevelopersIO

    ども、大瀧です。みなさん、EC2をバリバリ使ってますか?使いたいときにすぐ使える仮想マシンとして、開発・検証から番まで幅広く活用されていると思います。 日頃EC2を業務で運用する中で、EC2インスタンスをコピーすると意図しない環境設定に変わってしまうというトラブルが度々あり、cloud-initというツールに拠ることがわかってきました。 「EC2インスタンスのコピーなんて、一旦インスタンスを作成したあとはあまりやらないのでは?」と思われがちですが、EC2独特の制限などもあり、実際の運用では思ったよりも頻繁にインスタンスのコピーが必要になります。インスタンスのバックアップ&リストアなどはイメージしやすいと思いますが、それ以外にも意外なケースとして以下があります *1。インスタンスのコピーは、AMI(Amazon Machine Image:インスタンスのバックアップ)を取得し、新規インスタ

    Amazon EC2(Linux)システム管理で知らないとハマる5つの環境設定 | DevelopersIO
    miguchi
    miguchi 2014/02/07
  • AWS re:Invent2013参加レポート #13 AWS Storage and Database Architecture Best Practices | DevelopersIO

    AWS re:Invent2013参加レポート #13 AWS Storage and Database Architecture Best Practices AWSのエンタープライズソリューションアーキテクトである、Siva Raghupathyさんによる「AWS Storage and Database Architecture Best Practices」に参加してきました。 各ストレージ、データベースの向き不向きとベストプラクティスを網羅的に紹介する内容でした。 AWSはデータベースだけでも沢山のサービスがあるので、どのサービスを利用するのが一番いいのか迷うことがよくあります。 以下は発表内容の直訳ですが、それぞれのサービスの特性を押さえておくことで、より確かな選定をするための一助になればと思います。 英語が分からなくて、訳せていない部分があります。 自信が無いところは元の英語

    AWS re:Invent2013参加レポート #13 AWS Storage and Database Architecture Best Practices | DevelopersIO
    miguchi
    miguchi 2013/11/17