Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。この本では、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...
札幌のフリーランサーまいむぞうのブログ。Android関連、コンピュータビジョン、IoT、ロボティクスあたりをやっています。 まず、EC2で何がしたいのかをまとめてみる。 「システムとしてはサーバスペック(単体性能やスケールアウトによる負荷分散)やバックアップ設備やストレージなどが大量に必要なシステムなんだけど、まじめにやると初期投資が大きすぎて大変。かつ、コスト的に採算が合うのは、サービスとしてうまく軌道に乗って、ユーザやコンテンツが集まってしばらくしてからで、サービス開始当初はかなりのマイナス位置からのスタートとなる」ような場合に、将来的な拡張性と初期投資を押さえるという両面を満足させたい。 Ruby on Railsを動かしたい。 メールフォームとかにRuby on Railsは大げさだから、PHPも動かしたい。 DBはMySQLかSQLiteでいい。 普通は流行るシステムなんて一握
はじめてのAmazon EC2&S3 ~これからの新サービスの公開の形~ 第1回仮想マシンレンタルサービスAmazon EC2、大容量ストレージサービスAmazon S3を使ってみよう はじめに Amazonはネット最大のオンラインショップサイトとして非常に有名ですが、同時に、書籍情報などを取得できるAmazon Associates Web Service(A2S。旧名Amazon ECS)というWebサービスを積極的に展開していることでも有名です。 一般的にAmazonのWebサービスと言えばA2Sですが、実はA2SはAmazon Web Services(AWS)の一部に過ぎません。AmazonはA2S以外にも、開発者向けにさまざまなサービスを提供しています。AWSで現在提供されているサービスを表1にまとめました。 表1 Amazon Web Servicesのサービス
WebDAVとAmazon S3に対応した「Cyberduck 3.0」 Cyberduck開発プロジェクトは14日 (米国時間)、FTPなど多様なプロトコルに対応するクライアントソフト「Cyberduck 3.0」をリリースした。動作環境はMac OS X 10.4以降、PowerPCとIntel両対応のバイナリパッケージ (ユニバーサルバイナリ) のほか、GNU GPLv2ライセンスのもとソースコードが公開される。 今回のリリースは、約5年ぶりとなるメジャーバージョンアップ版。2008年4月から提供が開始されたβ版以降は、HTTPベースのファイル共有プロトコル「WebDAV」のほか、ネット通販大手Amazonが提供する有料ストレージサービス「Amazon S3」を新たにサポート。従来のFTP / SFTPに加え、ファイルを取得する経路が増加した。 操作性およびMac OS Xとの親和性
S3+EC2を使っていると、S3に保存したムービーや画像と言った大きなデータを、クライアントに返したい場合があります。 そのときにリバースプロキシを使う方法もあるけど、権限やユーザによって振り分けたい場合などは、単純なリバースプロキシではうまくいきません。 Rails側でNet::HTTPなどを使ってS3からデータを取ってくる方法もあるのですが、それだとパフォーマンスが悪すぎです。 負荷分散することを考えると、これはApacheモジュールか、リバースプロキシ側でやって欲しい作業です。自分で書こうと思ったけど、調べてみたらやっぱり同じようなのがありました。 リバースプロキシなどの中には、X-REPROXY-URLというヘッダをサポートしているものがあり、これを戻すとリバースプロキシが代わりにこのURLにアクセスしてデータを返してくれます。 Perlbalが始めにサポートしたらしいですが、li
Google App Engineに対する「Googleに囲い込まれてしまうのでは」という意見に対するコードを書く人からの返答がさっそく出ている。AppDropは、Google App Engine SDKをAmazon EC2上に移植したPython実行環境だ。 これを使えば、GoogleのAppSpotで動くPythonのWebアプリを、そのままAmazon EC2上で動かすことができる。 開発環境が手元のLinuxボックス等で動くのだから、ホスティングで動くのも当たり前といえば当たり前。とはいっても、背後にGoogleのBigTableなどがあるわけではないので、このまま使ってもスケールはしない。このあたりは、まあ他のスケールするバックエンドシステムを互換インタフェースで包むとか、そういうことをやる人が出てくる気がする。 # Googleが作った分のソースのライセンスってどうなってる
Photo by callumalden Amazon EC2を人に勧めると必ず言われるのが、「インスタンスを再起動したらディスクが消えるのが怖い」。 これは「インスタンス」を再起動であって、OSを再起動してもディスクは消えないのだが、確かに起動に必要なファイルを消してしまって、OSが起動できなくなってしまうと、確かに取り出せなくなってしまいます。 ただ、このようなケースは相当少ない上に、S3という巨大なストレージがあるので、再起動まえなどバックアップをマメに行なう事で、ほぼ解消できる。事実、Stickaでは1時間おきにdumpを取って、1週間分をS3に保持するようにしています。 それでも、やはり容量が大きなデータベースを構築する場合などは、dumpを取るのが難しいなどの問題は出てきます。 これに対する回答として、Amazonがやっと、EC2でも使えるインスタンスを終了しても消えないディス
今回はインスタンスの選定から接続、各種設定を行うところまで行っていきたいと思います。最近話題のmod_railsを使って、手早くRailsアプリケーションを動かします。 mod_railsのトップページ CentOSをベースにしようと思ったのですが、CentOS5ではRuby1.8.5が基本になっており(1.8.6に独自ビルドは可能)、その後も色々と手間取ることが多かったので、ここではUbuntuをベースにしたいと思います。 ちょうど良いインスタンスイメージを探すには、Amazon Web Services Developer Connection : Submit an AMI が役立ちます。この中のUbuntuパッケージとして、Amazon Web Services Developer Connection : Ubuntu 7.10 Gutsy Base Install を選択します
Amazon EC2を使っているスタートアップ企業は数多い。トラフィックの増減に合わせて柔軟にシステム構成を変化させられるのが利点だ。とは言え、使いこなすにはそれなりに経験が必要だ。 Scalrのプロジェクトサイト トラフィックが上がってから悠長に準備していたのでは遅すぎる。予め備え、自動的にシステムを構成し直すのだ。 今回紹介するオープンソース・ソフトウェアはScalr、Amazon EC2の環境構築ソフトウェアだ。 Scalrはあまりに規模が大きく、試してはいない。機能としては、各インスタンスの状態を監視し、その状態に応じてインスタンスを追加したり、削除したりしてスケーラブルなシステム構成を構築してくれるのだ。しかも自動で。 Scalrのプロセス図 フロントのウェブサーバ、アプリケーションサーバ、キャッシュサーバそしてデータベースサーバの4構成のイメージを予め用意しておくことで、自動で
これを知らないなんてモグリすぎた。 Amazon S3は管理用インタフェースは提供されていない。あくまでもWeb APIだけだ。そのため、アップロードしたファイルを確認したり、きちんと消えているか見るのが面倒だった。Firefox2であれば、S3 Foxが使えるので、今まではこれを使っていた。 バケットの一覧画面 だが今後はこれに切り替えることにした。まさにAmazon S3管理用インタフェースだ。 今回紹介するオープンソース・ソフトウェアはS3 Browser、Mac OSX向けのAmazon S3フロントエンドだ。 S3 BrowserはGUIインタフェースを使って、バケットを一覧したり、作成したりできる。もちろん、各バケットを開ければファイルが一覧され、アップロード/ダウンロードができるようになっている。 ファイル一覧画面 ファイルアップロードを行う際には、ファイルのコンテンツタイプ
初期状態では、一つのインスタンスに、EC2の中だけで使えるPrivate IPと、外部からアクセスするためのPublic IP(グローバルアドレス)が割当たってます。 インスタンス自体への割当IPはPrivate IPですが、上位のルータに1:1のNATがあり、これによって外部からPublic IPでアクセスできる様になっています。 今までの、Private IPとPublic IPに加えて、今度は固定IPのグローバルアドレスが割り当てられるElastic IPを選択出来るようになりました。 これは、Public IPと同じ様に、外部からアクセスするためのグローバルアドレスですが、AWSアカウント毎に発行されるので、インスタンスの再起動などによって代わる事はありません。 これを使えば、EC2で最大の問題点であった、「インスタンスを再起動するとIPアドレスが代わる」という問題から解放されます
開発したWebサービスをどこで公開するか、これが意外と悩ましい。選択肢としては 共用サーバサービス VPSサーバサービス 専用サーバサービス 自宅サーバ などがあると思う。体感的には共用サーバは0〜5,000円/月、VPSは5,000〜20,000円/月、専用サーバは8,000〜100,000円/月くらいだろうか。自宅サーバはもちろん月額費用はかからないが、初期のサーバ代金、月々のネットワーク費用+電気代、熱対策、障害時の対応などを計算しておく必要がある。個人的には割に合わないと感じている。 外部のリソースを使うサービスでは、大抵初期費用がかかってくる。その後の費用は月額のみだが、品質や障害時の対応などで各社ばらつきがある(それが金額に反映されるのだが)。多少大きめのサービスを構築しようと思ったときには、これらでは役不足になることも多い。 特に複数台の構成(Web + App + DBなど
Amazon MP3 のすごさをもっと知るべき Amazon MP3 がすごい。iTunes Store もいいが、Amazon MP3 が出てからはめっきり iTS で買うことが少なくなった。DRM がないから PC, Mac, iPod とコピーしたり SlimServer ごしに会社から家のライブラリに聞いたり、会社の IM/IRC で」このアルバムいいよ」って同僚におしえて iTunes share で共有したりが簡単にできる。月に 5-6枚のペースでアルバム買ってる。 私的録音補償金を縮小しつつ DRM でコピー管理、とか言ってる国の人は5年は遅れてる(の上、間違った方向に進んでいる)ことをはやく自覚してもらいたい。 Amazon MP3 はすべてのアルバムを 1曲$.99、アルバム単位では $8.99-9.99 から、256kbps の MP3 DRM なしで販売している。Wi
Amazon EC2はごく手軽に使える仮想サーバだが、その性質上、サーバ(インスタンス)を終了すると全てのデータが消失するようになっている。これではデータを保存するようなことができない。そこで使われるのがAmazon S3というストレージサービスだ。 s3fsのプロジェクトページ 各種ライブラリは存在するが、最も使い勝手の良い方法はこれだろう。ファイルシステム並みに使うのだ。 今回紹介するオープンソース・ソフトウェアはs3fs、Amazon S3向けのFUSEだ。 FUSEを使うことで、通常のファイルシステムと同じ感覚でAmazon S3が利用できるようになる。インスタンスを落とすことで消失すると困るデータはs3fsを使ってマウントしたファイルシステムに入れるか、定期的なバッチでコピーしたりすれば良い。 利用はターミナルベース。オプションでアクセスIDを指定するか、/etc/passwd-
最近、ようやくAmazon EC2を本格的に使う決心ができた。そして実際に使ってみるとやはりすごい。インスタンスの立ち上げからはじまって、すぐにサーバ環境が手に入る。DNSの割当さえすれば、すぐにサービスを立ち上げられる。 コンソールの遅さはあるが、設定を施す間の我慢だ。そしてその設定さえ簡略化できる。Railsアプリケーションを作りたいならこれを使ってみよう。 今回紹介するオープンソース・ソフトウェアはEC2 on Rails、Railsアプリケーション開発向けのAmazon EC2イメージだ。 EC2 on Railsを利用してインスタンスを立ち上げると、すぐにRailsアプリケーションを利用できるようになる。必要なものは全て揃っているのだ。Railsはもちろん、MySQL(Amazon S3に自動バックアップしてくれる)、Apache、Mongrel、memcachedなどがインスト
Jaxerアプリケーションの公開 前回までで、簡単なJaxerアプリケーションを作成するところまでを解説しました。 さて、せっかくアプリケーションを作ったのなら、公開してみたくなるものです。とはいえ、日本のレンタルサーバは、Javaが利用できなかったり、PerlやPHP、Pythonには対応していても、バージョンが古かったり、CGIモードでしか動作しなかったり、プラグインが自由に利用できなかったりと、不自由な点が多く、Jaxerのような新しいプロダクトを利用できる環境はなかなか見つかりません。 自分でサーバを構築して運営する 第1回目の連載の中で、Linux版の対応がまだと書きましたが、先日ついにLinux版のJaxerが公開されました。そしてそれに併せて、Amazon EC2でJaxerを動かす方法も公開されています。 Amazon EC2とは、米Amazonが展開するWeb Servi
こんにちは! Amazonほしい物リスト、すごい話題になってますね! なんでも、メールアドレスで検索すればAmazonに登録してある本名がでてくる (ケースもある) とか…。 で、さっそくぼくも試してみたよ! ほしい物リストサーチ! これって、いま話題になっているのは、誰かのメールアドレスを手がかりにして ウィッシュリストや本名、下手すると住所まで知られてしまうってところだよね。 それだけでも面白いんだけど、 あまり注目されていない機能として、こんなものがあったよ。 友だちにほしい物リストについて知らせる これ。 自分のほしい物リストを誰かにメール送信できちゃう機能らしいね! じゃあ試しにメール送信時のリクエストを確認してみると… http://www.amazon.co.jp/gp/registry/send-nudge.html?ie=UTF8&type=wishlist&__mk_j
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く