31
AWS管理を自動化する奥義 Rudess(仮)を支える技術 CloudFormationの活用事例と詳細解説 都元ダイスケ 2013-05-16 @ . #cm_dev

20130516 cm課外授業8-aws

  • Upload
    -

  • View
    296

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 20130516 cm課外授業8-aws

AWS管理を自動化する奥義

Rudess(仮)を支える技術CloudFormationの活用事例と詳細解説

都元ダイスケ2013-05-16 @ .

#cm_dev

Page 2: 20130516 cm課外授業8-aws

自己紹介• 都元ダイスケ• @daisuke_m

• Java & AWS屋です

• Classmethod所属

CloudFormationEC2S3

Glacier

ElasticMapReduce

AutoScaling ELB

CloudFront

RDS

DynamoDB

ElastiCache RedShift

IAM CloudWatchBeanstalk

Data Pipeline

OpsWorks

CloudHSM

CloudSearch

SWF

SQS

SNSSES

Transcoder

Route53

VPC

DirectConnect

StorageGateway

Mechanical Turk #cm_dev

Page 3: 20130516 cm課外授業8-aws

works

• 日経ソフトウエア

• Java入門記事

• Eclipse記事

#cm_dev

Page 5: 20130516 cm課外授業8-aws

でも最近は、完全にAWS屋です

#cm_dev

Page 6: 20130516 cm課外授業8-aws

Agenda

• Rudess(仮)って何だ

• アプリ導入にあたっての依存関係

• CloudFormationの概要

• Rudess(仮)におけるCloudFormation

#cm_dev

Page 7: 20130516 cm課外授業8-aws

Rudess(仮)•オンデマンド画像リサイズ•画像ソースはS3

•メタデータはDynamoDB

•アプリはEC2

•APIアクセス権限は IAM Role

•スケールアウトはAutoScaling

•負荷分散はELB

•キャッシュ(CDN)はCloudFront

http://dev.classmethod.jp/cloud/aws/rudess-image-server/

Page 8: 20130516 cm課外授業8-aws

http://hostname/v1/8bbda4f24248a32763ab1e533d7fca9c/100x200c/Beer.gif

http://hostname/v1/{hash}/{command}/{key}

hash = md5(secretPhrase + "/" + command + "/" + key)

Page 9: 20130516 cm課外授業8-aws

アプリ導入にあたっての依存関係

• サーバの調達• OSのインストール&設定

• ミドルウェアのインストール&設定

• アプリケーションのデプロイ&設定

• 起動設定&起動

• Webアプリケーションが使える!

Page 10: 20130516 cm課外授業8-aws

Rudess(仮)を使うには• AWSアカウントの取得

• S3バケットの作成

• 画像のアップロード

• DynamoDB作成

• EC2インスタンス起動

• アプリインストール

• アプリ設定

• スケーラビリティ設定

• 負荷分散設定

• CDNかぶせて

Page 11: 20130516 cm課外授業8-aws

Rudess(仮)を使うには• AWSアカウントの取得

• S3バケットの作成

• 画像のアップロード

• DynamoDB作成

• EC2インスタンス起動

• アプリインストール

• アプリ設定

• スケーラビリティ設定

• 負荷分散設定

• CDNかぶせて

Page 12: 20130516 cm課外授業8-aws

ユーザに手を掛けさせたく

ない!

Page 13: 20130516 cm課外授業8-aws

CloudFormation

Template

+Parameter

Parameter

Stack

Bucket withObjects

DynamoDB Table

ELB

Instances Auto Scaling Amazon CloudFront

基本的システム構成S3, DynamoDB, EC2,

IAM, AutoScaling, SecurityGroup,ELB, CloudFront

Instance Type, クラスタの台数,

SSH接続元IP, キーペア,

DynamoDBのキャパ, ...等

Page 14: 20130516 cm課外授業8-aws

Template

Page 15: 20130516 cm課外授業8-aws

Resource

【S3のバケットを1つ作成する例】"CacheBucket" がリソース名

"Type" に種類リソースの種類を指定して "Properties" で詳細設定する

Page 16: 20130516 cm課外授業8-aws

Parameter

Page 17: 20130516 cm課外授業8-aws

Parameter

その他、正規表現による制約等も可能

Page 18: 20130516 cm課外授業8-aws

Parameter Reference

Page 19: 20130516 cm課外授業8-aws

Parameter Inputs

Page 20: 20130516 cm課外授業8-aws

Mapping

Page 21: 20130516 cm課外授業8-aws

Output

Page 22: 20130516 cm課外授業8-aws

CloudFront Resource

Page 23: 20130516 cm課外授業8-aws

IAM Role Resource

Page 24: 20130516 cm課外授業8-aws

AutoScalingGroupReousrce

Page 25: 20130516 cm課外授業8-aws

LaunchConfiguration Resource

Page 26: 20130516 cm課外授業8-aws

What's 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

Page 27: 20130516 cm課外授業8-aws

LaunchConfiguration Resource

Page 28: 20130516 cm課外授業8-aws

User Data

Page 29: 20130516 cm課外授業8-aws

What's in the WAR?

Page 30: 20130516 cm課外授業8-aws
Page 31: 20130516 cm課外授業8-aws

• 弊社では即戦力なAWSエンジニアを絶賛大募集中です。

• AWSに関するご相談も何なりと。

[email protected]

• And... any questions?

コマーシャル