タグ

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

  • Amazon S3バケットへのファイルアップロードを実現する – 01.概要&GUIお勧めツール編 | DevelopersIO

    AWSに於いて、クラウドストレージサービスの『S3』は実に様々な各種AWSサービスから利用されています。サービスとしては特に欠かせないものの1つでしょう。 S3の数ある利用用途の中の1つとして『DBへデータを投入するための前段階としてS3バケットにファイルをアップロードする』というケースというものが考えられるかと思います。RDS(MySQL/Oracle/SQLServer)然り、データウェアハウス(Redshift)然り、NoSQL(DynamoDB)然り。良くある操作ですが、この操作はその手段や人手が絡む度合いに拠って、幾つかに分類する事が可能です。 そこで当エントリ、及び以降数回の続編エントリに亘って、『どんな手段があるのか、どういう風に組めばそれが実現出来るのか』と言ったポイントをキャプチャやサンプルコードを交えてそれぞれご紹介して行きたいと思います。 まずは『手段』の種類について

    Amazon S3バケットへのファイルアップロードを実現する – 01.概要&GUIお勧めツール編 | DevelopersIO
    kamm
    kamm 2014/07/16
  • [AWS][iOS] Amazon Cognito のモバイルユーザー認証 & データ同期 を iOS で使ってみた | DevelopersIO

    次に進むと、IAM の設定が表示されます。IAM とは (簡単に説明すると) AWS サービスのうち、どのサービスのどの機能を使うことをできるようにするか適切に設定するための機能です。この画面から作成することもできますし、作成済みの IAM を選択することもできます。 Assign Role Authenticated Identities は ID プロバイダを利用したログインを行う場合に使う IAM Role、Assign Role Unauthenticated Identities は匿名ユーザーとしてサービスを使いたい場合に使う IAM Role です。 ここまで入力できれば終わりです。サンプルコードが表示されます。また、サンプルアプリもダウンロードできるのでこちらを試してみても良いかと思います。 Cognito を使った iOS アプリを作ってみる いよいよ iOS アプリに組

    [AWS][iOS] Amazon Cognito のモバイルユーザー認証 & データ同期 を iOS で使ってみた | DevelopersIO
  • PV->HVM変換ツール pv2hvm.rbを試してみた | DevelopersIO

    はじめに こんばんは、たけかわです。 最近話題のt2.microインスタンスですが、仮想化方式がHVM(Xen Full virtualization)のものしか使えないため、既存のPV(Xen Para-virtulaization)のイメージがつかえません。そこで変換をしたいという要望をお客様より幾つか受けたので調べてみました。 PVとHVMについて PVとHVMはもともと歴史のあるXenから来ている話ですので多くのよい説明があります。というわけでリンクを示して少し話を端折らせてもらいます。 メモ: AMIの仮想化方式 hvm、paravirtualについて 仮想化方式(HVM と PV)についてまとめ AWS Virtualization : HVM vs Paravirtualization 自分の理解では、当初は性能的な利点のあるPVがよい選択肢ではあったが、ホストする側のマシン

    PV->HVM変換ツール pv2hvm.rbを試してみた | DevelopersIO
    kamm
    kamm 2014/07/08
    t2インスタンスがHVMのAMIしか使えないとは。プチハマったよ
  • iOS Facebook, Google APIの利用 – 認証 | DevelopersIO

    iOSでFacebook、GoogleAPIの利用に必要な認証を試してみました。 どちらもiOS用にライブラリが用意されています。ライブラリのチュートリアルのサイトもあり、iOS開発の基的な知識があれば簡単に試すことができます。 二つのライブラリについて簡単にですがまとめたいと思います。 Facebook APIの認証について Facebookの認証ではSSO(Single Sign-On)が提供されています。 対象のアプリケーションが動くデバイスでFacebookのiOSアプリケーションがインストールされていてユーザーが認証を行っていた場合には、 ユーザーが対象のアプリケーションに許可を与える際、ユーザー名、パスワードを入力する必要はありません。 またFacebookのiOSアプリケーションがインストールされていない場合はSafariで認証画面を開くなど、環境に応じた動きも組み込まれ

    kamm
    kamm 2014/07/07
  • 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
  • DynamoDBトランザクションライブラリをちょっぴり試してみた | DevelopersIO

    よく訓練されたアップル信者、都元です。 AWSにおける代表的なKVS型データベース「DynamoDB」、皆様活用されておりますでしょうか。 RDBはACIDという特性が(略)。一方KVSではBASEという(略)。この辺りについてはAmazon RDSにおけるFallback-Queueingパターンというエントリでご紹介しましたので、参照してください。 さて、そんなDynamoDBでトランザクションを実現するJavaライブラリが出現しました。名前はそのまんま「dynamodb-transactions」。 というわけで早速試してみました。 インストール Javaプロジェクトでライブラリを利用する際は、Maven等を使ってpom.xml等に依存性を定義するだけで使えると良いのですが、このライブラリは現時点ではどこかのMavenリポジトリにホストされている訳ではないようなので、自分でビルドする

    DynamoDBトランザクションライブラリをちょっぴり試してみた | DevelopersIO
  • クローズド環境のGitHub欲しいよね! GitBucket編|アドカレ2013 : CFn #13 | DevelopersIO

    よく訓練されたアップル信者、都元です。アドベントカレンダー2013「AWS CloudFormationビッグバンテンプレート」、日は13日目です。ああ、今日って13日の金曜日なんすねー。 さてさて、昨日はしんやさんのOpenPNE編でした。 GitHubクローン GitHubが流行ってしばらく経ち、世の中にはOSSのGitHubクローンがうまれました。その中でもGitLabは有名ですね。しかし日はGitLabではなく、Scalaで書かれたGitHubクローン「GitBucket」をAWS環境に一発構築してみましょう。 ちなみに、GitBucketの作者様は@takezoenさんという方です。日製です。また、私の好きなデータアクセスフレームワーク「Mirage SQL」も@takezoenさん作です。私がエンジニアの道に引き込まれたのも@takezoenさんの書いたが一因だと思いま

    クローズド環境のGitHub欲しいよね! GitBucket編|アドカレ2013 : CFn #13 | DevelopersIO
    kamm
    kamm 2014/04/23
  • Kuromojiで日本語全文検索 – AWSで始めるElasticSearch(1) | DevelopersIO

    はじめに 初めまして、ブロガーとして出張してきました@smokeymonkeyです。 今回、AWS上にElasticSearchを導入し、試行錯誤した結果をまとめてみました。シリーズものとして何度か続けていきたいと思いますので、どうぞ宜しくお願い致します。 ElasticSearchとは Apache v2ライセンスで公開されているオープンソースソフトウェアであり、全文検索エンジンであるLuceneを使用した、全文検索システムです。特徴として RESTfulなAPIが使える InputもOutputもJSON スキーマフリーなので面倒な定義無しにデータを登録可能 等があります。 Kuromojiとは Kuromojiはatilika社製のJavaで書かれた日形態素解析ソフトウェアで、Apache v2ライセンスで公開されているオープンソースソフトウェアです。形態素解析としてはChaSe

    Kuromojiで日本語全文検索 – AWSで始めるElasticSearch(1) | DevelopersIO
    kamm
    kamm 2014/04/05
  • Amazon Route 53のDNSフェイルオーバー機能を利用したリージョンを跨いだバックアップサイトの構築(EC2 to S3編) | DevelopersIO

    Amazon Route 53のDNSフェイルオーバー機能を利用したリージョンを跨いだバックアップサイトの構築(EC2 to S3編) [2013/02/15]記事のタイトルを変えました。 プライマリサイト(EC2ベース)からセカンダリサイト(S3ベース)へのDNSフェイルオーバーの記事となります。 Route 53へのフェイルオーバー機能とヘルスチェック機能の追加 先日のAWSよりRoute 53へのフェイルオーバー機能とヘルスチェック機能の追加に関しての発表がありました。 AWSでWebサイトなどをホストする場合、障害発生時に一時的にSorry Pageを表示したり、バックアップのWebサイトに切り替えたりといったことを自動的に行うことはこれまで比較的難しいかったと思います。 今回、Route 53にフェイルオーバー機能が追加されたことにより、プライマリサイトがダウンした際に、自動的に

    kamm
    kamm 2014/04/03
  • Using Ansible on AWS – EC2インスタンスを作成する | DevelopersIO

    はじめに AWSでのプロビジョニングは、AWS公式サイトのドキュメント(AWS CloudFormation のアーティクルとチュートリアル)等にも記述されているように、CloudFormationを中心にPuppetやChefを組み合わせるという方法が多く使われています。 しかしPuppetもChefもサーバ/クライアント構成(またはスタンドアロン)で動作するシステムであるため、サーバとクライアントの両方にソフトウェアをインストールする必要があります。またChefのCookbookは多機能である一方少々煩雑です。 もっと簡単な処理を手軽に行えたらなぁ...ということで、サーバサービス不要でYAMLで記述するプロビジョニングツールであるAnsibleを使ってみました。 Ansibleの良い所 sshdで接続してコマンドを投入するだけなので余計なサーバサービスの導入が不要。 YAMLなので記

    Using Ansible on AWS – EC2インスタンスを作成する | DevelopersIO
    kamm
    kamm 2014/03/31
  • 全Togetter&ブログレポートまとめ #jawsdays – JAWS DAYS 2014 参加レポート Vol.00 | DevelopersIO

    JAWS DAYS 2014は、トータルで1000人近いの参加者数となり、大盛況のうちにその幕を閉じました。関係者の皆様、参加者の皆様、ありがとうございました! 発表資料やイベントの公式な情報については、恐らくAWS/JAWS-UGの公式サイト側で近日中に何らかまとめられる事になると思われます。 そこで当エントリでは、それら以外の情報について"非公式まとめ"として情報を集約して行きたいと思います。 (※各種情報については暫くの間、適宜更新していく予定です。) 目次 開催前告知エントリ一覧 イベント関連のTogetter一覧 AWSチームメンバーによる参加レポート一覧 登壇者・参加者のレポート一覧 開催前告知エントリ一覧 今回JAWS DAYS 2014では、広報活動を兼ねての"『JAWS DAYS 2014』開催前告知"シリーズを書かせて頂きました。その数、約2ヶ月間で計16。イベント

    全Togetter&ブログレポートまとめ #jawsdays – JAWS DAYS 2014 参加レポート Vol.00 | DevelopersIO
    kamm
    kamm 2014/03/17
  • Amazon DynamoDBによるTomcatセッション永続化とフェイルオーバー | DevelopersIO

    Tomcatのセッション管理 Tomcatでクラスター構成にする場合、課題となるのがセッション管理です。ロードバランサーでセッションIDを保持することで、毎回同じサーバーにリクエストが向かうのであれば問題なさそうに見えますが、あるサーバーがダウンしてしまうとセッション情報が消えてしまいます。これを解決する方法として、データベースにセッション情報を保持する方法が一般的ですが、データベースへ負荷が掛かりますし、データベースが落ちたら困ります。何かもっと良い方法は無いかと皆さん思っていたはずです。そこで、AWSですよねー。AWSでは、ElastiCacheやDynamoDBがサービスとして提供されています。ここで、永続化をしっかりやってくれるのはDynamoDBであり、AWS SDK for Javaでの登場が待たれていたわけです。そして、このたび出てきました! スティッキーセッション ロードバ

    Amazon DynamoDBによるTomcatセッション永続化とフェイルオーバー | DevelopersIO
  • 【AWS】MySQL on EC2→RDSのDBレプリケーションを試してみた | DevelopersIO

    はじめに こんにちは植木和樹です。先日AWSより非RDSなMySQLからRDSへのレプリケーションを用いたデータ移行機能が発表されました。 Migrate On-Premises MySQL Data to Amazon RDS (and back) 非RDS→RDSへのレプリケーションについては、以前都元さんが「Tungsten Replicatorを使って、非RDS→RDSのMySQLレプリケーションを行う」というブログを書いています。サービスの停止を極力短くしつつ大量のデータを移行する際、今まではデータ移行ツールを使う必要がありました。 今回追加された機能によって簡単にデータ移行ができるようになるのでしょうか。試してみたいと思います。 条件 非RDS→RDSへのレプリケーションは以下の条件を満たす必要があります。 RDS: MySQL 5.5.33 以上 または 5.6.13 以上

    【AWS】MySQL on EC2→RDSのDBレプリケーションを試してみた | DevelopersIO
  • Amazon Redshift DB開発者ガイド – データのアンロード処理 | DevelopersIO

    データベーステーブルからAmazon S3の一連のファイルにデータをアンロードする為に、SELECT文とUNLOADコマンドを使用する事が出来ます。それをロードする為に使われたデータフォーマット形式の如何に関わらず、区切り文字形式若しくは固定幅形式のいずれかでテキストデータをアンロードする事が出来ます。また、圧縮されたGZIPファイルを作成するかどうかも指定出来ます。 一時的なセキュリティ証明書を使用して、Amazon S3バケットへのアクセスユーザを制限する事も出来ます。 重要: Amazon Redshiftでは、出力ファイルを書き込むAmazon S3バケットは クラスタと同じリージョン内に作成する必要があります。 目次 Amazon S3へのアンロード処理 暗号化ファイルのアンロード処理 区切り文字 or 固定幅フォーマットデータのアンロード処理 アンロード処理済データのリロード

    Amazon Redshift DB開発者ガイド – データのアンロード処理 | DevelopersIO
    kamm
    kamm 2014/01/16
  • 【AWS】RDS for MySQLで共有テーブルスペースに構成変更する際の所要時間を実測してみた | DevelopersIO

    今回の課題 こんにちは植木和樹です。RDS for MySQLを使用していたところ以下のような見慣れないメッセージが通知されてきました。 DB Instance XXXX-XXXX has a large number of tables and has the parameter innodb_file_per_table set to 1, which can increase database recovery time significantly. Consider setting this parameter to 0 in the parameter group associated with this DB instance to minimize database downtime during reboots and failovers. あわせてメッセージには下記URL

    kamm
    kamm 2014/01/14
  • 『JAWS DAYS 2014』開催前告知 #01 開催のお知らせ&公式サイトオープン! #jawsdays #jawsug | DevelopersIO

    この度、JAWS DAYS 2014の広報担当を仰せつかりました。スタッフの一員として、当イベントについて開催前の期間、イベントで行われるセッションや企画等について当ブログにて見所、聞き所などを踏まえて色々と紹介して行ければと思います。よろしくお願いします! ということでまずは1目。イベント開催のお知らせと公式サイト公開開始に関するエントリです。 公式サイト イベントの募集自体は既に始まっていましたが、先日(2014/01/09)ついに公式サイトもオープン致しました!サイトはこちら。 JAWS DAYS 2014 募集サイトはこちら。今回このJAWS DAYS 2014、何と定員は1000人!!!既に150人近くの方々が参加登録されています。参加登録はお早めに。 JAWS DAYS 2014(編エントリー) - JAWS DAYS 2014 | Doorkeeper 参加登録を促すべく

    『JAWS DAYS 2014』開催前告知 #01 開催のお知らせ&公式サイトオープン! #jawsdays #jawsug | DevelopersIO
    kamm
    kamm 2014/01/10
  • ユニットテスト改善ガイド | DevelopersIO

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

    ユニットテスト改善ガイド | DevelopersIO
    kamm
    kamm 2013/11/13
  • 【AWS】JenkinsとserverspecでChefのテストを自動化する | DevelopersIO

    はじめに こんにちは植木和樹です。相変わらずCloudFormationとChefな毎日を送っています。そのおかげで、最近は実験用サーバを設定するときにも極力手作業はなくし、CloudFormationやChefを使って自動化・省力化する習慣がつきました。以前作ったCookbookを使用して、コマンド1つで新環境が構築されたときって気分いいですよね。 さてChefのCookbookが増えてきて徐々に再利用が進んではいるのですが、Cookbookを作成してから数週間もすると「当にこのクックブックはまだ動くのかな?」と不安になってきます。ここはやはり、Cookbookが正しく適用されることを継続して保証する仕組みがほしいところです。 日はChef Cookbookのテスト自動化の一例として、JenkinsからEC2を起動してからchef-soloを使ってCookbooksを適用し、その後s

  • Amazon Redshift DB開発者ガイド – データベースセキュリティ管理 | DevelopersIO

    データベースセキュリティは、ユーザーがそのDBオブジェクトにどのようなアクセス権をもたせるかを制御する事によって管理します。データベースオブジェクトへのアクセスは、ユーザーアカウントまたはグループに付与する権限に依存します。次のガイドラインでは、データベースのセキュリティがどのように機能するかを要約して行きます。 デフォルトでは、権限はオブジェクトの所有者に付与されます。 Amazon Redshiftのデータベースユーザーはデータベースに接続出来るユーザーアカウント名が付けられています。ユーザーアカウントは、権限を直接アカウントに割り当てられる、または暗黙的に権限を付与されたグループのメンバーとなる事によって権限を明示的に付与されます。 グループは、セキュリティ維持をより簡易にする為の、あるひとまとめの権限を割り当てられたユーザーの集まりです。 スキーマはデータベーステーブルと他のデータ

    Amazon Redshift DB開発者ガイド – データベースセキュリティ管理 | DevelopersIO
    kamm
    kamm 2013/08/21
  • Amazon CloudFrontとRename Distributionパターンの実装 | DevelopersIO

    Amazon CloudFrontの使いどころ Amazon CloudFrontはオリジンサーバの代わりにコンテンツをキャッシュして配信してくれるサービスです。キャッシュの入っているサーバをエッジサーバと言います。東京リージョン内では、東京と大阪にエッジロケーション(エッジサーバが置いてある場所)があります。全世界で数十拠点あり、1つのオリジンサーバから全世界に配信することができます。オリジンサーバには、S3かWebサーバの載っているEC2インスタンスかAWS管理下かどうかに関係なくドメイン名を指定することができます。 キャッシュを指定する場所 Webサーバがコンテンツをユーザに届ける際、どの程度キャッシュするか指定します。CloudFrontを使う場合、オリジンサーバのキャッシュ時間を引き継ぐか、独自に設定することができます。キャッシュする時間が長ければオリジンサーバへの負荷はもちろん

    kamm
    kamm 2013/08/20