AWS管理を自動化する奥義

7,012 views

Published on

クラスメソッド課外授業8日目

Published in: Technology

AWS管理を自動化する奥義

  1. 1. AWS管理を自動化する奥義Rudess(仮)を支える技術CloudFormationの活用事例と詳細解説都元ダイスケ2013-05-16 @ .#cm_dev
  2. 2. 自己紹介• 都元ダイスケ• @daisuke_m• Java & AWS屋です• Classmethod所属CloudFormationEC2S3GlacierElasticMapReduceAutoScaling ELBCloudFrontRDSDynamoDBElastiCache RedShiftIAM CloudWatchBeanstalkData PipelineOpsWorksCloudHSMCloudSearchSWFSQSSNSSESTranscoderRoute53VPCDirectConnectStorageGatewayMechanical Turk #cm_dev
  3. 3. works• 日経ソフトウエア• Java入門記事• Eclipse記事#cm_dev
  4. 4. Mahoutインアクション#cm_dev
  5. 5. でも最近は、完全にAWS屋です#cm_dev
  6. 6. Agenda• Rudess(仮)って何だ• アプリ導入にあたっての依存関係• CloudFormationの概要• Rudess(仮)におけるCloudFormation#cm_dev
  7. 7. Rudess(仮)•オンデマンド画像リサイズ•画像ソースはS3•メタデータはDynamoDB•アプリはEC2•APIアクセス権限は IAM Role•スケールアウトはAutoScaling•負荷分散はELB•キャッシュ(CDN)はCloudFronthttp://dev.classmethod.jp/cloud/aws/rudess-image-server/
  8. 8. http://hostname/v1/8bbda4f24248a32763ab1e533d7fca9c/100x200c/Beer.gifhttp://hostname/v1/{hash}/{command}/{key}hash = md5(secretPhrase + "/" + command + "/" + key)
  9. 9. アプリ導入にあたっての依存関係• サーバの調達• OSのインストール&設定• ミドルウェアのインストール&設定• アプリケーションのデプロイ&設定• 起動設定&起動• Webアプリケーションが使える!
  10. 10. Rudess(仮)を使うには• AWSアカウントの取得• S3バケットの作成• 画像のアップロード• DynamoDB作成• EC2インスタンス起動• アプリインストール• アプリ設定• スケーラビリティ設定• 負荷分散設定• CDNかぶせて
  11. 11. Rudess(仮)を使うには• AWSアカウントの取得• S3バケットの作成• 画像のアップロード• DynamoDB作成• EC2インスタンス起動• アプリインストール• アプリ設定• スケーラビリティ設定• 負荷分散設定• CDNかぶせて
  12. 12. ユーザに手を掛けさせたくない!
  13. 13. CloudFormationTemplate+ParameterParameterStackBucket withObjectsDynamoDBTableELBInstances Auto Scaling AmazonCloudFront基本的システム構成S3, DynamoDB, EC2,IAM,AutoScaling,SecurityGroup,ELB, CloudFrontInstance Type, クラスタの台数,SSH接続元IP, キーペア,DynamoDBのキャパ, ...等
  14. 14. Template
  15. 15. Resource【S3のバケットを1つ作成する例】"CacheBucket" がリソース名"Type" に種類リソースの種類を指定して"Properties" で詳細設定する
  16. 16. Parameter
  17. 17. Parameterその他、正規表現による制約等も可能
  18. 18. Parameter Reference
  19. 19. Parameter Inputs
  20. 20. Mapping
  21. 21. Output
  22. 22. CloudFront Resource
  23. 23. IAM Role Resource
  24. 24. AutoScalingGroupReousrce
  25. 25. LaunchConfigurationResource
  26. 26. Whats in the AMI?• Amazon Linux 2013.03• yum -y install httpd java-1.7.0-openjdk tomcat7• echo 2 | update-alternatives --config java• chkconfig httpd on• chkconfig tomcat7 on• edit /etc/httpd/conf.d/tomcat.conf• deploy /var/lib/tomcat7/webapps/ROOT.war
  27. 27. LaunchConfigurationResource
  28. 28. User Data
  29. 29. Whats in the WAR?
  30. 30. • 弊社では即戦力なAWSエンジニアを絶賛大募集中です。• AWSに関するご相談も何なりと。info@classmethod.jp• And... any questions?コマーシャル

×