2009.04.17

Amazon EC2でVPN

2月にこのブログを始めたころ、Amazon EC2のLinuxを使いPPTPdやL2TP/IPsecを構築して遊んでたんです。
しかし、外部からEC2のVPNサーバに接続はできたんですが、EC2内サーバ同士でやろうとすると、GREなどのIPレベルのプロトコルが通信できないエラーが発生するなどして、Amazon EC2内でVPN構築ができなかったんですね。

それから放置すること約2ヶ月。

別の人から「動きましたよ?」との連絡を受ける。

過去に構築したイメージを起動して自分でも試してみる。
LinuxのVPNサーバへWindowsから普通にVPN接続できる。

あれー?

そのあたりのプロトコルを通信できるようにネットワーク変更が行われてたんでしょうか。
それとも前回試したときはなにか接続方法を間違えてたんでしょうか。
謎です。

ちなみに、このブログにあるPPTPd構築の方法で大丈夫みたいです。
これでまたEC2で遊べることが増えるぞー。

2009.04.14

Amazon EC2でLinuxのbundle

意外とコマンドが覚えられないLinuxでのバンドル。
WindowsではAWS Management Consoleなどの管理ツールからバンドルしなきゃいけないのですが、LinuxはSSHで入ってコマンドラインから行わないといけません。
そんな自分の覚書。

1.準備
バンドルをするためには、AWS Access Identifiersで取得できるX.509証明書と秘密鍵が必要です。
X.509証明書:cert-********.pem
秘密鍵:pk-********.pem
これをSCPでもFTPでもアップロード。
よく説明サイトではSCPでアップしてますが、SCPを使うと暗号化した転送が行われるので安全っていうのと、SSHを使うのでEC2側で特に準備せずに使えるという利点があります。まぁ、サーバ構築してれば手軽なFTPでもいいよ。
だって、Windowsからパス指定してコマンド打つの面倒なんだもの。

これらのファイルを「/mnt」に保存したとして話を進めます。

2.ボリュームのバンドル

ec2-bundle-vol -d /mnt -k /mnt/[pk.pem] -c /mnt/[cert.pem] -u [account number] -p [image name]

[pk.pem] [cert.pem]
 本当はpk-*************.pemなんて長ったらしい名前が付いてるのでそれを指定。
[account number]
 AWSにログインすると右上に表示されてるハイフン付き12ケタの数字を指定。
[image name]
 デフォルトだと「image.manifest.xml」が作成されるので指定したい場合は名前付ける。

3.イメージのアップロード

ec2-upload-bundle -b [bucket name] -m /mnt/[image name].manifest.xml -a [Access Key ID] -s [Secret Access Key]

[bucket name]
 S3のbucket。。。要するにディレクトリを指定。Windowsだと階層構造を作れないけど、こっちはできる。
[image name]
 バンドル時に指定した名前。指定していないと「image」。
[Access Key ID] [Secret Access Key]
 AWSログイン後にAccess Identifiersページで見れる「Access Key ID」と「Secret Access Key」。

4.AMIの登録
これはAmazon EC2 API Toolsを使います。
環境変数なんかの登録が必要らしいのでクライアントに設定しておいてください。

ec2-register [bucket name]/[image name].manifest.xml

[bucket name] [image name]
 3のアップロードで指定したものをそのまま指定。

これでElasticfoxやAWS Management Consoleに追加されてるはずです。

2009.04.03

Coming Soon!

AWS Management ConsoleでAmazon Elastic MapReduceの更新と一緒に
「Coming Soon!」
なる項目ができていた。

内容は以下。


・タグ
EC2リソース(AMIとかEBSとか)にタグをつけれるようになります。

Elasticfoxでは一足先にこの機能つけてましたね。ただタグの保存がローカル保存のため、アカウントを共有している場合には、タグ共有ができないのが難点でした。こっちのサポートに期待。

・モニタリング、ロードバランシング、オートスケーリング
WebベースでEC2の状況をリアルタイムにモニタリングできる機能や、ロードバランサーの設定、オートスケーリングの機能なんかをつけます。

これは一番期待したいところ。Amazonもやるやるとはずっと言ってますよね。
オートスケーリング重要。

・Amazon S3 Support
・Amazon SimpleDB Support
・Amazon SQS Support
・CloudFront Support
各サービスをAWS Management Consoleから管理できるようにします。

そういうことらしい。


さて
Soonがいつになることやら。

2009.04.02

Amazon Elastic MapReduce

今日AWS Management Consoleを開いてみると
「Amazon Elastic MapReduce」というタブが増えてました。
Googleのお株を奪うサービスをHadoopでやるんでしょうか。。。

デモを見る限りでは
よく見るMapReduceの仕組みそのままでした。
S3からデータ読み込んでEC2でスクリプトを実行して
結果をS3に保存する感じです。

デモサイトです。
http://s3.amazonaws.com/awsVideos/AmazonElasticMapReduce/AmazonElasticMapReduce.html

