華麗なるElastic Beanstalkでの環境構築

11,254 views

Published on

NetCOBOLによるAWS活用事例とAWSを活用した事例セミナーにてお話しした、Elastic Beanstalkを活用すべき3つのポイントについてのスライドです。

Published in: Technology
1 Comment
36 Likes
Statistics
Notes
No Downloads
Views
Total views
11,254
On SlideShare
0
From Embeds
0
Number of Embeds
551
Actions
Shares
0
Downloads
61
Comments
1
Likes
36
Embeds 0
No embeds

No notes for slide

華麗なるElastic Beanstalkでの環境構築

  1. 1. 華麗なる Elastic Beanstalk での環境構築 2013年2月22日欧文印刷株式会社・田名辺健人 http://blog.dateofrock.com/ NetCOBOLによるAWS活用事例とAWSを活用した事例セミナー
  2. 2. Who am I ? (この顔にピンときたら)
  3. 3. 田名辺 健人(たなべたけひと)ソフトウェアエンジニア @dateofrock http://blog.dateofrock.com/欧文印刷株式会社(東京都)高校まで札幌在住2011年11月から札幌でテレワーク 有効期限切れてますww
  4. 4. 1946年創業/社員数130名 本社:東京都文京区 工場:埼玉県坂戸市
  5. 5. アナログ デジタル ・独自商品開発
  6. 6. 紙で出来た ホワイトボード 消せる紙(し)ノート型ホワイトボードNUboard http://www.g-mark.org/award/describe/39114
  7. 7. ✓Elastic Beanstalkとは?✓使う3つの理由
  8. 8. ✓Elastic Beanstalkとは?✓使う3つの理由
  9. 9. アマゾン ウェブ サービスの製品・サービス構成マネージメント&管理 ウェブインターフェース 識別&アクセス デプロイ&自動化 モニタリング AWS IAM AWS AWS Identity Federation Elastic Cloud Amazon CloudWatch Mangement Console Beanstalk Formation Consolidated Billingアプリケーションプラットフォームサービスコンテンツ配信 メッセージング 検索 分散処理 ライブラリ&SDK Amazon Amazon CloudSearch Java, PHP, Python, CloudFront Amazon Amazon Amazon Elastic Amazon Ruby, .NET SNS SQS SES MapReduce SWF基本サービスコンピューティング クラウドストレージ データベース ネットワーク Amazon Auto EC2 Scaling Amazon Amazon AWS Storage Amazon Amazon Amazon Amazon Elastic Load Amazon AWS Direct S3 EBS Gateway RDS DynamoDB Elasticache VPC Balancer Route53 Connect アベイラビリティ―ゾーン AWS グローバルインフラストラクチャ エッジロケーション リージョン ©Amazon Web Services LLC or its affiliates. All rights reserved. http://aws.amazon.com/jp/what-is-aws/
  10. 10. ービス構成 デプロイ&自動化 モニタリング AWS AWSeration Elastic Cloud Amazd Billing Beanstalk Formation 検索 分散処理 ライブラ Amazon CloudSearch Jav Elastic Amazon MapReduce SWF
  11. 11. 構成 デプロイ&自動化 モニタリング 2013/02/19追加! AWS AWS Elastic Cloud AWS Amazon Cloud Beanstalk Formation OpsWorks 分散処理 ライブラリ&SDKon CloudSearch Java, PHP, Py Elastic Amazon Ruby, .NE MapReduce SWF
  12. 12. 構成 デプロイ&自動化 モニタリング 2013/02/19追加! AWS AWS Elastic Cloud AWS Amazon Cloud Beanstalk Formation OpsWorks 分散処理 ライブラリ&SDKon CloudSearch Java, PHP, Py Elastic Amazon Ruby, .NE MapReduce SWF
  13. 13. 時間もないので
  14. 14. AWSの良い資料があります 【注】スライドの手抜きではありません(笑)
  15. 15. はじめてのElastic Beanstalk Amazon Data Services Japanhttp://www.slideshare.net/AmazonWebServicesJapan/ getting-startedwithbeanstalk-20130111
  16. 16. AWS資料より抜粋 http://www.slideshare.net/AmazonWebServicesJapan/getting-startedwithbeanstalk-20130111
  17. 17. AWS資料より抜粋 http://www.slideshare.net/AmazonWebServicesJapan/getting-startedwithbeanstalk-20130111
  18. 18. AWS資料より抜粋 http://www.slideshare.net/AmazonWebServicesJapan/getting-startedwithbeanstalk-20130111
  19. 19. 続きはWebで AWS資料より抜粋 http://www.slideshare.net/AmazonWebServicesJapan/getting-startedwithbeanstalk-20130111
  20. 20. ✓Elastic Beanstalkとは?✓使う3つの理由
  21. 21. ✓Elastic Beanstalkとは?✓使う3つの理由
  22. 22. 【1】簡単すぎる環境構築
  23. 23. war
  24. 24. 構築+deploy完了
  25. 25. Elastic Beanstalk Environment war S3 EC2 InstanceElastic Load Balancing EC2 Instance Auto scaling group Cloud Watch SNS
  26. 26. $ git aws.push
  27. 27. 【2】便利なSwap URL
  28. 28. 本番環境 +ステージング環境
  29. 29. 2つの environment
  30. 30. environment1honban.elasticbeanstalk.com
  31. 31. environment1Running Version: version2
  32. 32. environment2staging.elasticbeanstalk.com
  33. 33. environment2Running Version: version3
  34. 34. ステージングを 本番に昇格
  35. 35. SwapEnvironmentURL
  36. 36. staging.elasticbeanstalk.comhonban.elasticbeanstalk.com
  37. 37. 本番がversion3に なりました!
  38. 38. 【3】必要十分なConfig
  39. 39. AMI
  40. 40. 素のAMIを カスタマイズ したい!AMI
  41. 41. ✓パッケージ  インストール ✓コンテナAMI  カスタマイズ etc...
  42. 42. YAML
  43. 43. ✓パッケージインストール ✓アーカイブダウンロード + 展開 ✓ファイル生成 or コピーYAML ✓OSユーザー・グループ作成 ✓コマンド実行(OS用) ✓コマンド実行(コンテナ用) ✓サービス設定(/etc/init.d) ✓Beanstalk固有の設定$APP_ROOT/.ebextensions/*.config
  44. 44. YAML
  45. 45. packages: yum: libmemcached: [] ruby-devel: [] nfs-utils: [1.0.9] rpm, yum, apt, rubygems (chef)
  46. 46. sources: /usr/local/bin:↲ http://hoge.com/hoge.tar.gz tar, tar+gzip, tar+bz2, zip
  47. 47. files: "/home/ec2-user": mode: "000777" owner: ec2-user group: ec2-user source: http://hoge.com/a.txt
  48. 48. files: "/home/ec2-user": mode: "000777" owner: ec2-user group: ec2-user content: | # this is my file # with content content直書きOK
  49. 49. users: myuser: groups: group1 group2 uid: "50" homeDir: “/tmp”groups: - groupOne - groupTwo gid: "45"
  50. 50. commands: test: command: myscript.py cwd: /home/ec2-user env: myvarname: myvarvalue
  51. 51. container_commands: replace-server_xml: command: ↲ cp .ebextensions/server.xml ↲ /etc/tomcat7/server.xml server.xmlの置換
  52. 52. container_commands: 01syncdb: command: "django-admin.py syncdb --noinput" leader_only: true 02migrate: command: "django-admin.py migrate" leader_only: true マイグレーションの実行
  53. 53. services: sysvinit: myservice: enabled: true ensureRunning: true
  54. 54. option_settings: - namespace: ↲aws:elasticbeanstalk:container:tomcat:jvmoptions option_name: Xmx value: 512m - option_name: AWS_SECRET_KEY value: SECRET_KEY - option_name: AWS_ACCESS_KEY_ID value: ACCESS_KEY
  55. 55. ✓Elastic Beanstalkとは?✓使う3つの理由 1.簡単すぎる環境構築 2.便利なSwap URL 3.必要十分なConfig
  56. 56. Elastic Beanstalkで華麗に環境構築しよう! おしまい

×