20130516 cm課外授業8-aws

Post on 08-May-2015

302 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

AWS管理を自動化する奥義

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

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

#cm_dev

自己紹介• 都元ダイスケ• @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

works

• 日経ソフトウエア

• Java入門記事

• Eclipse記事

#cm_dev

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

#cm_dev

Agenda

• Rudess(仮)って何だ

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

• CloudFormationの概要

• Rudess(仮)におけるCloudFormation

#cm_dev

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

•メタデータはDynamoDB

•アプリはEC2

•APIアクセス権限は IAM Role

•スケールアウトはAutoScaling

•負荷分散はELB

•キャッシュ(CDN)はCloudFront

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

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

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

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

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

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

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

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

• 起動設定&起動

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

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

• S3バケットの作成

• 画像のアップロード

• DynamoDB作成

• EC2インスタンス起動

• アプリインストール

• アプリ設定

• スケーラビリティ設定

• 負荷分散設定

• CDNかぶせて

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

• S3バケットの作成

• 画像のアップロード

• DynamoDB作成

• EC2インスタンス起動

• アプリインストール

• アプリ設定

• スケーラビリティ設定

• 負荷分散設定

• CDNかぶせて

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

ない!

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のキャパ, ...等

Template

Resource

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

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

Parameter

Parameter

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

Parameter Reference

Parameter Inputs

Mapping

Output

CloudFront Resource

IAM Role Resource

AutoScalingGroupReousrce

LaunchConfiguration Resource

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

LaunchConfiguration Resource

User Data

What's in the WAR?

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

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

info@classmethod.jp

• And... any questions?

コマーシャル

top related