微妙に半信半疑なのは
公式サイトにもAWS blogにもアナウンスもない状態で
Developerのフォーラムでもなんだこれ的な話が出ているからです。

フライングしちゃったんじゃないかという話もあるので
もしかしたらアメリカ時間の4月2日に正式アナウンスなのかもしれません。

と思って探していたらトップにリンクはないですがサイトは用意されてました。
http://aws.amazon.com/elasticmapreduce/
やっちゃうみたいです。

<2009/4/2 18:00 追記>
トップでも正式にアナウンスされ、リンクもはられてました。
やっちゃうんですね。。。

2009.03.19

Amazon EC2のセキュリティ

サービスを開始するに当たり、最も気になるのがセキュリティ。
日本企業の方もそこを重視することが多いのではないでしょうか。

そんなわけでAmazon EC2が発表しているセキュリティ関連を調べてみました。


2009年2月25日「クラウドコンピューティング フォーラム」

クラウド・コンピューティングに移行する上で気になるのはセキュリティだが,AWSは安全なのか。

 米アマゾン・ドット・コムは,既に9000万人分のクレジットカード番号を預かっている。そのため,これまでもセキュリティには力点を置いてきた。AWSを開始したときにも,これまでと同様に,セキュリティを強固にすることに執着した。現時点で,金融機関のユーザーもAWSのセキュリティを信用して使っているので,既に優れたセキュリティを提供できていると考える。

 データや、社内管理については大丈夫な気がします。

EC2やS3をインターネットではなく,よりセキュアなネットワークで使うことはできるか。

 ユーザーのパソコンと,EC2/S3間の通信を暗号化することは可能だ。また,米国や欧州では,サード・パーティーがVPNなどのサービスを提供している。

 インターネットではなくすることは不可能ですよね。どうやってもインターネットの通信ですから。
 その上で暗号化するHTTPSだとかVPNだとか使うしかないですよね。


2008年9月公開「Amazon Web Services:Overview of Security Processes」
これは全部英語なのでかなり適当に訳します。

Host Operating System

AWSの管理者が業務上必要な場合は、拠点サーバにSSHで接続するには個々に割り当てられた暗号キーが必要です。またアクセスはログへ記録されています。

 まぁ、ここはAmazonの社内管理なので問題ない気がします。

Guest Operating System

仮想マシンは完全にお客様の管理になります。AWSの管理者がお客様の仮想マシンにアクセスすることはできません。全部自己管理で。

 かなり適当に書いてますがそういうことです。

Firewall

Amazon EC2はすごいファイアウォールを提供しています。通信をデフォルトでは拒否しているので、お客様で通信を許可するポートを開けなければいけません。プロトコル、ポート、送信元IPで設定できます。

 基本的なファイアウォールは提供していますよー。

ちょっと適当になってきました。
気を取り直して一番重要なネットワークセキュリティです。

Distributed Denial Of Service (DDoS) Attacks

AWSはAmazon.comと同じインフラの上にあります。一般的なDDoS攻撃は限界まで通信を使用したりします。しかしAmazonの帯域幅はプロバイダが提供するインターネット帯域幅を上回る帯域幅を保持しているので大丈夫です。

 帯域幅だけで言いきっちゃうとゾンビPCを利用したDDoS攻撃はどうするんでしょう。まぁ、あんなものを防ぎきるのは不可能ですよね。

Man In the Middle (MITM) Attacks

AWSのAPIはすべてSSLで守られています。

 だらだらと説明書いてるけどSSLで守られてるから大丈夫との主張らしい。そのSSLを偽装しちゃったりするのもMITM攻撃じゃないのか。。。?

IP Spoofing

Amazon EC2のインスタンスは偽装したIPでの通信はできません。AmazonはファイアウォールでIPやMACアドレスが自分のものだけ通信を許可します。

 まぁ、そりゃ不特定多数に使わせるんだから、これくらい当然か。

Port Scanning

ポートスキャンはAmazon EC2 Acceptable Use Policy (AUP)に違反します。また、スキャンしたとしてもデフォルトではすべて通信を拒否する設定になっているので無意味です。ただお客様が設定しているセキュリティーグループによっては返すものもあります。

 やっちゃだめなんだ。。。
 利用者のみなさん、やっちゃだめですよー。

Packet sniffing by other tenants

他の仮想マシンからプロミスキャスモードを使用してのパケットの盗聴は不可能です。ハイパーバイザーが他のアドレスのパケットは転送しないからです。ARP cache poisoning攻撃なんかもEC2では機能しません。Amazon EC2では十分な保護を提供しています。

 けっこう厳重なんですねぇ。
 悔しいですが大丈夫そうです。


そんなわけで、基本的には大丈夫そうです。
あとは普通のインターネットサーバなので、各自のセキュリティ対策が重要ということですね。

2009.03.11

RHELをAmazon EC2で

Amazon EC2の公開されているAMIには
RedHatからRHEL5.1と5.2が含まれている。

そんなわけで使ってみようと思った。

しかし、できない!
エラー吐かれる!

理由は登録しないと使えないのでした。
しかもお金かかります。

