jaws-ug大阪第7回勉強会 cdp実践vpc編とcloudformation

65
第7回 JAWS-UG大阪 勉強会 CDP実践VPC編 とCloudFormation 後藤 和貴 @kaz_goto  facebook.com/kaz.goto  2012.12.14

Upload: kazutaka-goto

Post on 10-Jun-2015

2.222 views

Category:

Technology


0 download

DESCRIPTION

2012.12.15におこなわれたJAWS-UG大阪第7回勉強会で発表した資料です。 Cloud Design Patternを理解しやすいようサイト構築事例のなかでいくつかのパターンを紹介しているのと、VPC内での設計で使っているパターンおよびCloudFormation化の話です。

TRANSCRIPT

Page 1: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

第7回 JAWS-UG大阪 勉強会

CDP実践VPC編とCloudFormation

後藤 和貴 @kaz_goto 

 facebook.com/kaz.goto  2012.12.14

Page 2: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

自己紹介プロフィール

アイレット株式会社 cloudpack エバンジェリスト2012/9 JAWS-UG 副代表就任

出没するJAWS-UG: 東京、大阪、福岡、宮崎、    浜松、静岡、鹿児島、沖縄、名古屋、札幌、    北陸、熊本、長崎、神戸、岩手

受賞歴: AWS SAMURAI 2012(個人)    2011年度パートナー特別賞(会社)

好きなAWSサービス: プレミアムサポート

好きなCDP:

@kaz_gotofacebook.com/kaz.goto

Page 3: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation
Page 4: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

6/2(土)~6/3(日) JAWS-UG大阪

6/6(水)~6/7(木) JAWS-UG神戸

9/7(金)~9/10(月) 明星和楽参加

10/6(土)~10/7(日) JAWS-UG名古屋

10/16(火)~10/21(日) Cloud Days Fukuoka 2012、JAWS-UG鹿児島

11/11(日)~11/13(火) JAWS-UG札幌

11/17(土)~11/19(月) JAWS-UG沖縄

11/26(月)~12/2(日) AWS re:Invent 2012+Amazon本社訪問

12/11(火)~12/14(金) UP 2012

12/15(土)~12/17日(月) JAWS-UG大阪+営業

1/20(金)~1/21(土) JAWS-UG北陸

2/8(水)~2/11(土) JAWS-UG福岡、JAWS-UG熊本

2/14(火)~2/15(水) JAWS-UG札幌

2/18(土)~2/19(日) JAWS-UG大阪

2/21(火)~2/22(水) JAWS-UG仙台

3/7(水)~3/9(金) Cloud Days Osaka 2012

3/30(金)~3/31(土) JAWS-UG長崎

4/17(火)~4/22(日) AWS Summit 2012 NYC

4/25(水)~4/29(日) JAWS-UG沖縄

5/16(水)~5/17(木) JAWS-UG札幌 JAWS-UG計16回

Page 5: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

AWS re:Invent 2012 in Las VegasAWS初の全世界規模のカンファレンス

多くのすばらしい事例

AWSサービスの深い知識

すばらしい環境(カンファレンス会場、ホテル、カジノ、ショー、etc...)

Page 6: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

皆さんCDPってご存じですか?

Page 7: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation
Page 8: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation
Page 9: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

AWSクラウドデザインパターンとは

AWSクラウドを使ったシステムアーキテクチャ設計を行う際に発生する、典型的な問題とそれに対する解決策・設計方法を、分かりやすく分類して、ノウハウとして利用できるように整理したものである。

Page 10: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

要するにクラウド版(AWS版)デザインパターン

Page 11: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

1日目 2日目AWS Summit Tokyo 2012

Page 12: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

ついに世界進出!

Page 13: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

Floating IPパターン

Stampパターン Bootstrapパターン

DB Replicationパターン

Page 14: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

Floating IPパターン

Scale Upパターン Bootstrapパターン

DB Replicationパターン

現在その数49パターン

Page 15: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

実例で紹介

Page 16: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

ハワトラクイズ

クライアント 株式会社ジェーシービー制作 spfdesign Inc.

Page 17: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

12月末~1月中旬 3月頭~中旬

Page 18: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

サーバー構成キャンペーン期間外

Web

キャンペーン期間中

Web Web

ティザー状態静的なコンテンツのみ

キャンペーン開始時サーバースペック強化

予想以上のアクセスのため途中で性能アップ

Web

元の状態に性能下げる

キャンペーン終了後

