プログラマでありたい

おっさんになっても、プログラマでありつづけたい

aws

AWSの2段階認証 Multi-Factor Authentication(MFA)を導入する

aws

リスト型アカウントハッキングが全盛のこの時代、サービスごとにPasswordを変えることは必須です。ただ、パスワードだけの防御では万全ではないので、2段階認証(2要素認証)が出来るものについては順次設定しています。AWSもMulti-Factor Authentication…

s3fsの何が悪いのか?

awsでシステムを組んでいると、一度は使ってみたくなるのがs3fsです。まずs3ですが、これはAmazonが誇るオンラインストレージです。容量の拡張も思いのままで、ほぼ無限の領域を使える夢のようなサービスです。一方で、現在のところAmazonのデフォルトのサー…

プライベートAMIを共有する方法と、リージョン間のAMIのコピー

諸般の事情から小躍りして喜んでいたものの、まだ試していなかったリージョン間を試してみました。やり方は至って簡単で、EC2のコンソール画面でAMIsのところからコピーしたいAMIを選び、ActionからCopyを選びます。そうするとコピー先のリージョンが選択で…

Knife SoloとAmazon EC2で始めるChef Solo

Chef Soloの入門として、Knife SoloとAmazon EC2を使ってのセットアップの練習です。Chefの取っ付きにくさは、最初に色々なファイルやフォルダを用意する必要があるところだと思います。そこをKnife Soloは、コマンド1つで初期設定してくれます。ということ…

Storage Gateway on EC2とオンプレミスのStorage Gatewayの構成について

aws

JAWS-UG 大阪のイベントで、第1回目のもくもく会に参加してきました。その時にStorage Gatewayをやってみたいという方のお手伝いをしていたのですが、オンプレミス型のStorage GatewayとAWS上に構築するパターンのStorage Gateway on EC2の構成上の違いを説…

VagrantのSaharaの実装とAmazon EC2対応

前回書いた通り、Chef使いがVagrantを使うべき理由はSaharaの存在です。Saharaのsandboxという機能は、サーバの状態をcommit & rollback出来るのです。いわゆるRDBにおけるトランザクション機能です。実はこの実装、VirtualBoxのデフォルトの機能の単なるラ…

Amazon SNSとSQSの素敵な関係。或いは、Jenkinsからパトライトを光らせる。

以前ご紹介しましたが、Amazon SNSはプッシュ型の通知サービスで幾つかのプロトコルに通知を送ることが出来ます。一方、Amazon SQSはPull型のサービスです。真逆のサービスに見えますが、この2つを組み合わせることにより応用範囲が劇的に広がります。今回は…

AWS Management Consoleのアクセスログを取る。その1 IAMによるIP制限

3/9に行われた春のJAWS-UG 三都物語の資料が続々と公開されています。どれも面白いですが、cloudpackさんの"JAWS-UG三都物語 2013 春 よりセキュアなAWS環境 構築事例 〜PCI DSS対応〜"の事例が中々興味深かったです。 その中の1つに、AWS Management Conso…

春のJAWS-UG 三都物語の発表資料 開発環境としてのAWSを真面目に考える

aws

3/9に行われたJAWS-UG 三都物語の発表資料の公開です。 開発環境としてのAwsを真面目に考える jawsug2013三都物語公開用 from Takuro Sasaki 大きく二部構成となっていまして、前半は企業でAWSを使う上でのポイントを、後半はDevOpsと絡めてAWSの利点を挙げ…

Amazon Linux AMIにRuby用にJenkinsをインストールする

HudsonもといJenkinsは昔からよく使っていますが、全くそれに関するエントリーをあげていないことに気がつきました。ということで、暫くJenkins強化週間です。まずはお決まりのインストールメモから。Java用だと一瞬で終わってしまうので、Rubyで使用するこ…

GitLabのPublic AMIを公開しました。

前回、GitLabのインストール手順をまとめました。しかし、手順はかなり複雑で、たぶん殆どの人がハマると思います。そもそもAWSだから誰かがAMIを作って公開したら良いのはと考えて、試しに自分のAMIをPublicで公開することにしてみました。 このAMIをPublic…

Gitのフック機能で、リポジトリをAmazon S3にバックアップする

Gitのリポジトリ運用の要となるのが、バックアップ運用です。一般的には、定期的なバックアップを仕込むといった運用をしている所が多いと思います。一方で、定期作業であれば最終バックアップから障害発生時点でのデータ消失という危険性はあります。という…

2時間でAWSの操作を覚えて、何故か25ドル分プレゼントされる剛気なイベント

aws