まず月額固定で19ドル。
また従量課金では
Smallで0.21ドル(EC2は0.1ドル)、Largeで0.53ドル(EC2は0.4ドル)。
データはインプット0.11ドル(EC2は0.1ドル)、アウトプット0.19ドル(EC2は0.17ドルで通信料によって割引)
などなど。
若干割高。

[Cloud Computing with Red Hat]
http://www.redhat.com/solutions/cloud/

こちらから登録できます。

登録画面へ進むと「Amazon Payments」のサイトに移動し
アカウント入力、支払いカード入力を行い登録完了です。

登録完了すると
RedHatのログイン画面とActivation Codeが表示されます。
画面の説明を見ると「アカウント作る必要あるのかなー」と思いますが
RHELのアップデートを行うのにアカウントを求められるので作っておきましょう。

しばらくするとAmazon EC2のRHELのAMIが起動できるようになっていました。

2009.03.04

Amazon EC2のEUでもWindows開始

今日見てみると
AWS Management Consoleの画面が変わってた。

Regionの変更ができるようになった。。。?
Welcomeの表示場所がちょっと変わった。。。?

何の変化なんだろうと思って確認してみると
Amazon EC2のEUでもWindowsのAMIが使えるようになったらしい。

で、それにあわせて
AWS Management ConsoleもRegion変更ができるようになったんだと。

ヨーロッパのみなさんおめでとう!

そんなことより早く日本に来いよ!

Amazon EC2 Expands Windows and EU Region Offerings
http://aws.amazon.com/about-aws/whats-new/2009/03/03/amazon-ec2-running-windows-in-eu-region/

2009.02.25

Amazon EC2 概要

いちおうAmazon EC2の概要を簡単にまとめ。

  1. Amazon EC2って何?
  2. Amazon Elastic Compute Cloud”の略です。
    最近はやりのクラウドコンピューティングというやつで、Amazonのインフラを使って好きなだけサーバ立ててあれこれできます。

  3. どうやって使うの?
  4. アカウント登録してください。
    http://aws.amazon.com/
    登録の仕方なんてちまたにあふれてるので割愛。

  5. 何ができるの?
  6. サーバを好きなだけ貸してくれる感じです。
    OSはAMIというイメージで提供してくれているので(自分で作ることも可)、それらをインスタンスという形で起動させ好き勝手に使えます。

  7. OSは何があるの?
  8. Amazonが提供しているOSは以下があります。

    • Windows Server 2003 Datacenter Edition (i386/x86_64)
    • Windows Server 2003 + SQL Server (i386/x86_64)
    • fedora core 4 (i386)
    • fedora core 6 (x86_64)
    • fedora 8 (i386/x86_64)

    これ以外にも色々な人が作ったAMIが公開されています。以下例。

    • CentOS
    • Debian
    • RHEL
    • Ubuntu
  9. 金額は?
  10. 基本的にインスタンスの起動時間で、OSの種類、サーバのスペックにより課金されます。

    platform instance CPU memory storage I/O cost(Windows) cost(Other)
    32bit Small 1 ECU 1.7GB 150GB moderate $0.125/h $0.10/h
    High-CPU Medium 5 ECU 1.7GB 350GB moderate $0.30/h $0.20/h
    64bit Large 4 ECU 7.5GB 420GB*2 high $0.50/h $0.40/h
    Extra Large 8 ECU 15GB 420GB*4 high $1.00/h $0.80/h
    Hight-CPU Extra Large 20 ECU 7GB 420GB*4 high $1.20/h $0.80/h

    ECUは”EC2 Computer Unit”の略です。
    1ECUが1.0~1.2GHzに相当する仮想CPUが割り当てられます。
    そのほかにもEBSというストレージの使用量、通信料などがあります。
    詳細は公式サイトで。http://aws.amazon.com/ec2/#pricing

  11. デメリットは?
  12. そんないいことばかりでもありません。
    以下、ちょっと面倒なところ。

    • IPアドレスが毎回変わる。(ローカルIPもグローバルIPも)
    • グローバルIPについてはオプションのElastic IPというサービスで固定IP取得可能。

    • コンピュータ名が毎回変わる。

    この2つはかなり痛いです。サーバって基本的にはコンピュータ名指定したりして内部通信するものが多いので注意。

  13. セキュリティは?
  14. 送信元IPアドレス、ポート番号でフィルタリングがかけられます。
    それ以外については自己責任となります。詳細は公式サイトで。http://aws.amazon.com/agreement/
    (”7.2.”と”16.6.”あたり参考に)

  15. インスタンスを落とすと保存内容が消える
  16. 仕様です。インスタンスは落とすとすべて消えます。
    Amazonが別途提供しているストレージサービスS3へ自分でAMI化して保存する必要があります。
    この方法については別途作成予定。

  17. WindowsのDドライブ、Linuxの/mntが消える
  18. 仕様です。あくまでもテンポラリドライブと認識してください。
    保存が必要なファイルについてはEBSを使うようになっています。http://aws.amazon.com/ebs/

こんな感じです。

« Previous