Page 19: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

適用したCDPキャンペーン期間外

Web

キャンペーン期間中

Web Web

ティザー状態静的なコンテンツのみ

キャンペーン開始時サーバースペック強化

予想以上のアクセスのため途中で性能アップ

Web

元の状態に性能下げる

キャンペーン終了後

Scale Upパターン

Page 20: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

Scale Upパターン

クラウドでは、仮想サーバーのスペック(CPU、メモリーサイズなど)を必要に応じて切り替えることが可能である。仮想サーバーを起動した後でもスペック変更が行える。

Page 21: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

社団法人 日本プロゴルフ協会 公式サイトhttp://www.pga.or.jp/

クライアント 社団法人 日本プロゴルフ協会(PGA)

Page 22: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

サイト特性MovableTypeによるコンテンツ更新(静的ファイル)

トーナメントがテレビで放送されるときだけアクセス数が15倍に

Page 23: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

サーバー構成

Web/DB

平常時

Web/DB Web Web Web Web Web

ロードバランサー

トーナメント期間中

コンテンツ同期

Page 24: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

適用したCDP

Web/DB

平常時

Web/DB Web Web Web Web Web

ロードバランサー

トーナメント期間中

コンテンツ同期

Clone Serverパターン

Multi-Serverパターン

Page 25: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

Multi-Serverパターン

仮想サーバーを複数台並べ、クラウドサービスとして提供されるロードバランサーを用いて適宜負荷を振り分ける。

Clone Serverパターン

負荷分散が考慮されていないシステムを、容易に負荷分散可能なシステムにする。既に存在するサーバーをマスターとし、追加するサーバーのマシンイメージを用意する。

Page 26: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

UNIQLO CHECK-IN CHANCE

クライアント 株式会社ユニクロ制作 株式会社マウント

Page 27: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

サーバー構成キャンペーン期間外

Web

ロードバランサー

キャンペーン期間中

Web Web Web

CacheDB(Master) DB(Slave)

結果発表のため静的なコンテンツのみ

サーバースペック強化Webサーバー台数増加

DB/キャッシュサーバー追加

アクセス状態を見て途中でスペックダウン

Page 28: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

適用したCDPキャンペーン期間外

Web

ロードバランサー

キャンペーン期間中

Web Web Web

CacheDB(Master) DB(Slave)

結果発表のため静的なコンテンツのみ

サーバースペック強化Webサーバー台数増加

DB/キャッシュサーバー追加

アクセス状態を見て途中でスペックダウン

Clone Serverパターン

Multi-Serverパターン

Scale Upパターン

DB Replicationパターン

Page 29: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

Scale Upパターン

DB Replicationパターン

地理的ロケーションをまたいだレプリケーションを行うパターン。このパターンによりデータロストを防ぎ、データアクセスの可用性を担保する。

Multi-Serverパターン Clone Serverパターン

Page 30: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

パターンを駆使すれば

Page 31: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

こんな構成も

Page 32: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

�������������� �

������������� �����

������� �+��

�������������� �

������� �+��

��� �� �

��� ���

������� �+��

�������

���������� �

�������

���������� ��������

���������� �

������� �+��

��� ���! ��� ��"�� ��� � ���!

����������

����

���� ��

����������

����

���� ��

����������

����

���� ��

���! ��"�� � ���!

����������

� ��

������

����������

����

���� ��

#��$�

%���! &

����������

� ��

������

�'�

()�)�

�������

��

����������

� ��

������

����!

���

������

���

������������ �������

����������

� ��

������

�'�

�������

���������� �

�������

���������� ��������

���������� �

��� ���! ��� ��"�� ��� � ���!

���

������� �+��

����������

� ��

������

#��$�

���

������� �+��

����������

����

���� ��

����������

����

���� ��

����������

����

���� ��

���! ��"�� � ���!

����������

����

���� ��

%���! &

����������

� ��

������

����!

���

��

()�)�

������� �����

������� �+*�������� �+*�

���

こんな構成も

Page 33: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

こんな構成も簡単にできちゃう

Page 34: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

ぜひ活用してみてください

Page 35: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

それでも構成検討が難しいと思う方は...

Page 36: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation
Page 37: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

以下省略

Page 38: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

続きはウェブでcloudpack  クラウドパック

Page 39: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

最近使っているCDP

Page 40: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

の前にVPCの話

Page 41: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation
Page 42: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

ほぼ反応なし...

Page 43: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

