20121217 jawsug-yokohama

963 views
856 views

Published on

0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
963
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
6
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

20121217 jawsug-yokohama

  1. 1. AmazonEC2 Hands-on 第2回 JAWS-UG 横浜(2012/12/17) 株式会社サーバーワークス 千葉 哲也 twitter : @kachina_t
  2. 2. 事前準備• AWSアカウントの開設• インターネットアクセス• Webブラウザ• ターミナル(Windows→TeraTerm、Mac→Terminal…)
  3. 3. アジェンダ• EC2の紹介• インスタンスの起動• sshでインスタンスに接続• PHP-SDKを使ってインスタンス情報を取得• ELBを使って分散構成を実現 • 新機能『IAM Roles for EC2』をつかって簡単に• かたづけ
  4. 4. 1. EC2の紹介(1/13)• 仮想サーバサービスです。• 必要な時に何百台でも数分で調達できます。• 完全従量課金をベースに様々な料金モデルが用意されています。• Webコンソールの他、APIでもコントールができます。• 特定OS、言語、フレームワークに縛られません。 • Windows,Linux等、多種多様なマシンイメージが用意されています。
  5. 5. 1. EC2の紹介(2/13)http://aws.amazon.com/jp/→AWS Management Console
  6. 6. 1. EC2の紹介(3/13)サインイン
  7. 7. 1. EC2の紹介(4/13)サービス一覧
  8. 8. 1. EC2の紹介(5/13)Dashboard
  9. 9. 1. EC2の紹介(6/13)INCETANCES::Instances 利用中のサーバ一を管理する【インスタンス】
  10. 10. 1. EC2の紹介(7/13)IMAGES::AMIs インスタンスをマシンイメージ として取得し管理する【AMI】
  11. 11. 1. EC2の紹介(8/13)ELASTIC BLOCK STORE::Volume ハードディスク【EBS】
  12. 12. 1. EC2の紹介(9/13)ELASTIC BLOCK STORE::Snapshots EBSのスナップショットを管理する 【EBSスナップショット】
  13. 13. 1. EC2の紹介(10/13)NETWORK & SECURITY::Security Groups ファイアウォール 【セキュリティグループ】
  14. 14. 1. EC2の紹介(11/13)NETWORK & SECURITY::Elastic IPs 固定グローバルIP 【EIP】
  15. 15. 1. EC2の紹介(12/13)NETWORK & SECURITY::Load Balancers ロードバランサ 【ELB】
  16. 16. 1. EC2の紹介(13/13)NETWORK & SECURITY::Key Pairs インスタンスに設定する SSH公開 を管理する【キーペア】
  17. 17. 【今日の目標】ELBにおける分散処理の動作を確認する
  18. 18. 2. インスタンスの起動(1/17) 【ベース環境】 【Goal】
  19. 19. 2. インスタンスの起動(2/17)キーペアの作成
  20. 20. 2. インスタンスの起動(3/17)キーペアの作成
  21. 21. 2. インスタンスの起動(4/17)キーペアの作成
  22. 22. 2. インスタンスの起動(5/17)キーペアの作成
  23. 23. 2. インスタンスの起動(6/17)インスタンスの起動
  24. 24. 2. インスタンスの起動(7/17)インスタンスの起動
  25. 25. 2. インスタンスの起動(8/17)インスタンスの起動
  26. 26. 2. インスタンスの起動(9/17)インスタンスの起動
  27. 27. 2. インスタンスの起動(10/17)インスタンスの起動
  28. 28. 2. インスタンスの起動(11/17)インスタンスの起動
  29. 29. 2. インスタンスの起動(12/17)インスタンスの起動
  30. 30. 2. インスタンスの起動(13/17)インスタンスの起動
  31. 31. 2. インスタンスの起動(14/17)インスタンスの起動 ssh,httpを選択
  32. 32. 2. インスタンスの起動(15/17)インスタンスの起動
  33. 33. 2. インスタンスの起動(16/17)インスタンスの起動
  34. 34. 2. インスタンスの起動(17/17)起動中
  35. 35. 3. sshでインスタンスに接続(1/4)Public DNSの確認(コピー) Mac→cmd + c Windows→ctrl + c
  36. 36. 3. sshでインスタンスに接続(2/4) ターミナルの起動→ssh接続 【Mac::Terminal】 cmd + vchmod 600 ~/Downloads/example.pemssh -i ~/Downloads/example.pem ec2-user@ec2-xxx-xxx-xxx-xxx.ap-northeast-1.compute.amazonaws.com 【Windows::TeraTerm】 ctrl + v →
  37. 37. 3. sshでインスタンスに接続(3/4)今日のハンズオンに必要なパッケージのインストール sudo yum install -y git httpd php php-amazon-sdk
  38. 38. 3. sshでインスタンスに接続(4/4)httpdの起動、自動起動の設定【httpdの起動】sudo /etc/init.d/httpd start 【自動起動の設定】sudo chkconfig httpd on 【httpdの起動の確認】ps -ef | grep httpd 【自動起動の設定確認】sudo chkconfig | grep httpd
  39. 39. 4. PHP-SDKを使ってインスタンス情報を取得(1/5)準備 【ファイルの作成】sudo touch /var/www/html/index.php【オーナーの変更】sudo chown ec2-user:ec2-user /var/www/html/index.php【githubからファイルの取得】cd /tmp/git clone https://github.com/kachina/20121217-jawsug-yokohama.git
  40. 40. 4. PHP-SDKを使ってインスタンス情報を取得(2/5)ファイルの設置、アクセスキーの編集【ファイルの設置】cp /tmp/20121217-jawsug-yokohama/sample_1.php /var/www/html/index.php【ファイルの編集】vi /var/www/html/index.php
  41. 41. 4. PHP-SDKを使ってインスタンス情報を取得(3/5)ファイルの設置、アクセスキーの編集
  42. 42. 4. PHP-SDKを使ってインスタンス情報を取得(4/5)ファイルの設置、アクセスキーの編集 EC2::Public DNS Mac→cmd + v Windows→ctrl + v
  43. 43. 4. PHP-SDKを使ってインスタンス情報を取得(5/5)ベース環境が完成! 【ベース環境】 【Goal】
  44. 44. 5. ELBを使って分散構成を実現(1/41) 【Goal】
  45. 45. 5. ELBを使って分散構成を実現(2/41)これまでの分散構成を構築する手順• 【ベース環境】を構築• 【ベース環境】のAMIを作成• AMIから、アベイラビリティゾーンにインスタンスを起動• ELBを作成• ELB配下に、インスタンスを設置
  46. 46. 5. ELBを使って分散構成を実現(2/41)これまでの分散構成を構築する手順• 【ベース環境】を構築• 【ベース環境】のAMIを作成• AMIから、アベイラビリティゾーンにインスタンスを起動• ELBを作成• ELB配下に、インスタンスを設置
  47. 47. 5. ELBを使って分散構成を実現(2/41)これまでの分散構成を構築する手順• 【ベース環境】を構築• 【ベース環境】のAMIを作成• AMIから、アベイラビリティゾーンにインスタンスを起動• ELBを作成• ELB配下に、インスタンスを設置
  48. 48. 5. ELBを使って分散構成を実現(2/41)これまでの分散構成を構築する手順• 【ベース環境】を構築• 【ベース環境】のAMIを作成• AMIから、アベイラビリティゾーンにインスタンスを起動• ELBを作成• ELB配下に、インスタンスを設置
  49. 49. 5. ELBを使って分散構成を実現(2/41)これまでの分散構成を構築する手順• 【ベース環境】を構築• 【ベース環境】のAMIを作成• AMIから、アベイラビリティゾーンにインスタンスを起動• ELBを作成 AccessKey,SecretAccessKey• ELB配下に、インスタンスを設置 はどうする?
  50. 50. 5. ELBを使って分散構成を実現(2/41)これまでの分散構成を構築する手順• 【ベース環境】を構築• 【ベース環境】のAMIを作成 新機能の『IAM Roles for EC2』で解決!• AMIから、アベイラビリティゾーンにインスタンスを起動• ELBを作成 AccessKey,SecretAccessKey• ELB配下に、インスタンスを設置 はどうする?
  51. 51. 5. ELBを使って分散構成を実現(3/41)『IAM Roles for EC2』について• インスタンス起動時にIAM Roleと紐付けることで、対象Roleを適用したインスタン スを起動することが可能 • 全てのEC2インスタンスタイプで利用可能 • 全てのAMIに対応 • VPCに対応 • 北米、南米、ヨーロッパ、アジア太平洋リージョンで対応
  52. 52. 5. ELBを使って分散構成を実現(4/41)IAM Roleの作成
  53. 53. 5. ELBを使って分散構成を実現(5/41)IAM Roleの作成
  54. 54. 5. ELBを使って分散構成を実現(6/41)IAM Roleの作成
  55. 55. 5. ELBを使って分散構成を実現(7/41)IAM Roleの作成
  56. 56. 5. ELBを使って分散構成を実現(8/41)IAM Roleの作成
  57. 57. 5. ELBを使って分散構成を実現(9/41)IAM Roleの作成
  58. 58. 5. ELBを使って分散構成を実現(10/41)IAM Roleの作成
  59. 59. 5. ELBを使って分散構成を実現(11/41)IAM Roleの作成
  60. 60. 5. ELBを使って分散構成を実現(12/41)IAM Roleの作成
  61. 61. 5. ELBを使って分散構成を実現(13/41) AMIの作成【ファイルの上書き】cp /tmp/20121217-jawsug-yokohama/sample_2.php /var/www/html/index.php
  62. 62. 5. ELBを使って分散構成を実現(14/41)AMIの作成
  63. 63. 5. ELBを使って分散構成を実現(15/41)AMIの作成
  64. 64. 5. ELBを使って分散構成を実現(16/41)AMIの作成
  65. 65. 5. ELBを使って分散構成を実現(17/41)AMIの作成
  66. 66. 5. ELBを使って分散構成を実現(18/41)AMIの作成
  67. 67. 5. ELBを使って分散構成を実現(19/41)AMIの作成
  68. 68. 5. ELBを使って分散構成を実現(20/41)AMIの作成
  69. 69. 5. ELBを使って分散構成を実現(21/41)AMIの作成
  70. 70. 5. ELBを使って分散構成を実現(22/41)インスタンスの起動(1a,1b,1c合計で3台起動) ←問題なく進んだ人はこちら ami-62c87363 途中で詰まってしまった人はこちら↑
  71. 71. 5. ELBを使って分散構成を実現(23/41)インスタンスの起動(1a,1b,1c合計で3台起動) 対象リージョンを選択
  72. 72. 5. ELBを使って分散構成を実現(24/41)インスタンスの起動(1a,1b,1c合計で3台起動)
  73. 73. 5. ELBを使って分散構成を実現(25/41)インスタンスの起動(1a,1b,1c合計で3台起動)
  74. 74. 5. ELBを使って分散構成を実現(26/41)インスタンスの起動(1a,1b,1c合計で3台起動) 対象リージョン毎に名前を変更 1a = elb_example_1a 1b = elb_example_1b 1c = elb_example_1c
  75. 75. 5. ELBを使って分散構成を実現(27/41)インスタンスの起動(1a,1b,1c合計で3台起動)
  76. 76. 5. ELBを使って分散構成を実現(28/41)インスタンスの起動(1a,1b,1c合計で3台起動)
  77. 77. 5. ELBを使って分散構成を実現(29/41)インスタンスの起動(1a,1b,1c合計で3台起動)
  78. 78. 5. ELBを使って分散構成を実現(30/41)インスタンスの起動(1a,1b,1c合計で3台起動) ここまでを1セットとして AZ毎に1台インスタンス起動
  79. 79. 5. ELBを使って分散構成を実現(31/41)インスタンスの起動(1a,1b,1c合計で3台起動)
  80. 80. 5. ELBを使って分散構成を実現(32/41)ELBの構築
  81. 81. 5. ELBを使って分散構成を実現(33/41)ELBの構築
  82. 82. 5. ELBを使って分散構成を実現(34/41)ELBの構築
  83. 83. 5. ELBを使って分散構成を実現(35/41)ELBの構築
  84. 84. 5. ELBを使って分散構成を実現(36/41)ELBの構築
  85. 85. 5. ELBを使って分散構成を実現(37/41)ELBの構築
  86. 86. 5. ELBを使って分散構成を実現(38/41)ELBの構築
  87. 87. 5. ELBを使って分散構成を実現(39/41)ELBの構築 Mac→cmd+c Windows→ctrl+c
  88. 88. 5. ELBを使って分散構成を実現(40/41)ELBの構築
  89. 89. 5. ELBを使って分散構成を実現(41/41)完成! 【ベース環境】 【Goal】
  90. 90. 動作確認
  91. 91. 動作確認
  92. 92. 動作確認
  93. 93. 6. かたづけ(1/8)ELBの削除
  94. 94. 6. かたづけ(2/8)EC2の削除
  95. 95. 6. かたづけ(3/8)AMIの削除
  96. 96. 6. かたづけ(4/8)Snapshotの削除
  97. 97. 6. かたづけ(5/8)Security Groupの削除
  98. 98. 6. かたづけ(6/8)Key Pairの削除
  99. 99. 6. かたづけ(7/8)IAM Roleの削除
  100. 100. 6. かたづけ(8/8)IAM Roleの削除
  101. 101. おしまい

×