Amazon Ec2

6,949 views

Published on

Amazon Ec2

  1. 1. Amazon EC2 - a Cloud Computing Environment-
  2. 2. 自己紹介 名前 片山 暁雄 ID id:c9katayama c95029@gmail.com 所属 株式会社キャピタルアセットプランニング http://www.cap-net.co.jp T2Framework http://code.google.com/p/t-2/
  3. 3. Agenda  EC2とは  EC2の使い方  EC2の各種サービス  S3とは  S3の使い方  構築例/Tips  EC2の利点/まとめ
  4. 4. EC2とは
  5. 5. EC2とは  AmazonWebServicesが提供する、クラウドコンピュ ーティング環境 http://aws.amazon.com/  EC2=Elastic Compute Cloud
  6. 6. EC2とは  巨大なコンピュータークラウド上に、コンピューター環境を借り られる  複数の仮想コンピューターハードウェア(インスタンス)を作成 できる デフォルトは20個まで。 インスタンス!
  7. 7. EC2とは  インスタンス上でOSを実行 Red Hat Enterprise Linux Windows Server 2003 Oracle Enterprise Linux OpenSolaris openSUSE Linux Ubuntu Linux Fedora Gentoo Linux Debian
  8. 8. EC2とは  インスタンスは停止すると終了 データは全部消えます OSの再起動は可能 外部IPアドレス 外部DNS 内部IPアドレス ランダムに1個ずつ付与 内部DNS
  9. 9. EC2とは リージョン アメリカとヨーロッパ ゾーン(アベイラビリティゾーン) アメリカに4つ、ヨーロッパに2つ 4箇所 2箇所
  10. 10. EC2とは SLA(Service level agreement) 年間99.95%の稼動を保障 有償サポート Silver:月$100 平日の日中のみ webベース Gold:月$400 24時間365日 直電OK
  11. 11. EC2とは  インスタンスの種類 Standard On-Demand Instances ECU(CPU) メモリ ディスク bit Small 1 1.7 GB 160GB 32bit Large 4 7.5 GB 850GB 64bit (2 virtual cores) Extra 8 15 GB 1690GB 64bit Large (4 virtual cores) EC2 Compute Unit (ECU) One EC2 Compute Unit (ECU) provides the equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor.
  12. 12. EC2とは High CPU On-Demand Instances ECU(CPU) メモリ ディスク bit Medium 5 1.7 GB 350GB 32bit (2 virtual cores) Extra Large 20 7 GB 1690GB 64bit (8 virtual cores)
  13. 13. EC2とは  料金 初期費用:0円 月額固定費用:0円 料金は利用に応じた従量課金 ゆっくり使って行ってね!!
  14. 14. EC2とは  インスタンス利用料 USリージョンの場合の、 1時間あたりの課金 インスタンスタイプ Linux Windows Small $0.10 $0.125 Large $0.40 $0.50 Extra Large $0.80 $1.00 Medium(high cpu) $0.20 $0.30 Extra Large(high cpu) $0.80 $1.20
  15. 15. EC2とは  例えば SmallインスタンスにLinux入れてを1ヶ月(30日)利用すると 30(日) ×24(時間)×$0.1 = $72  例えば Extra LargeインスタンスのWindowsを1時間だけぶん回すと 1(時間)×$1.00 = $1
  16. 16. EC2とは  リザーブドインスタンス 先に一定費用を払うと、1時間あたりの利用料が安くなる Wホワイトプランみたいなやーつ Linux/UNIXだけ インスタンスタイプ 1年契約 3年契約 per hour Small $325 $500 $0.03 Large $1300 $2000 $0.12 Extra Large $2600 $4000 $0.24 Medium(high cpu) $650 $1000 $0.06 Extra Large(high cpu) $2600 $4000 $0.24
  17. 17. EC2とは  Smallインスタンスの場合 月の利用日で比較 80 70 60 50 通常料金 40 リザーブド 30 20 10 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
  18. 18. EC2とは  そのほかの費用 インターネットとのデータIO Data In $0.10 per GB Data Out $0.17 per GB (最初の10 TBまで)
  19. 19. EC2とは  インターネットを介した通信に対する従量課金(A)  同一リージョン・同一ゾーンの場合は無料(B)  同一リージョン・別ゾーンの別サービス同士は無料(C)  同一リージョン・別ゾーンのEC2同士は$0.01 per GB in/out(D)  別リージョン間はインターネット通信に含まれる(E) EU クライアント US A B Zone1 Zone3 EC2 B S3 E D C Zone2 EC2 S3
  20. 20. EC2とは  ちょっとAmazonの営業っぽくなってきました
  21. 21. EC2の使い方
  22. 22. EC2の使い方  EC2の管理 管理は、すべてAPI経由 RESTとSOAPのAPI ec2-api-tools Javaライブラリ http://developer.amazonwebservices.com/co nnect/entry.jspa?externalID=351
  23. 23. EC2とは 敷居高いやないか!!
  24. 24. EC2の使い方  AWS Management Console Webアプリ http://aws.amazon.com/console/  ElasticFox FireFoxのプラグイン http://developer.amazonwebservices.com/connect/ent ry.jspa?externalID=609 あるよ!
  25. 25. EC2の使い方  インスタンスを起動しよう!  決めること リージョンとゾーン インスタンス AMI ログイン用キーペア セキュリティグループ
  26. 26. EC2の使い方  AMI(Amazon Machine Image) OS・データの入ったイメージファイル 1つのマニフェストファイルと、分割されたデータファイル Amazonが用意してくれている 自分で作成することも可能
  27. 27. EC2の使い方  ログイン用キーペア 起動したインスタンス上のAMIにログインするキーペア コンソールで生成 AMI起動時に指定した公開鍵が組み込まれる SSH接続のときに秘密鍵を指定
  28. 28. EC2の使い方  余談ですが putty使うときは、puttygen.exeで変換しましょう
  29. 29. EC2の使い方  セキュリティグループ 各インスタンスに適用する、セキュリティ設定のグループ ファイヤーウォール的なやーつ ホスト・ネットワーク・IPアドレス・ポート・セキュリティグループ レベルでアクセス許可を指定
  30. 30. EC2の使い方  例:4つのグループ default : すべての外部ネットワークからのSSHを許可 web:すべての外部ネットワークからHTTPを許可 app:webからの内部通信のみ許可 db:appからの内部通信のみ許可
  31. 31. EC2の使い方 app default web default db default app default
  32. 32. EC2の使い方  決めたら起動! リージョンとゾーン インスタンス AMI ログイン用キーペア 起動! セキュリティグループ
  33. 33. DEMO
  34. 34. EC2の各種サービス
  35. 35. EC2の各種サービス  Elastic IP Address 外部向けの固定IPを取得できるサービス 1回取得すると、好きなインスタンスに紐付けできる 取得すると、1時間$0.01かかる ただしインスタンスに紐付けしている間は無料 デフォルトで5IPまで 210.81.3.241 211.14.15.5
  36. 36. EC2の各種サービス  Elastic Block Store(EBS) インスタンスが停止しても消えないデータ領域 外付けHDDみたいなもの 1Gbyte単位最高1TByteまで領域を借りられる 1Gbyteあたり月$0.1と、データアクセス1万回ごとに$0.1 /appにマウント! /dev/sda EBS:10Gbyte
  37. 37. EC2の各種サービス  Elastic Block Store(EBS)続き スナップショットが取れる スナップショットから、領域を複製できる スナップショットは、1Gbyteあたり月$0.15と、1000回保存 ごとに$0.01、1万回ロードごとに$0.01 インスタンス上のデータ領域よりアクセスが早い スナップショット
  38. 38. EC2の各種サービス  Elastic Block Store(EBS) さらに続き インスタンス上のデータ領域よりアクセスが早い デフォルト20ボリュームまで
  39. 39. DEMO
  40. 40. EC2の各種サービス  Elastic Load Balancing ロードバランサーサービス インスタンスの負荷具合により、リクエストを振り分ける 1時間$0.025、1Gbyteのデータ処理あたり$0.008 まだbeta版 API操作からのみ利用可(2009/7)
  41. 41. EC2の各種サービス  Cloud Watch インスタンスとロードバランサーの負荷監視サービス CPU負荷、ディスクIO、ネットワークトラフィックのモニター 1インスタンス監視あたり1時間$0.015 まだbeta版 API操作からのみ利用可(2009/7)
  42. 42. EC2の各種サービス  Auto Scaling 負荷状態により自動的にインスタンスを起動したり、停止した りするサービス Cloud Watch利用の場合は無料 まだbeta版 API操作からのみ利用可(2009/7)
  43. 43. S3とは
  44. 44. S3とは  Amazon Simple Strage Service (S3) クラウド上にデータを保存しておくためのサービス 配置したファイルはインターネットからアクセス可能 Apacheのhtdocsみたいなイメージ  細かいアクセス制限が可能 容量上限なし?(over 500TByte) EC2<-->S3のデータ転送が可能 http://hoge.s3.amazonaws.com/ S3
  45. 45. S3とは  Amazon Simple Strage Service (S3)続き 1Gbyteを月$0.15で保存可能 1Gbyteのアップロードで$0.1、1Gbyteのダウンロードで$0.17 PUT,COPY,POST,LISTリクエスト1000回ごとに$0.01 GETリクエスト10000回ごとに$0.01
  46. 46. S3の利用方法
  47. 47. S3とは  S3の管理 管理は、すべてAPI経由 RESTとSOAPのAPI API仕様  http://developer.amazonwebservices.com/connect/entry.js pa?externalID=123
  48. 48. S3とは 敷居高いやないか!!
  49. 49. S3とは  S3FireFox Organizer FireFoxのプラグイン http://www.s3fox.net/  Jets3t Javaライブラリ https://jets3t.dev.java.net/ あるよ!
  50. 50. EC2の使い方  Bucket(バケット) データ領域のトップフォルダ 英数小文字、ピリオド、ハイフンのみで、3から63文字 バケット名=サブドメイン名 「http://バケット名.s3.amazonaws.com/」でアクセス 他人が取ったバケットは取れない!
  51. 51. DEMO
  52. 52. EC2の使い方  で、EC2から何に使うの? データのバックアップ 自分で作ったAMIの保存先  自前AMIはS3からロードして起動 稼動中のOSをAMI化してS3に保存 S3上のAMIから起動
  53. 53. EC2の使い方  オレオレAMIの作成 ec2-ami-tools (ruby製) 稼動しているOS上でコマンド実行 ec2-bundle-vol -d $WORK_DIR --arch $ARCH --exclude $EXCLUDE --privatekey $PRIVATE_KEY_FILE --cert $CERT_KEY_FILE --user $AWSUSER
  54. 54. EC2の使い方  オレオレAMIの転送 ec2-ami-tools (ruby製) 稼動しているOS上でコマンド実行 作成したイメージがS3に転送される ec2-upload-bundle --bucket $BACKUP_BUCKET --manifest $WORK_DIR/image.manifest.xml --access-key $ACCESS_ID --secret-key $SECRET_KEY
  55. 55. EC2の使い方  オレオレAMIの起動 管理コンソールまたはJavaコマンドから、S3上の manifest.xmlが入っているフォルダを指定 パスを指定して起動
  56. 56. EC2の使い方  S3本来の使い方 S3バケットのURLを、DNSで自分のドメインに紐付け 例) 「s3.hoge.com」をS3に関連付ける場合、hoge.comのDNSに s3.hoge.com. IN CNAME s3.amazonaws.com. と設定。 S3でバケット名「 s3.hoge.com」を取得する ->http://s3.hoge.comでアクセスすると、s3上のバケットにリクエストが行く
  57. 57. DEMO
  58. 58. EC2の使い方  Amazon Cloud Front S3バケットの中身を、各国のEdgeサーバにコピー S3バケットにアクセスする際、最寄のサーバから配信 US EU Hong Kong Original Japan
  59. 59. 構築例/Tips
  60. 60. 構築例/Tips  構築例 Apache,Tomcat,MySQL,Zabbix 本番擬似テスト環境 本番 Apache,Tomcat,MySQL 5CPU instance Zabbix 1CPU instance テスト Apache,Tomcat,MySQL 1CPU instance
  61. 61. 構築例/Tips  構築例 続き 営業段階なので、AP,DB,すべて1つの環境 利用状況により分散構成に変更 ElasticIPで固定IP取得し、ドメインとSSL証明書取得 Zabbixでアプリ監視 本番と同じ環境をテストインスタンスで構築し、確認後AMI化 し本番に展開  パッチやバージョンアップなどもテスト環境で確認可能 設定ファイル・アプリデータ・DBデータはEBS上に保持
  62. 62. 構築例/Tips  バックアップ 1日2回、EBSのスナップショットを取得  Typica(http://code.google.com/p/typica/)を使用し、イン スタンス内からcronでスナップショット作成  スナップショットが一定数を超えたら、古いものから削除 1日1回、MySQLのバイナリログをS3に転送  jets3t(https://jets3t.dev.java.net/)を使用し、インスタンス 内からcronでログ転送
  63. 63. 構築例/Tips  バックアップ 続き 週末にDBダンプをS3に転送 S3に転送したものは、自社内のサーバにダウンロード パッチ・システム構成変更時  AMI作成は手動(AMI作成->S3転送のシェル)
  64. 64. 構築例/Tips 重要なデータは パッチ・システ EBSに。 ム構成ごとの AMI DBは生データを バックアップ スナップショット 自社にコピー
  65. 65. 構築例/Tips  フェイルオーバープラン アプリ・DBが壊れたら・・・EBSスナップショットから復旧 OS・システム停止したら・・・AMIから復旧 USリージョンが全滅したら・・・EUにデータアップして復旧 Amazonが全滅したら・・・自社内のサーバに再構築 そんなんないけどね!
  66. 66. 構築例/Tips  Tips インスタンスは動的に入れ替えられない CPU・メモリは事前に考える 32bitと64bitプラットフォーム AMIが異なるので注意 転送速度 平均2.2MBits/sec • (日中1時間測定した平均) ping 190ms
  67. 67. 構築例/Tips  Tips 続き SCPクライアント WinSCPは遅い Tunnelierというのが速い • http://www.bitvise.com/ EBSはXFS ファイルシステム全体の書き込みを停止できる • aptitude install xfsprogs //xfs用プログラム • mkfs.xfs /dev/sda //デバイスをxfsで初期化 • xfs_freeze -f /app //マウントポイント書き込み禁止 • xfs_freeze –u /app //書き込み禁止解除
  68. 68. 構築例/Tips  Tips 続き テスト環境と本番環境のIDを分ける 誤操作防止 インスタンス止めるのびびる
  69. 69. EC2の利点/まとめ
  70. 70. EC2の利点/まとめ  EC2の利点 ハードベンダーと話し合いをしなくて良かった スタートアップの容易さ 初期費用0円 構成を途中で変えられた・変えられる  監視サーバははじめ予定なかった スナップショットが便利  バックアップはほぼこれでまかなえる 自動化  すべてAPI操作可能
  71. 71. EC2の利点/まとめ  まとめ EC2はクラウド環境 簡単に初めて、すぐにやめられる ネットワーク構成も可能 好きなOS・アプリを使える  いままでのサーバと変わらない
  72. 72. EC2の利点/まとめ
  73. 73. ご清聴ありがとうございました

×