AWSのハンズオンセミナーって、ご存知でしょうか?AWSの使い方をAmazonやその道のエキスパートが教えてくれるイベントです。内容によって、初心者向けやWindows,VPC,Elastic Beanstalkなど色々とバリエーションがあります。私も何度か参加やお手伝いしたこと…

Amazon Linux AMIにGit + Gitolite + Gitlabをインストールして、プライベートGitHubを構築する

半年くらい下書きフォルダーにあったGitLabのインストール記事をサルベージしました。今回は、Amazon Linux AMIと最新のGitLab 4.1系でインストールしています。が、あまりに長く面倒くさいので、三行でまとめてみました。 GitLabはGitHubのクローンで、セキ…

Amazon Simple Queue Service(SQS)の使い方

AWSのサービスはどれも良く考えられていて好きですが、そんな中で使えば使える程に良さが解ってくるサービスとしてAmazon Simple Queue Service(SQS)があります。その名の通り、シンプルなキューサービスです。その分、可用性が高く、上手く使いこなせば様…

マイナー三兄弟なAmazon SNS,SQS,SESを激しくお勧めする。

とっても便利なのに、いまいちマイナーなサービス感が漂うAmazon SNS並びにSQSとSESの3兄弟。上手く使いこなせれば、下手なツールをインストールしたりプログラミングしなくても色々なことが出来る優れ物です。名前からしてイマイチどんな機能なのかよく解ら…

クラウド派のご用達ワイン。クラウドライン ピノノワール[2009]

先日面白いワインを見つけました。アメリカはオレゴン州のピノ・ノワール、その名もCloudLine。オレゴン州といえば、ワシントン州のすぐ南に隣接する州です。ワシントン州といえば、Amazonでしょう。そしてAmazonといえばAWS、クラウドでしょう。ということ…

Amazon S3のルートドメインでのWebホスティング機能を試してみた

2012年の年の瀬に、Amazon S3に待望の機能が追加されました。それは「ルートドメインでWebをホスト出来る機能」です。なんじゃそれはと思われるでしょうが、つまりwww.example.comとかblog.example.comのようにサブドメインがつかずにexample.comだけでS3で…

AWSのIAMアカウントに、Signing Certificateを使えるようにする方法。或いはX.509証明書の作り方

AWSのAPIを呼び出す時はアクセスキーとシークレットアクセスキーがあれば、大抵のことが実現出来ます。なので、IAMでSigning Certificate(X.509証明書)を必要することは余りありません。が、IAMアカウントであっても必要とする場合があるので、その際のメ…

Amazon Simple Email Service(SES)のSMTP機能を使ってみる。サーバサイド編

前回、Amazon Simple Email Service(SES)のSMTP機能を使って、メールクライアント(ThunderBird,iPhone)からメールを送ってみました。簡単にメールは送れたものの、そもそもこのご時世で、メールアカウントでSMTPだけ必要とする事態が余りありません。 そ…

Amazon Simple Email Service(SES)のSMTP機能を使ってみる。メールクライアント編

前回Amazon Simple Email Service(SES)のメール送信テスト用機能(Amazon SES Mailbox Simulator)を試してみました。そのついでにSMTP機能も使ってみたので、そのメモです。 そもそもSESのSMTP機能とは何でしょうか?その名もずばり、SESを純粋なSMTPサーバ…

Amazon Simple Email Service(SES)のメール送信テスト用機能(Amazon SES Mailbox Simulator)を試してみた

AWSのサービス群の中で、地味だけど有難いサービスの一つにAmazon Simple Email Service(SES)があります。他のサービスに負けずに、どんどん便利な機能が追加されていっています。その中の一つが2012年10月に追加されたメール送信テスト用機能です。その名…

ELBのIPv6対応について考える。dualstackを使うべきか?

2011年からawsのELBは、IPv6に対応しています。それ以来、ELBを作成すると3つのCNAMEを用意してくれます。IPv4用、IPv6用、IPv4とIPv6を両方共つかえるdualstackの3つです。my-load-balancerという名前で作った場合、次のような形でDNS Nameが用意されます…

Windows機からS3をマウントして、ネットワークドライブとして使う方法

AWSのサービスの中でS3が一番ラブです。最近20%程値下げされたので、東京リージョンでも1ヶ月1GB保存しても$0.100と約8円と格安です。さらにS3からGlacierに自動でアーカイブするサービスが出来たので、更に安く使うこともできます。ということで、個人でも…

Amazon S3からGlacierへの自動アーカイブ機能が出来たので、個人のデータ保管戦略をしつこく考える

