• Save
現場的!オンプレとAWSの違い
Upcoming SlideShare
Loading in...5
×
 

現場的!オンプレとAWSの違い

on

  • 2,054 views

2013.7.31 JAWS-UG熊本で発表した資料です

2013.7.31 JAWS-UG熊本で発表した資料です

Statistics

Views

Total Views
2,054
Views on SlideShare
1,551
Embed Views
503

Actions

Likes
3
Downloads
0
Comments
0

6 Embeds 503

http://d.hatena.ne.jp 233
http://blog.cloudpack.jp 225
http://yoshidashingo.hatenablog.com 31
http://cloud.feedly.com 6
http://www.feedspot.com 4
http://3449707904234438373_ebb5d0aa9dae40f61c46202be459da9b0f197f5a.blogspot.com 4

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

現場的!オンプレとAWSの違い 現場的!オンプレとAWSの違い Presentation Transcript

  • 2013.7.31 JAWS-UG 熊本 吉田真吾 @yoshidashingo 現場的! AWSとオンプレの違い の説明
  • 自己紹介だモン! 名前:吉田真吾 アイレット株式会社 cloudpack エバンジェリスト JAWS-UG 横浜 代表 好きなAWSサービス:Amazon S3 好きなAWSクラウドデザインパターン:Direct Hostingパターン
  • アジェンダ 設計編 構築・運用編 CloudFormation 事例 保守編 cloudpack のご紹介 View slide
  • Confidential 設計編 View slide
  • 物理サーバーでクラスタリング している(HAあるいはN+1) H/Wレベルでの「可用性」向上 フォールトイントレランス→フォール トトレラント(Design for failure) Web/APサーバ→Multi-Serverパター ン、Multi-Datacenterパターン DBサーバ→DB Replicationパターン
  • DB Replication Multi-Server Multi-Datacenter
  • 共有ディスク 極力使わない GlusterFS、NFSサーバー 参照コンテンツだけなら S3 アプライアンスもある
  • Confidential 構築・運用編
  • アプリケーション管理サービス AWS CloudFormation テンプレートベースで柔軟な設定 AWS Elastic Beanstalk Webアプリケーション向け 障害の起きたEC2を自動復旧 ELBのURLを入替えて環境の切替が瞬時にできる AWS OpsWorks Chefレシピベース → v.11 (New!) カスタムAMI (New!) RDS 未対応 → 使う方法あり
  • Confidential AWS CloudFormation 説明
  • AWS CloudFormation JSON形式で記述したテンプレートを利用する ことで、システムのスタックまるごとデプロ イ・更新・削除できるサービス テンプレートのパート Resources:作成したいリソースの定義 Parameters:画面から指定する引数 Mappings:条件に応じて入替える引数リスト Outputs:結果の出力
  • {    "Parameters"  :  {        "KeyName"  :  {            "Description"  :  "Name  of  an  existing  EC2  KeyPair  to  enable  SSH  access  to  the  instance",            "Type"  :  "String"        }    },    "Mappings"  :  {        "RegionMap"  :  {            "us-­‐east-­‐1"  :  {                    "AMI"  :  "ami-­‐76f0061f"            },            "us-­‐west-­‐1"  :  {                    "AMI"  :  "ami-­‐655a0a20"            },            "eu-­‐west-­‐1"  :  {                    "AMI"  :  "ami-­‐7fd4e10b"            },            "ap-­‐southeast-­‐1"  :  {                    "AMI"  :  "ami-­‐72621c20"            },            "ap-­‐northeast-­‐1"  :  {                    "AMI"  :  "ami-­‐8e08a38f"            }        }    },    "Resources"  :  {        "Ec2Instance"  :  {            "Type"  :  "AWS::EC2::Instance",            "Properties"  :  {                "KeyName"  :  {  "Ref"  :  "KeyName"  },                "ImageId"  :  {  "Fn::FindInMap"  :  [  "RegionMap",  {  "Ref"  :  "AWS::Region"  },  "AMI"  ]},                "UserData"  :  {  "Fn::Base64"  :  "80"  }            }        }    } }
  •    "Outputs":  {        "InstallURL":  {            "Value":  {                "Fn::Join":  [                    "",                    [                        "http://",                        {                            "Fn::GetAtt":  [                                "ElasticLoadBalancer",                                "DNSName"                            ]                        },                        "/wp-­‐admin/install.php"                    ]                ]            },            "Description"  :  "Installation  URL  of  the  WordPress  website"        },        "WebsiteURL":  {            "Value":  {                "Fn::Join":  [                    "",                    [                        "http://",                        {                            "Fn::GetAtt":  [                                "ElasticLoadBalancer",                                "DNSName"  ]                        }                    ]                ]            }        }    }
  • Confidential AWS CloudFormation 事例
  • インフラ設計・構築 インターネット公式サイト 月間1億PV 45億ヒット、 新車発表時3倍のアクセス すべて冗長化 オンプレに環境再生可能な バックアップ 東京リージョン障害時に シンガポールで復旧可能
  • DR用CloudFormation CloudFormationでシンガポールリージョ ンに環境構築 テンプレートから一発で構築可能 Tokyo Region Singapore Region CloudForma*on, Template, Stack,
  • Confidential AWS CloudFormation Tips
  • Tips テンプレートを再利用可能なモジュ ール分割(パラメータ、アウトプッ ト)してチェーン実行しよう 同じ役割のサーバーを複数作成する ならオートスケーリングで管理しよう (可用性の観点からも Good!)
  • テンプレートのチェーン "Resources":  {   "CloudFormationStackVPCBasic"  :  {     "Type":  "AWS::CloudFormation::Stack",     "Properties":  {       "TemplateURL":  "https://s3-­‐ap-­‐northeast-­‐1.amazonaws.com/template.suz-­‐lab.com/template/suz-­‐lab_vpc-­‐ basic-­‐0.0.1.json", "TimeoutInMinutes":  "60"     }   },   "CloudFormationStackOnDemandNAT"  :  {     "Type":  "AWS::CloudFormation::Stack",     "Properties":  {       "TemplateURL"  :  "https://s3-­‐ap-­‐northeast-­‐1.amazonaws.com/template.suz-­‐lab.com/template/suz-­‐ lab_ondemand-­‐nat-­‐0.0.1.json",       "Parameters"  :  {         "KeyName":  {  "Ref":  "KeyName"  },         "ImageId":  {  "Ref":  "OnDemandNATImageId"  },         "InstanceType":  {  "Ref":  "OnDemandNATInstanceType"  },         "Name":  {  "Ref":  "OnDemandNATName"  },         "RouteTableId":  {  "Fn::GetAtt"  :  [  "CloudFormationStackVPCBasic",   "Outputs.RouteTableIdProtected"  ]  },         "SecurityGroupId":  {  "Fn::GetAtt"  :  [  "CloudFormationStackVPCBasic",   "Outputs.SecurityGroupIdCommon"  ]  },         "SubnetId":  {  "Fn::GetAtt"  :  [  "CloudFormationStackVPCBasic",  "Outputs.SubnetIdPublicVarA00"  ]  },         "VpcId":  {  "Fn::GetAtt"  :  [  "CloudFormationStackVPCBasic",  "Outputs.VpcIdBasic"  ]  }       }     }   } }, 親テンプレートの定義
  • 同一レイヤーは Auto Scaling で "Resources":  {   "AutoScalingLaunchConfig"  :  {     "Type"  :  "AWS::AutoScaling::LaunchConfiguration",     "Properties"  :  {       "KeyName"                :  {  "Ref"  :  "KeyName"  },       "ImageId"                :  {  "Ref"  :  "ImageId"  },       "SecurityGroups"  :  {  "Ref"  :  "SecurityGroups"  },       "InstanceType"      :  {  "Ref"  :  "InstanceType"  }     }   },   "AutoScalingAutoScalingGroup"  :  {     "Type"  :  "AWS::AutoScaling::AutoScalingGroup",     "Properties"  :  {       "DesiredCapacity"                  :  {  "Ref"  :  "CapacitySize"  },       "LaunchConfigurationName"  :  {  "Ref"  :  "AutoScalingLaunchConfig"  },       "MaxSize"                                  :  {  "Ref"  :  "CapacitySize"  },       "MinSize"                                  :  {  "Ref"  :  "CapacitySize"  },       "AvailabilityZones"  :  [         {  "Fn::FindInMap"  :  [  "AzMap",  {  "Ref"  :  "AWS::Region"  },  "Az1"  ]  },         {  "Fn::FindInMap"  :  [  "AzMap",  {  "Ref"  :  "AWS::Region"  },  "Az2"  ]  }       ],     "Tags"  :  [       {  "Key"  :  "Name",  "Value"  :  {  "Ref"  :  "Name"  },  "PropagateAtLaunch"  :  true  }     ]     }   } }, Parameters
  • Confidential 保守編
  • EC2の障害復旧フロー
  • EC2の障害復旧フロー 障害は起きるもの 復旧ファースト
  • Confidential エンジニア 世界共通の夢?
  • 夜はぐっすり眠りたいモン! そんなときは... 自主規制
  • AWS運用をアウトソースしたい企業向けの 月額費用固定型フルマネージドホスティング 24時間365日サーバー運用・保守 •電話/メールによるサポート 初期費用なし(基本移行作業含む) 月額5万円からのスタート 日本円で請求書発行
  • フルマネージド サービス/リソース監視 ディスク使用量、メモリ使用量、プロセス数、 Webサーバー・DBサーバー死活... バックアップ/リストア EBSスナップショットを利用した二世代(過去 二日分)バックアップ アクセス制御(ファイアーウォール) 適切なセキュリティグループを設定、OS・ミド ルウェアレベルでさらに細かな設定も対応可能
  • 定額課金・請求書払い 従量課金では予算計画が立てられない クレジットカードでUSドル決済では利用料の予測が難しい Amazon Web Servicesでは... 月額固定+日本円請求書発行
  • バースト保障 キャンペーンなど急激なアクセス増加へ合わせてインフラ 準備するのは不可能 いつあるかわからないピークのために予め準備できない 追加料金無しでスケールアウト (7インスタンス日まで)
  • 日本初のAPNプレミア コンサルティングパートナーの 一社として認定されました。
  • まとめ 設計:Design for failure 運用:サービスを利用 保守:サービス継続優先 それでも障害は起きるので、頼れる パートナーを
  • Thanks! http://www.cloudpack.jp/ suuport@cloudpack.jp @cloudpack_jp
  • Confidential Save the date !! 2013.9.28 sat
  • Confidential 人生が変わるその日
  • http://jfk2013.jaws-ug.jp/
  • 1000+ エンジニア http://jfk2013.jaws-ug.jp/
  • 『ドーム球場』で ITイベント http://jfk2013.jaws-ug.jp/
  • 50+アンカンファレンス、 Game Day、CDP道場 セッション、ハンズオン、html5、 WordPress、etc... http://jfk2013.jaws-ug.jp/
  • スピーカー/モデレーター(一部) 大規模分散システムの現在 ゼロからはじめるnode.js AWS であった 本当に怖い話 HTML5 Caravan CDP道場 スタートアップは AWSで加速する 日本のクラウド普及シナリオ とビジネスチャンス カンファレンスアンカンファレンスカンサイ クラウド時代のソフトウェアベンダーのあり方 AWS で大規模 WEB サービスを 実際に運用してみるということ クラウドセキュリティのためのセキュリティ原則 レスポンシブ+フラットデザインで WordPressテーマを作ってみよう
  • モデレータ募集中 企業サポーター募集中 当日スタッフ募集中 http://jfk2013.jaws-ug.jp/
  • http://jfk2013.jaws-ug.jp/