タグ

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

  • 【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
  • AWS の OpenSSL の Heartbleed Bug 対応が早かった! | DevelopersIO

    くどうです。 今日は朝からOpenSSLの問題がニュースになっていますが、 新規で作成される、EC2 Amazon Linux AMIでは対応済み。 インスタンス起動時に自動アップデートが走ります。 既存のバージョン(1.0.1から1.0.1f)で脆弱性が確認されています。 ただしEC2 Amazon Linux AMIでは以下のバージョンアップになります。 openssl-1.0.1e-37.64.amzn1.x86_64 ↓ openssl-1.0.1e-37.66.amzn1.x86_64 (2014/04/09追記) AWSの対応最新状況については下記をご参考ください。 AWS Services Updated to Address OpenSSL Vulnerability http://aws.amazon.com/jp/security/security-bulletins/

    AWS の OpenSSL の Heartbleed Bug 対応が早かった! | DevelopersIO
    equinox79
    equinox79 2014/04/08
  • 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
    equinox79
    equinox79 2014/04/02
  • Amazon Redshift DB開発者ガイド – クエリパフォーマンスチューニング(3).ワークロード管理の実装 | DevelopersIO

    Amazon Redshiftには、復数のクエリキューを定義し、実行時にクエリを適切なキューで走らせる事が出来るワークロード管理(WLM:Workload Management)というものがあります。 実行時間の長いクエリは、パフォーマンスのボトルネックになる事があります。例えば、あるデータウェアハウスで、ユーザーが2つのグループを持っているとします。1つのグループは、幾つかの大規模なテーブルから行を選択し、並べ替え、時折実行時間の長いクエリを送信します。2つ目のグループは頻繁に1〜2つのテーブルから少数の行を選択し、数秒で終るような実行時間の短いクエリを送信します。この状況では、実行時間の短いクエリは長く実行時間の掛かるクエリが完了するまで待機する必要が出て来ます。 実行時間の長いクエリ及び短いクエリに対する個別のキューを作成する際、WLM構成を変更する事により、システムのパフォーマンス

    Amazon Redshift DB開発者ガイド – クエリパフォーマンスチューニング(3).ワークロード管理の実装 | DevelopersIO
    equinox79
    equinox79 2014/03/31
  • AWS上にLAMPのBlue-Green Deployment環境を構築する | DevelopersIO

    よく訓練されたアップル信者、都元です。 先週土曜日にJAWS DAYS 2014でお話したCloudFormationセッションの一節で、Blue-Green Deploymentを実現するLAMP環境について触れました。この「Blue-Green Deployment」という言葉の出どころは、私の尊敬する人でもあるMartin Fowler氏の記事 BlueGreenDeployment(2010年) のようです。 Blue-Green Deploymentとは TODO…じゃなくてw(自分で傷口を抉る) 要するに、2つの独立したアプリ動作環境(要するにサーバ群)を用意して、それぞれをBlue, Greenと名づけます。そして、ここでは現在Blueがライブ(ユーザに提供中の番環境)であるとします。 リリース時には、Green側に新バージョンのアプリをデプロイして動作確認を行います。問題

    AWS上にLAMPのBlue-Green Deployment環境を構築する | DevelopersIO
    equinox79
    equinox79 2014/03/28
  • EC2でGlusterFSを使ってみた | DevelopersIO

    GlusterFSとは GlusterFSとはオープンソースの分散ファイルシステムです。 複数のサーバ上の記憶領域を集約して、1つのファイルシステムとして扱うことができます。 例えば、10台のLinuxサーバから、それぞれ100GBのディスク領域をGlusterFS用に提供し、1つの1TBのストレージとして使用することができます。 今回は、GlusterFSクラスタ(GlusterFS3.3.2)をEC2上に構築し、簡単な動作確認をしてみました。 用語説明 実際の構築に入る前に、GlusterFSで使われる用語について簡単に説明しておきます。 Storage Pool ストレージクラスタに参加するサーバ(ノード)の集まりです。GlusterFSにストレージを提供するサーバは、あらかじめStorage Poolに参加させておく必要があります。 Brick 個々のサーバ上のディレクトリで、Gl

    EC2でGlusterFSを使ってみた | DevelopersIO
    equinox79
    equinox79 2014/03/27
  • Immutable Infrastructure Conference #1 に参加してきた #immutableinfra | DevelopersIO

    Immutable Infrastructure Conference #1 : ATND 2014/03/25 Immutable Infrastructure Conference #1 #immutableinfra - Togetterまとめ 最近は最早バズワード化した感も充分ある『Immutable Infrastructure』。この長〜いフレーズを発音する際に途中発音を噛む人が後を絶たない今日この頃、皆様いかがお過ごしでしょうか。(発音に悩んでいる、何とか噛まないようにしたい!という方は以下のエントリを参考にしてみる事をお勧めします) [小ネタ]噛まずにImmutable Infrastructureと言うために | Developers.IO さて、題です。こちらの『Immutable Infrastructure Conference #1』、発表と同時に参加応募者が殺

    Immutable Infrastructure Conference #1 に参加してきた #immutableinfra | DevelopersIO
    equinox79
    equinox79 2014/03/26
  • ELBのアクセスログをfluent-plugin-elb-logを使ってkibanaで表示する | DevelopersIO

    はじめに 先日お伝えしました通り、ELBのアクセスログが取得出来るようになったのですが、すぐさまfluent-plugin-elb-logというfluentプラグインがリリースされました。さすがfluentd界隈、対応が早いです。 ということで、今回はELBのアクセスログをfluentd経由でElasticsearchに取り込み、それをKibanaで表示したいと思います! セットアップ Elasticsearch Elasticsearchは最新のrpmパッケージを更新サイトから取得し、rpmコマンドでインストールします。 $ wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.0.0.noarch.rpm $ sudo rpm -ivh ./elasticsearch-1.

    ELBのアクセスログをfluent-plugin-elb-logを使ってkibanaで表示する | DevelopersIO
    equinox79
    equinox79 2014/03/25
  • ELBがアクセスログを出力できるようになりました! | DevelopersIO

    はじめに ついにELBがアクセスログを出力できるようになりました!(Elastic Load Balancing Announces Access Logs) ということでやってみました! 設定 [Load Balancers]画面を開き、設定したいELBを選択します。画面下部の[Description]タブの一番下に[Access Logs]という項目があります! なおこの項目は新しいManagement Consoleでしか表示されません。以前のManagement Consoleを使用されている場合は、画面右上に青い吹き出しのようなアイコンが表示されていますので、クリックし「Try the new design」の[Click here]リンクをクリックすると、新しいデザインのManagement Consoleに切り替わります。 さて、[Access Logs]の[Edit]リンク

    ELBがアクセスログを出力できるようになりました! | DevelopersIO
    equinox79
    equinox79 2014/03/08
    おおっ
  • データ構造について – AWSで始めるElasticSearch(4) | DevelopersIO

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

    データ構造について – AWSで始めるElasticSearch(4) | DevelopersIO
    equinox79
    equinox79 2014/02/27
  • Android Tips #41 ZXing ライブラリ (2.1) を使って QR コードを読み取る | DevelopersIO

    ZXing ライブラリとは ZXing ("Zebra Crossing"と呼ぶ) はバーコードをアプリ内で読み取るためのオープンソース・ライブラリです。Google が提供しています。このライブラリを使うと1次元バーコードと2次元バーコード (QRコード) を画像から簡単に読み取ることができます。Android だけではなく iOS 用や ActionScript 用などさまざまなプラットフォーム向けのライブラリが提供されています。 QR コードを読み取るアプリのほとんどが ZXing ライブラリを使っているといっても過言ではないでしょう。Android アプリでは「QRコードスキャナー」という有名なアプリがありますが、もちろんこのライブラリを使って実装されています。 今回はそんな ZXing ライブラリを使って QR コードを読み取るアプリを実装してみたいと思います! 今回つくるアプリ

    Android Tips #41 ZXing ライブラリ (2.1) を使って QR コードを読み取る | DevelopersIO
    equinox79
    equinox79 2014/02/25
  • S3のアクセスコントロールが多すぎて訳が解らないので整理してみる | DevelopersIO

    おまけ 今回調査に使ったシェルスクリプト載せておきます。 権限毎にバケット何個も作って、オブジェクトも作って、アクセスしてみて、終わったら削除してという感じのものです。 #!/bin/bash UNIQ=$(date +'%Y%m%d%I%M%S') alias aws='aws --region ap-northeast-1' BUCKET_PREFIX=akeri-acl-test-$UNIQ- TARGET_PRINCIPAL="arn:aws:iam::123456789012:user/s3acltest" TARGET_MAIL="example@example.com" # create Bucket Policy Document UPLOADFILE=akeridayo.txt IAM_USERNAME=s3acltest echo "akeridayo" > $UPLO

    S3のアクセスコントロールが多すぎて訳が解らないので整理してみる | DevelopersIO
    equinox79
    equinox79 2014/01/31
  • CloudFrontのキャッシュ時間(TTL)はどの程度なのか | DevelopersIO

    よく訓練されたアップル信者、都元です。 CloudFrontはContents Delivary Network、所謂CDNですが、ざっくりと言ってしまえば、要するにキャッシュ機能を持ったHTTPリバースプロキシです。CloudFrontでは、元々のコンテンツ提供をするサーバのことをオリジンと呼びます。 CloudFrontでは、オリジンから提供されるコンテンツを、エッジサーバと呼ばれる世界各地に点在するコンテンツ配信専用のサーバ上にキャッシュすることによって、高い転送速度パフォーマンスを発揮しています。しかし、キャッシュというのはオリジン上のコンテンツの更新があった時に、内容が乖離してしまうという問題があります。 通常、CloudFrontは静的コンテンツ *1の配信に利用します。しかし、静的なコンテンツではあるのですが、定期的にファイルの差替えを行う、という可能性が無いわけではありませ

    CloudFrontのキャッシュ時間(TTL)はどの程度なのか | DevelopersIO
    equinox79
    equinox79 2013/12/19
  • 【AWS】お知らせ:2013年11月のRDS自動マイナーバージョンアップグレードに際して注意することをまとめました | DevelopersIO

    日の課題 こんにちは植木和樹です。 日は2013年10月19日です。AWSから「RDS自動マイナーバージョンアップグレード」のお知らせが通知されています。 Announcement: Announcing auto minor version upgrade schedule for MySQL 5.1, 5.5 and 5.6 As part of delivering the automatic version upgrade functionality, we will be auto-upgrading all the Amazon RDS database instances with the "Auto Minor Version Upgrade" flag set as "Yes" to the latest minor versions during the maint

    【AWS】お知らせ:2013年11月のRDS自動マイナーバージョンアップグレードに際して注意することをまとめました | DevelopersIO
    equinox79
    equinox79 2013/11/28
  • Amazon Redshift DB開発者ガイド – データのロード処理(6).テーブルの更新について | DevelopersIO

    最近弊社AWSチームのメンバーが諸々の事情で別室(a.k.a.ショムニ部屋 命名者はこの御方)にメンバー丸ごとお引越しをしたのですが、先日この部屋にAppleTVが設置され、皆さんこぞって思い思いの楽しみ方をしつつ仕事に全力投球している今日この頃、皆様いかがお過ごしでしょうか。しんやです。 データロード処理についてはこれまで5エントリを書いてきましたが、当エントリはその続編、6目となります。テーマは『テーブルの更新』です。データロードは基的に"登録"ですが、局面として既存投入済データを更新したいというケースも勿論ある訳で、その辺りについて色々見ていこうと思います。ボリューム的にはまだまだ少ない感じはありますが、有用な情報が見つかったら適宜こちらのエントリに追記更新をして行きたいと思います。 Amazon Redshift DB開発者ガイド – データのロード処理(1).データロードの

    Amazon Redshift DB開発者ガイド – データのロード処理(6).テーブルの更新について | DevelopersIO
    equinox79
    equinox79 2013/11/07
  • 【AWS】VPC環境の作成ノウハウをまとめた社内向け資料を公開してみる | DevelopersIO

    よく訓練されたアップル信者、都元です。今回のお題は久しぶりにVPCです。 この記事は、アップデート版が存在します。最新情報は【AWSVPC環境構築ノウハウ社内資料 2014年4月版を参照してください。 VPCを利用する理由 弊社で構築するAWSのサーバ環境は、一部の例外を除いて全てVPCを利用しています。 突然ですが、筆者はあまり大規模なシステムに携わった経験がありません。大規模なプロジェクトだと「数百数千台のサーバがラッキングされ、それが論理的なネットワークで区切られていて」「複数のデータセンターが冗長化された専用線で結ばれて」等、正直ちょっと想像つかない世界があるんだと思います。よくわかんないですが。 (c)John McStravick. (CC BY 2.0 Licensed) 逆に、小さなシステムであれば、月々数万円でレンタルサーバを借りて「1台のマシンの中にWebサーバとDB

    【AWS】VPC環境の作成ノウハウをまとめた社内向け資料を公開してみる | DevelopersIO
    equinox79
    equinox79 2013/10/25
  • Amazon Elastic MapReduceを使ってDynamo DBのデータをS3へ保存する | DevelopersIO

    DynamoDB to S3 この記事ではDynamoのデータをRedshiftに移行しています。 今回はコスト的な関係もあり、「DynamoからS3へデータを保存せよ」という指令を受けたため、その方法について調査していました。 また、この記事 にあるように、特定のリージョンではテーブルのexportができるようなのですが、せっかくなのでAmazon Elastic MapReduce(EMR)をつかって自分でS3へDynamoの内容を保存してみます。 環境構築方法 今回使用した動作環境は以下のとおりです。 OS : MacOS X 10.7.5 ruby : 1.8.7 AWSのアカウントについては登録済みであるとします。 Amazon EMRの概要について少し ここでEMRやその他技術についてはけっこう解説しているので、ここでは簡単に解説しておきます。 Amazon EMRとは Ama

    equinox79
    equinox79 2013/10/22
  • Android Tips #51 ネットワーク通信・キャッシュ処理をより速く、簡単に実装できるライブラリ “Volley” を使ってみた | DevelopersIO

    Android Tips #51 ネットワーク通信・キャッシュ処理をより速く、簡単に実装できるライブラリ “Volley” を使ってみた Volley とは 先日開催された Google I/O 2013 で Volley というネットワーク処理を高速化するライブラリが発表・公開されました。Volley を使うとよくあるネットワーク通信処理やキャッシュ処理を今までより簡単に実装することができます。物凄く魅力的ですね!以下のような機能があるようです。 JSON や画像ファイルなどのダウンロード非同期処理の簡素化 リクエストのスケジューリング リクエストの優先順位付け メモリキャッシュ・ディスクキャッシュ 強力で簡単なリクエストキャンセル Activity が存在しないときの自動キャンセル ということで Volley をアプリに入れて使うまで試してみたいとおもいます。またセッションの内容は以下

    Android Tips #51 ネットワーク通信・キャッシュ処理をより速く、簡単に実装できるライブラリ “Volley” を使ってみた | DevelopersIO
    equinox79
    equinox79 2013/09/24
  • [AWS]DynamoDBで並列スキャンを試してみよう[Node.js] | DevelopersIO

    Dynamoに新機能が追加されました 少し前になりますが、ここにあるように、Dynamoに新機能が追加されました。 並列スキャン機能 すばやいプロビジョンドスループットの変更 リードキャパシティの測定方法を変更によるコスト削減 どれもうれしい新機能なのですが、この記事では並列スキャンをaws-sdk-jsから使用する方法について紹介します。 Dynamoの並列スキャン ここの解説の繰り返しになってしまいますが、DynamoDBはアクセス速度高速化のため、複数の物理ストレージのパーティションにデータを保存しています。 Dyanamoのスキャンのよるスループットはひとつのパーティションの最大スループットによって制限されますが、 これにより、スキャンがテーブルに設定されたリードキャパシティをフル活用できないという問題があります。 そこで、より高速にデータを取得するため、並列スキャンを使用すること

    equinox79
    equinox79 2013/08/27
  • [AWS] Amazon SNS の新機能「Mobile Push」を Android で使ってみた | DevelopersIO

    はじめに 8月13日(現地時間)、Amazon SNS にモバイルデバイス用の新機能「Mobile Push」がリリースされました。これによって SNS と GCM を組み合わせたプッシュ通知機能を簡単に実装することができます。ちなみに iOS は APNS、Kindle Fire は ADM といったようにクロスプラットフォームなプッシュ通知を簡単に実装することができます。しかも100万件まで無料! ということでサクッとサンプルコードを試してみました。 ちなみに SNS ってなんじゃーってかたはこちらを、GCMについてはこちらをご参照ください! iOS 版はこちら! 事前準備 AWSアカウントの作成 Google APIアカウントの作成 (自分の Google アカウントで OK です) Google Play Services SDK のインポート AWS SDK for Java

    [AWS] Amazon SNS の新機能「Mobile Push」を Android で使ってみた | DevelopersIO
    equinox79
    equinox79 2013/08/19