今月中旬にAmazon S3からGlacierに自動的にアーカイブする機能が出てきました。何気に凄い機能なので、企業はもちろん個人としても注目する必要があります。まずS3とGlacierの違いについてですが、耐久性という意味ではどちらも99.999999999%で同等です。Ama…

AWS SDK for RubyでS3の操作をする

AWS SDK for Rubyでのファイル関係のS3の操作です。一覧取得とファイルの取得の方法をメモ程度にまとめています。一覧取得については、基本的には2通りあってBucket.as_treeからツリー形式で取得する方法とBucket.objects.collectからキーの一覧を取得する方…

Route53+S3 Web Hostingでホスト名無しのドメイン設定が出来るのか?

下記の機能は、Route53+S3で実現出来るようになりました。 S3 Web Hostingでサブドメイン無しのドメイン設定が出来るのかなと調べてみました。サブドメイン無しのドメインとは、例えばwww.example.comではなくて、example.comのようなFQDNです。これは正式な…

AWS SDK for RubyでS3へのアクセス認証付きURLを生成する

Amazon S3のアクセスコントロール(Access Control)には、次の5タイプがあります。 IAMのポリシーを使った制御(Using IAM Policies) バケットポリシーを使った制御(Using Bucket Policies) ACLを使った制御(Using ACLs) ACLとバケットポリシーを併用した制御(…

Git+DropBoxで、プライベートリポジトリ作成。或いはGitをAmazon S3でバックアップ

2年程前に書いたSubversion+DropBoxの焼き直しです。今風にGitで書きなおして見ました。後は、同期だけでは心許無いので、バックアップ戦略について考えてみました。 まず解決したい問題は、下記の3つです。2年前から変わっていませんね。 ソースのバックア…

Amazon Glacierのサンプルソース アップロード編

Amazon Glacierを試そうと思ったのですが、Ruby版SDKがまだ対応していないのでJava版SDKで試してみました。開発環境としては、Mac OS X Lion + Eclipse + AWS Toolkit for Eclipseを使いました。 SDK for JavaとAWS Toolkit for Eclipseの設定 JavaとEclipse…

Amazon Glacierも出たので、改めて個人のバックアップ戦略を考えてみる

Amazon Glacier 先日、またAmazonが驚くべきサービスを出してきました。企業向けデータバックアップを主眼にしたAmazon Glacier。何と1GBを月々1円で保存出来るサービスです。1TBで、月1,000円。S3の10分の1の値段です。エンタープライズで考えると、安い!…

クラウド破産を防ぐ為のAWS Billing Alert

先日、Amazon S3を使ったWebホスティングのコスト検証を行いました。従量課金制を心配している人が多いので、私としては心配ないですよとメッセージを送ったつもりだったのですが、やはり上限がないことに不安を覚える人が多いようです。 消費行動としてはな…

本当に月額10円でレンタルサーバを始められるのか? S3で静的サイト構築を検証

先日、Amazonのs3の宣伝サイトが、月額10円で始められるレンタルサーバというセンセーショナルなキャッチコピーと共に作られていました。 月額10円〜でレンタルサーバーをはじめる方法 | アマゾン ウェブ サービス(AWS) AWSのサービス群の中で、真に驚異的…

Amazon-LinuxにRVMを利用してApache+Passenger+Railsのインストール

公式のAmazon-Linux AMIがこなれてきたので、サードパーティのCentOSではなくAmazon Linuxを使うことが増えてきました。便利なんですが、一点だけ注意点があります。Amazonのaws関係ツールがRuby 1.8系に依存している為、Railsアプリ等でRuby 1.9系を利用す…

AWS SDK for iOSでリージョンを指定する

AWS SDK for iOSを使ってみました。とりあえずS3が使いたいので、サンプル見ながらコーディング。サンプルには、およそS3を使う上で必要なものは殆ど網羅しています。余り困ることは無かったのですが、ダウンロードをするとエラーメッセージが出てくるバケッ…

RubyからAmazon SESでメールを送る

プログラムからちょこっとメールを送りたい時って、ありますよね?メールサーバを立てること自体はそれ程大変ではないですが、維持管理していくのは昨今非常に面倒くさいです。またスパム撲滅の為にプロバイダの規制が多くて、気が付いたら送れなくなってい…

Amazon EC2からS3にバックアップする為のS3Sync

Amazon EC2のインスタンスをAMI化(イメージ化)して、Amazon S3にバックアップする為のツールはデフォルトで備えられています。でも、特定のディスクやディレクトリだけをS3に保存するツールは、不思議とありません。もちろんS3向けに通信コマンドを発行す…

RubyでAmazon DynamoDBを使ってみた

話題のDynamoDB。かなり面白そうです。アマゾンの大量のトランザクションを支える技術を、インフラの面倒をみることなく使えるという、まさにクラウドの醍醐味というサービスです。 今までクラウドとRDBの相性の悪さというのはどうしてもありました。RDBの本…

Amazon Linux AMIのrootパスワード

Amazon EC2でCentOSではなく、Amazon謹製のAmazon Linux AMIを使うことが増えてきました。いつも最初に躓くのがログイン。rootでログインしようとすると、下記のようなエラーが出てログイン出来ないこと必定です。 Please login as the ec2-user user rather…

Amazon EC2で自分のPrivate AMIを他のアカウントで使えるようにする方法

Amazon EC2を使っていると、複数のアカウントを作成することがあると思います。一つの例としては課金の明細が出るのがアカウント単位なので、原価をハッキリさせる為に別けるといった具合です。 その時に、悩むことがあります。権限をPrivateにして作ったAMI…

ec2-bundle-volコマンドのトラブルシューティング

久しぶりにAmazon EC2を使いたくなって、最新のAMIからインスタンスを立ち上げました。AMIは、RightScaleのrightscale-us-east/CentOS_5.4_i386_v5.2.0_Alpha.manifest.xmlです。幾つかの必要なアプリケーションをインストール完了した状態で、イメージを固…

WinSCPでAmazon EC2にファイルを転送する方法

Amazon EC2の管理コンソールから作ったキーファイルでは、WinSCPでAmazon EC2にファイルを転送できません。下記のようなエラーが出ます。"Private key file 'C:\tmp\gsg-keypair' contains key in OpenSSH SSH-2 format. WinSCP supports only PuTTY format.…

Amazon EC2のインスタンスの起動でよく使うオプション

Amazon EC2のインスタンスの方法は、基本的に下記のとおりです。 ec2-run-instances AMI-ID -k ログインキー 起動オプションはたくさんあるのですが、その中でよく使うオプションを紹介します。 -g, --group GROUP [--group GROUP...] セキュリティグループ…

決定版!!AmazonのAMIの探し方

Amazon EC2を使い始めて、何気に悩むのがどのAMI(イメージ)を使うかです。私も悩んで幾つかのエントリーを書きました。 Amazon EC2のPublic AMIsを選ぶ お勧めのAmazon EC2のPublic AMIs Amazon EC2のAMI一覧サイト そしてようやく、これがいいかなという…

Amazon EC2で"Client.OptInRequired: You are not subscribed to this service. …"と出たら?

ひょんなことからAmazon EC2を別アカウントで使用する必要が出てきました。粛々とAWSのアカウントを作って、Certificateを作って、EC2のクライアントツールを実行したのですが、下記のようなエラーが出てきました。 Client.OptInRequired: You are not subsc…

Amazon EC2で"Client.InvalidSecurity: Request has expired"と出たら?

普段使っていない端末にAmazon EC2のクライアントを設定して、各種コマンドを実行しました。そうすると、下記のようなエラーが出ました。 Client.InvalidSecurity: Request has expired 何でだろうとハマってたのですが、原因は何とクライアントの時間がずれ…

Amazon EC2のAMI一覧サイト

Amazon EC2を使おうとして結構悩むことに、どのAMIを使えば良いのかというのがあると思います。ec2-describe-imagesを使えば、PublicのAMIは見えますがイマイチ解りません。そこで次のページから、選択可能なAMIの一覧で見ることが出来ます。 Amazon Web Ser…

ITベンダー製のクラウドは、Amazon EC2に対抗出来るのか?

先週の週刊 東洋経済 2009年 8/29号は、Amazonの特集でした。東洋経済なので、ビジネスとしてのAmazonを分析している面が強いのですが、システム面への言及も充分で中々読み応えがある内容でした。 読んでいて思ったのが、ITベンダ発のクラウドはAmazon EC2…

エンタープライズ分野でガチンコ勝負!!Amazon Virtual Private Cloud

昨日、発表されたAmazon Virtual Private Cloud(Amazon VPC)。アマゾンのクラウドとIPSecVPNで結ぶサービスです。私は、ここにAmazonが本気でエンタープライズ分野を取りに行くという意気込みを感じました。 ベンチャーや個人でこれからサービスを立ち上げ…

Amazon::SimpleDBが二つあるでござるの巻

Amazon SimpleDBのアカウントを取ったことなので、さっそく試そうと思いました。 まずは手軽にPerlでと思って、CPANをサーチしたらやっぱりありました。Amazon-SimpleDB ついでに、AmazonのDeveloperサイトでperlのサンプルコードを探したのですが、そこでも…