ハンズオン:     VPC設計およびVPCをCloudFormationテ     ンプレートで記述する        注意:CloudFormationとVPCの           知識識を前提とします。ARAKI Yasuhiro
このハンズオンのための準備v CloudFormationの知識識v インストール  v CloudFormationのコマンドラインツール    (必須)  v テキストエディタ(必須)  v JSONエディタ(任意)       ...
CloudFormationのコマンドラインツールv https://s3.amazonaws.com/cloudformation-‐‑‒cli/   AWSCloudFormation-‐‑‒cli.zip                ...
前の時間でつくったテンプレートv https://s3-‐‑‒ap-‐‑‒northeast-‐‑‒1.amazonaws.com/   arakisa/CloudFormation/eccube-‐‑‒araki-‐‑‒   classic...
進め⽅方v VPCをコンソールで作りますv 同じことを実現するCFNTを作ります              ARAKI Yasuhiro
本ハンズオン:2AZ,6サブネット          v 複数のアベイラビリティ             ゾーンにEC-‐‑‒CUBEの動作             するEC2インスタンスを             配置          v...
マネージメントコンソールでVPC作成   作成したいVPCと一致する構成は存在しない。   そこで、構成はあとから調整することにして、   一番単純な構成になっている「VPC	  with	  a	     Single	  Public	  ...
1つ⽬目のサブネット作成               ARAKI Yasuhiro
追加サブネット作成            ARAKI Yasuhiro
サブネット追加          ARAKI Yasuhiro
サブネットの確認           ARAKI Yasuhiro
RouteTableとPublicSubnetの紐紐付けPublic	  Subnetに対してインターネットゲートウェイへの経路を持つRoute	  Tableと関連付ける。	                                  ...
Private  Subnet⽤用のRouteTable        10.1.0.0/16のVPCと関連づけて、Route	  Table        を作成し、関係付ける	                                ...
Route  Tableの確認                  ARAKI Yasuhiro
Private  Subnetに対するNACL            Create	  Network	  ACL	  をクリックし、作成をはじめる。	                           ARAKI Yasuhiro
ARAKI Yasuhiro
NACLを適用するSubnetと関係づける 	      ARAKI Yasuhiro
NACLルール(Inbound)の定義              ARAKI Yasuhiro
NACLルール(outbound)の定義               ARAKI Yasuhiro
Public  Subnetに対するNACL(inbound)              22,80,DynamicPortを許可	                            ARAKI Yasuhiro
Public  Subnetに対するNACL(outbound)              80,DynamicPortを許可	                            ARAKI Yasuhiro
本ハンズオン:2AZ,6サブネット          v 想定のCFNTを作成し             てみる              ARAKI Yasuhiro
VPCを定義するCFNTのステップv ネットワークの構成を定義 v VPCそのものの作成、サブネット作成、IGW   作成とアタッチ、ルーティング作成と設定と   ヒモ付、NACLの作成と定義とヒモ付v 定義値はOutputに記述して再利...
CFNをつかったVPC作成https://gist.github.com/armaniacs/4752951#file-vpc-subnets-json	v ここまでのGUI操作を   CFNで                        ...
VPCそのもの作成  AWS::EC2::VPC"VPC"  :  {                        "Type"  :  "AWS::EC2::VPC",                        "Properties"...
サブネットの作成  AWS::EC2::Subnet  "ELBSubnetA"  :  {                        "Type"  :  "AWS::EC2::Subnet",                      ...
AWS::EC2::InternetGateway  "InternetGateway"  :  {                        "Type"  :  "AWS::EC2::InternetGateway",         ...
AWS::EC2::VPCGatewayAttachment  "AttachGateway"  :  {                        "Type"  :  "AWS::EC2::VPCGatewayAttachment", ...
ルーティングテーブルの作成AWS::EC2::RouteTable  "PublicRouteTable"  :  {                        "Type"  :  "AWS::EC2::RouteTable",     ...
ルーティングテーブルの内容設定AWS::EC2::Route"PublicRoute"  :  {                        "Type"  :  "AWS::EC2::Route",                    ...
サブネットとルーティングテーブルを紐紐付けAWS::EC2::SubnetRouteTableAssociation"PublicSubnetRouteTableAssociationElbA"  :  {                   ...
NACLの作成  AWS::EC2::NetworkAcl"PublicNetworkAcl"  :  {                        "Type"  :  "AWS::EC2::NetworkAcl",           ...
NACLの中⾝身を定義  AWS::EC2::NetworkAclEntry""InboundSSHPublicNetworkAclEntry"  :  {                        "Type"  :  "AWS::EC2...
NACLとサブネットの紐紐付けAWS::EC2::SubnetNetworkAclAssociation"PublicSubnetNetworkAclAssociationElbA"  :  {                        "...
定義値を出⼒力力  Outputs  "Outputs":{                "ELBSubnetAId":{                        "Value":{"Ref":  "ELBSubnetA"},     ...
Upcoming SlideShare
Loading in …5
×

Jaws−横浜ハンズオンーCloudFormation w/ vpc 2/3

1,128 views
1,029 views

Published on

AWS CloudFormatioNをつかった世界最速ハンズオン。EC2で作った環境をVPCに移行する。

Published in: Technology
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,128
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

Jaws−横浜ハンズオンーCloudFormation w/ vpc 2/3

  1. 1. ハンズオン: VPC設計およびVPCをCloudFormationテ ンプレートで記述する 注意:CloudFormationとVPCの 知識識を前提とします。ARAKI Yasuhiro
  2. 2. このハンズオンのための準備v CloudFormationの知識識v インストール v CloudFormationのコマンドラインツール (必須) v テキストエディタ(必須) v JSONエディタ(任意) ARAKI Yasuhiro
  3. 3. CloudFormationのコマンドラインツールv https://s3.amazonaws.com/cloudformation-‐‑‒cli/ AWSCloudFormation-‐‑‒cli.zip ARAKI Yasuhiro
  4. 4. 前の時間でつくったテンプレートv https://s3-‐‑‒ap-‐‑‒northeast-‐‑‒1.amazonaws.com/ arakisa/CloudFormation/eccube-‐‑‒araki-‐‑‒ classic09.json   ARAKI Yasuhiro
  5. 5. 進め⽅方v VPCをコンソールで作りますv 同じことを実現するCFNTを作ります ARAKI Yasuhiro
  6. 6. 本ハンズオン:2AZ,6サブネット v 複数のアベイラビリティ ゾーンにEC-‐‑‒CUBEの動作 するEC2インスタンスを 配置 v ELBを使⽤用し、外部から のHTTPアクセスはELBを 使⽤用してEC2インスタン スに分散する。 v DBはRDSをMulti-‐‑‒AZ構 成で配置 ARAKI Yasuhiro
  7. 7. マネージメントコンソールでVPC作成 作成したいVPCと一致する構成は存在しない。 そこで、構成はあとから調整することにして、 一番単純な構成になっている「VPC  with  a   Single  Public  Sunet  Only」を選ぶ。 ARAKI Yasuhiro
  8. 8. 1つ⽬目のサブネット作成 ARAKI Yasuhiro
  9. 9. 追加サブネット作成 ARAKI Yasuhiro
  10. 10. サブネット追加 ARAKI Yasuhiro
  11. 11. サブネットの確認 ARAKI Yasuhiro
  12. 12. RouteTableとPublicSubnetの紐紐付けPublic  Subnetに対してインターネットゲートウェイへの経路を持つRoute  Tableと関連付ける。 ARAKI Yasuhiro
  13. 13. Private  Subnet⽤用のRouteTable 10.1.0.0/16のVPCと関連づけて、Route  Table を作成し、関係付ける ARAKI Yasuhiro
  14. 14. Route  Tableの確認 ARAKI Yasuhiro
  15. 15. Private  Subnetに対するNACL Create  Network  ACL  をクリックし、作成をはじめる。 ARAKI Yasuhiro
  16. 16. ARAKI Yasuhiro
  17. 17. NACLを適用するSubnetと関係づける ARAKI Yasuhiro
  18. 18. NACLルール(Inbound)の定義 ARAKI Yasuhiro
  19. 19. NACLルール(outbound)の定義 ARAKI Yasuhiro
  20. 20. Public  Subnetに対するNACL(inbound) 22,80,DynamicPortを許可 ARAKI Yasuhiro
  21. 21. Public  Subnetに対するNACL(outbound) 80,DynamicPortを許可 ARAKI Yasuhiro
  22. 22. 本ハンズオン:2AZ,6サブネット v 想定のCFNTを作成し てみる ARAKI Yasuhiro
  23. 23. VPCを定義するCFNTのステップv ネットワークの構成を定義 v VPCそのものの作成、サブネット作成、IGW 作成とアタッチ、ルーティング作成と設定と ヒモ付、NACLの作成と定義とヒモ付v 定義値はOutputに記述して再利利⽤用 ARAKI Yasuhiro
  24. 24. CFNをつかったVPC作成https://gist.github.com/armaniacs/4752951#file-vpc-subnets-json v ここまでのGUI操作を CFNで ARAKI Yasuhiro
  25. 25. VPCそのもの作成  AWS::EC2::VPC"VPC"  :  {                        "Type"  :  "AWS::EC2::VPC",                        "Properties"  :  {                                "CidrBlock"  :  "10.1.0.0/16",                                "Tags"  :  [                                        {"Key"  :  "Application",  "Value"  :  {  "Ref"  :  "AWS::StackName”}  },                                        {"Key"  :  "Network",  "Value"  :  "Public"  }                                ]}}, ARAKI Yasuhiro
  26. 26. サブネットの作成  AWS::EC2::Subnet  "ELBSubnetA"  :  {                        "Type"  :  "AWS::EC2::Subnet",                        "Properties"  :  {                                "VpcId"  :  {  "Ref"  :  "VPC"  },                                "CidrBlock"  :  "10.1.10.0/24",                                "AvailabilityZone"  :  "ap-‐‑‒northeast-‐‑‒1a",                                "Tags"  :  [                                        {"Key"  :  "Application",  "Value"  :  {  "Ref"  :  "AWS::StackName”}  },                                        {"Key"  :  "Network",  "Value"  :  "Public"  }                                ]}}, ARAKI Yasuhiro
  27. 27. AWS::EC2::InternetGateway  "InternetGateway"  :  {                        "Type"  :  "AWS::EC2::InternetGateway",                        "Properties"  :  {                                "Tags"  :  [                                        {"Key"  :  "Application",  "Value"  :  {  "Ref"  :  "AWS::StackName"}  },                                        {"Key"  :  "Network",  "Value"  :  "Public"  }                                ]}}, ARAKI Yasuhiro
  28. 28. AWS::EC2::VPCGatewayAttachment  "AttachGateway"  :  {                        "Type"  :  "AWS::EC2::VPCGatewayAttachment",                        "Properties"  :  {                                "VpcId"  :  {  "Ref"  :  "VPC"  },                                "InternetGatewayId"  :  {  "Ref"  :  "InternetGateway"  }                        }}, ARAKI Yasuhiro
  29. 29. ルーティングテーブルの作成AWS::EC2::RouteTable  "PublicRouteTable"  :  {                        "Type"  :  "AWS::EC2::RouteTable",                        "Properties"  :  {                                "VpcId"  :  {"Ref"  :  "VPC"},                                "Tags"  :  [                                        {"Key"  :  "Application",  "Value"  :  {  "Ref"  :  "AWS::StackName”}  },                                        {"Key"  :  "Network",  "Value"  :  "Public"  }                                ]}}, ARAKI Yasuhiro
  30. 30. ルーティングテーブルの内容設定AWS::EC2::Route"PublicRoute"  :  {                        "Type"  :  "AWS::EC2::Route",                        "Properties"  :  {                                "RouteTableId"  :  {  "Ref"  :  "PublicRouteTable"  },                                "DestinationCidrBlock"  :  "0.0.0.0/0",                                "GatewayId"  :  {  "Ref"  :  "InternetGateway"  }                        }}, ARAKI Yasuhiro
  31. 31. サブネットとルーティングテーブルを紐紐付けAWS::EC2::SubnetRouteTableAssociation"PublicSubnetRouteTableAssociationElbA"  :  {                        "Type"  :  "AWS::EC2::SubnetRouteTableAssociation",                        "Properties"  :  {                                "SubnetId"  :  {  "Ref"  :  "ELBSubnetA"  },                                "RouteTableId"  :  {  "Ref"  :  "PublicRouteTable"  }                        }}, ARAKI Yasuhiro
  32. 32. NACLの作成  AWS::EC2::NetworkAcl"PublicNetworkAcl"  :  {                        "Type"  :  "AWS::EC2::NetworkAcl",                        "Properties"  :  {                                "VpcId"  :  {"Ref"  :  "VPC"},                                "Tags"  :  [                                        {"Key"  :  "Application",  "Value"  :  {  "Ref"  :  "AWS::StackName”}  },                                        {"Key"  :  "Network",  "Value"  :  "Public"  }                                ]}}, ARAKI Yasuhiro
  33. 33. NACLの中⾝身を定義  AWS::EC2::NetworkAclEntry""InboundSSHPublicNetworkAclEntry"  :  {                        "Type"  :  "AWS::EC2::NetworkAclEntry",                        "Properties"  :  {                                "NetworkAclId"  :  {"Ref"  :  "PublicNetworkAcl"},                                "RuleNumber"  :  "10",                                "Protocol"  :  "6",                                "RuleAction"  :  "allow",                                "Egress"  :  "false",                                "CidrBlock"  :  "0.0.0.0/0",                                "PortRange"  :  {"From"  :  "22",  "To"  :  "22"}                        }                }, ARAKI Yasuhiro
  34. 34. NACLとサブネットの紐紐付けAWS::EC2::SubnetNetworkAclAssociation"PublicSubnetNetworkAclAssociationElbA"  :  {                        "Type"  :  "AWS::EC2::SubnetNetworkAclAssociation",                        "Properties"  :  {                                "SubnetId"  :  {  "Ref"  :  "ELBSubnetA"  },                                "NetworkAclId"  :  {  "Ref"  :  "PublicNetworkAcl"  }                        }}, ARAKI Yasuhiro
  35. 35. 定義値を出⼒力力  Outputs  "Outputs":{                "ELBSubnetAId":{                        "Value":{"Ref":  "ELBSubnetA"},                        "Description":"Id  of  ELBSubnetA"                }, ARAKI Yasuhiro

×