20130622 awsの全サービスお話します - 環境自動構築 - cloudformation - jaws-ug...

24
- AWSの全サービスお話します - 環境自動構築 AWS CloudFormation JAWS-UG Osaka 第8回勉強会 Beginners 2013.06.22 桶谷 拓也

Upload: takuya-oketani

Post on 24-Jun-2015

2.007 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: 20130622 AWSの全サービスお話します - 環境自動構築 - CloudFormation - jaws-ug osaka#08

- AWSの全サービスお話します - 環境自動構築

AWS CloudFormation

JAWS-UG Osaka 第8回勉強会 Beginners 2013.06.22 桶谷 拓也

Page 2: 20130622 AWSの全サービスお話します - 環境自動構築 - CloudFormation - jaws-ug osaka#08

自己紹介• 桶谷 拓也(おけたに たくや) • 業務系エンジニア • AWS認定ソリューションアーキテクト- アソシエイト

• @okeee0315 !

• Like:SQS/Queuing Chain/Self Registration • クラウド/HTML5/Node.js

Page 3: 20130622 AWSの全サービスお話します - 環境自動構築 - CloudFormation - jaws-ug osaka#08

目次• CloudFormation • Stack • Template • cloud-init • CloudFormer • 最近の情勢 • さいごに

Page 4: 20130622 AWSの全サービスお話します - 環境自動構築 - CloudFormation - jaws-ug osaka#08

CloudFormation

Page 5: 20130622 AWSの全サービスお話します - 環境自動構築 - CloudFormation - jaws-ug osaka#08

CloudFormation• 様々なAWSのサービスを使用したシステム構成を設定ファイル(Template)を元にStackを構築するサービス。

• Templateを作成することで、自由なシステム構成が可能。

• 利用料金は無料! ➡Templateで構築するAWSリソースに対する料金のみ。

Page 6: 20130622 AWSの全サービスお話します - 環境自動構築 - CloudFormation - jaws-ug osaka#08

CloudFormation• イメージ

Amazon EC2 Amazon EC2 Amazon EC2 Amazon EC2

Bucket with Objects DynamoDB Amazon RDS

Amazon SNSAmazon SQS

Template

Stack

Templateから色々なサービスを起動できる

Page 7: 20130622 AWSの全サービスお話します - 環境自動構築 - CloudFormation - jaws-ug osaka#08

CloudFormation• いつ使うの? ‣ 一度Templateを作成すれば、いつでも同じシステム構成を構築することが出来る。

• 開発環境/評価環境の構築。 • 再利用可能なシステム構成(LAMPなど)の構築。

‣ 公開されているTemplateを利用したシステム構築。

• アプリケーションが必要な場合、Templateが公開されているものであれば、それを利用することで簡単に構築可能。一から(OSインストール、アプリケーションインストール...etc)作成する必要はない。

• Tracks、Redmine、WordPress、LAMP、RoR ...etc

Page 8: 20130622 AWSの全サービスお話します - 環境自動構築 - CloudFormation - jaws-ug osaka#08

Stack• リソースの集合。対応しているリソースは…

!

!

!

!

• リソース単位で構築/破棄を行うことが出来る。

• Templateで指定された依存関係で構築順が決まる。

Amazon EC2 インスタンス(オンデマンドインスタンス、スポットインスタンス、およびリザーブドインスタンス) Amazon Elastic Block Store(EBS)ボリューム Elastic Load Balancers Elastic IP アドレス Amazon EC2 セキュリティグループ Auto Scaling グループ Amazon Relational Database Service(RDS)インスタンス Amazon RDS セキュリティグループ Amazon ElastiCache クラスタ Amazon ElastiCache セキュリティグループ Amazon ElastiCache パラメータグループ AWS Elastic Beanstalk Amazon CloudWatch アラーム

Amazon Simple Storage Service(S3)バケット Amazon Simple DB ドメイン Amazon Simple Queue Service(SQS)キュー Amazon Simple Notification Service(SNS)トピック Amazon SNS サブスクリプション Amazon Route 53 DNS レコード Amazon CloudFront のディストリビューションと複数オリジンのサポート AWS Identity and Access Management ユーザーおよびグループ AWS Identity and Access Management ポリシー Amazon Virtual Private Cloud VPC、サブネット、ゲートウェイ、ルートテーブル、およびネットワーク ACL Amazon DynamoDB テーブル

Page 9: 20130622 AWSの全サービスお話します - 環境自動構築 - CloudFormation - jaws-ug osaka#08

Stack

• 構築手段 ‣ AWS Management Console ‣ AWS CloudFormation Command Line Tools

‣ 各種SDK • Java、.NET、PHP

Page 10: 20130622 AWSの全サービスお話します - 環境自動構築 - CloudFormation - jaws-ug osaka#08