VPC関連アップデート1/11 【AWS発表】 クラウドに専用線接続できるAWS Direct Connectが東京リージョンでも利用可能に

1/24 【AWS発表】 Virtual Private Cloudの中でRelational Database Serviceが利用可能に

2/6 【AWS発表】 Elastic MapReduceの新機能:メトリクス、Hadoopのアップデート、VPC、そしてクラスタコンピュートのサポート

4/26 【AWS発表】 Virtual Private Cloudの中でクラスターコンピュートインスタンスが利用可能に

5/18 【AWS発表】Amazon RDSのリードレプリカがVPC内でも作成可能に

6/12 【AWS発表】プライベートIPを負荷分散できるELBが登場!

7/7 【AWS発表】VPC内の単一EC2インスタンスに複数のIPアドレス関連づけることが可能に!

8/17 Additional RDS for Oracle Features - VPC Support, Oracle Application Express (APEX) and Oracle XML DB

8/15 【AWS発表】AWS Direct Connect - 新しいロケーションとコンソールサポート

9/14 【AWS発表】Amazon RDS for SQL Server が VPC内で利用可能に

9/17 【AWS発表】Amazon VPCに2つの新機能が追加 - BGPをサポートしないデバイスでもVPCに接続可能に

10/19 【AWS発表】Virtual Private Cloud (VPC) 内でEC2のマイクロインスタンスが起動可能に!

11/1 【AWS発表】 AWS Elastic Beanstalk - Rubyのサポート開始、さらにVPC統合も可能に

Page 44: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

新規のお客さんはかなりの確率でVPC利用

Page 45: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation
Page 46: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

設計が細かく毎回手作業は危険

Page 47: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

かつ毎回同じ設計をしている

Page 48: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

たとえば...

Page 49: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

VPCネットワーク構成

サブネット作成指針

ルーティング

• Public - インターネットとInbound/Outbound可

• Protected - インターネットへNAT経由でOutboundのみ可

• Private - インターネットへのアクセス不可(社内へは可)

IPアドレス固定・任意

• 自動でIPが付与されるELB/RDS/Auto Scaling利用とわけるため

Page 50: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

セキュリティグループ接続用途別に作成

Functional Firewallパターン

• EC2標準• データベース(MySQL/Oracle)Operational Firewallパターン

• cloudpackからアクセス(監視・メンテ)• 踏み台へのアクセス• NATへのアクセス• 管理画面へのアクセス

Page 51: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

Functional Firewallパターン

ルールをグループ化し、グループ単位での設定や各サーバーへの適用を行うことができるものもある。このグループの単位を機能ごと(WebやDBなど)にすることで、機能に関する設定をグループ内で一元管理できるようになる。

Operational Firewallパターン

ルールをグループ化し、グループ単位で設定したりサーバーに適用したりできる。このグループという単位をシステムにアクセスできる組織などにすることで、非機能要件的なアクセス制限に関する設定を使いやすく分割/一元管理することができる。

Page 52: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

メンテナンス用NATサーバーメンテナンスのときだけNATを利用して外部へアクセス

例: yumアップデート

OnDemand NATパターン

Page 53: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

OnDemand NATパターン

NATを仮想サーバーで実現し、OSパッケージのアップデートなどのメンテンス時だけ起動するようにしておけば、コスト効率がよくなる。APIを利用してNAT(仮想サーバー)の起動と停止を自動化することも可能である。

Page 54: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

踏み台サーバーサーバーメンテナンス時のアクセス経路

Page 55: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

定型化できる部分が多い

Page 56: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

これらすべて自動化  

これらすべて自動化=

  CloudFormation

Page 58: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation
Page 59: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

カスタマイズしたい場合もOK

Page 60: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

くわしくはこちらhttp://blog.suz-lab.com/2012/12/cdp-templates.html

Page 61: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

メリットテンプレートを利用して、必要なときに起動する(構成を作る)ことが簡単にできる

CloudFormationなら面倒な構成を一瞬で構築可能=作業時間短縮

すでにテスト済みの環境を構築するのでフルテストは不要=信頼性が高い

設計そのものがテンプレートされることで、再利用が可能で、かつ設計上のミスも発生しにくくなる

Page 62: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

コードネーム「awsplug」頓挫中...

Page 63: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

最後に

Page 64: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation
Page 65: JAWS-UG大阪第7回勉強会 CDP実践VPC編とCloudFormation

Thank You!

http://www.cloudpack.jp/cloudpack.jp@cloudpack_jp