Template• CloudFormationで一番重要な部分。• Stackの設計書。 • JSONフォーマットで記述する。

!

• サンプルテンプレート ➡http://aws.amazon.com/jp/cloudformation/aws-cloudformation-templates/

Page 11: 20130622 AWSの全サービスお話します - 環境自動構築 - CloudFormation - jaws-ug osaka#08

Template• どんなもの? ‣ Parameters、Mappings、Resources、Outputsの4つの定義を記述。

‣ 可変項目はパラメータ化、Mapping。 ‣ Functionsで文字結合も出来る。 ‣ 参照関係が存在する部分はCloudFormationがよしなに。

Page 12: 20130622 AWSの全サービスお話します - 環境自動構築 - CloudFormation - jaws-ug osaka#08

cloud-init

Page 13: 20130622 AWSの全サービスお話します - 環境自動構築 - CloudFormation - jaws-ug osaka#08

cloud-init• 初期設定ツール • EC2インスタンス起動時にuserdataとして設定したスクリプトを実行させる。 • シェルスクリプト、コマンドラインスクリプト、PowerShellスクリプト ...etc

!

• example ➡http://bit.ly/14OLL3V

Page 14: 20130622 AWSの全サービスお話します - 環境自動構築 - CloudFormation - jaws-ug osaka#08

cloud-init•何が出来るの? ‣ パッケージのインストール ‣ パッケージのアップデート ‣ hostnameの設定 ‣ インスタンス情報の取得 ...etc !

スクリプトで出来ることは何でも!

Page 15: 20130622 AWSの全サービスお話します - 環境自動構築 - CloudFormation - jaws-ug osaka#08

cloud-init• 何に使うの? ‣ インスタンス起動時にインスタンスを初期化する。 • 全ての設定を詰め込んだAMIを用意して運用すると、OS/アプリケーションのバージョンアップなどの際にAMIの再作成が必要になる。

➡更新/変更される可能性がある部分をcloud-initに分離することでAMIの再作成が不要に。

➡同じ構成で別の環境を構築する際、環境差異をcloud-initに分離しておくことでAMIの再利用が可能に。

Page 16: 20130622 AWSの全サービスお話します - 環境自動構築 - CloudFormation - jaws-ug osaka#08

Cloud Former

Page 17: 20130622 AWSの全サービスお話します - 環境自動構築 - CloudFormation - jaws-ug osaka#08

Cloud Former• 構築済みのシステム構成からテンプレートを作成するツール。

• Cloud Former自体をテンプレートから起動する。

• Cloud FormerのStackを構築し、Webアクセスして、ウィザード形式でリソースの選択を行い、Templateを作成する。 !

※ベータ版(ベータが外れる日はいつ...?)

Page 18: 20130622 AWSの全サービスお話します - 環境自動構築 - CloudFormation - jaws-ug osaka#08

Cloud Former• 何に使うの? • 既にAWS上に構築されているシステム構成からTemplateを作成する。

• システム構成の再利用。 ➡同じシステム構成の別のアプリケーションの構築。

➡同じシステム構成の開発/評価環境の構築。

Page 19: 20130622 AWSの全サービスお話します - 環境自動構築 - CloudFormation - jaws-ug osaka#08

最近の情勢

Page 20: 20130622 AWSの全サービスお話します - 環境自動構築 - CloudFormation - jaws-ug osaka#08

• AWS OpsWorks(おぷすわーくす)の登場 !

!

!

!

!

• OpsWorks(AWSのDevOpsソリューション/Chefレシピ使用可能)に流れるかと思いきや意外とそうでもなかった。

• 既にAWSとPuppet/Chef/Fabricを組み合わせる事例多数。 • 個人的にはOpsWorksに遷移していく感じ。

最近の情勢

Page 21: 20130622 AWSの全サービスお話します - 環境自動構築 - CloudFormation - jaws-ug osaka#08

最近の情勢• OpsWorksについては… • この後のセッションで! • 2013/07/06(土)にJAWS-UG神戸のOpsWorks(Chef)特集、で! ➡ http://www.zusaar.com/event/615003

Page 22: 20130622 AWSの全サービスお話します - 環境自動構築 - CloudFormation - jaws-ug osaka#08

さいごに

Page 23: 20130622 AWSの全サービスお話します - 環境自動構築 - CloudFormation - jaws-ug osaka#08

AWSに触れるとき• わからないことがあったら? • Google先生に聞いてみる。 • Twitterで”#JAWSUG”タグで質問してみる。 !

• おすすめのドキュメント • 公式 • AWSマイスターシリーズ ➡ http://aws.amazon.com/jp/aws-jp-introduction/

Page 24: 20130622 AWSの全サービスお話します - 環境自動構築 - CloudFormation - jaws-ug osaka#08

ありがとうございました。