74. VPC 10.0.0.0/16
Availability Zone -‐‑‒ C
Availability Zone -‐‑‒ A
Internet
Anyone
Internet
Gateway
Public Subnet 10.0.0.0/24
Public Subnet 10.0.2.0/24
Private Subnet
10.0.1.0/24
Private Subnet
10.0.3.0/24
AMI
Amazon RDS
Amazon RDS
AZ-‐‑‒A-‐‑‒WP1
10.0.0.6
EC2 Instance
EC2 Instance
AZ-‐‑‒B-‐‑‒WP2
10.0.2.8
こんな環境の作成を⾃自動化できる
74
82. Chefを使った場合の構成例例
Amazon Linux
EC2 Instanceを起動
Chef Clientのみインストール済み
Custom AMI
ami-‐‑‒1ab34567
Amazon Linux and
Chef Agent installed
Chef Client
EC2インスタンス
Chef Server
EBS
インストール⽤用の
ファイルが配置された
S3バケット
Amazon Linux
Running EC2 Instance
Loaded with Applications
Installed by Chef
Chef Client
Monitoring Agent
PHP
Nginx
Other Libraries
適⽤用するCookbook
やAttributeを取得
82
87. VPC
Availability Zone -‐‑‒ C
Availability Zone -‐‑‒ A
Internet
Anyone
Internet
Gateway
Public Subnet
Public Subnet
Private Subnet
Private Subnet
AMI
Amazon RDS
Amazon RDS
実例例
Graphite
87
88. VPC
Availability Zone -‐‑‒ C
Availability Zone -‐‑‒ A
Internet
Anyone
Internet
Gateway
Public Subnet
Public Subnet
Private Subnet
Private Subnet
AMI
Amazon RDS
Amazon RDS
実例例
CloudFormationで
環境を定義
Graphite
88
89. VPC
Availability Zone -‐‑‒ C
Availability Zone -‐‑‒ A
Internet
Anyone
Internet
Gateway
Public Subnet
Public Subnet
Private Subnet
Private Subnet
AMI
Amazon RDS
Amazon RDS
実例例
Graphite
コードはGitHubへ
89
90. VPC
Availability Zone -‐‑‒ C
Availability Zone -‐‑‒ A
Internet
Anyone
Internet
Gateway
Public Subnet
Public Subnet
Private Subnet
Private Subnet
AMI
Amazon RDS
Amazon RDS
実例例
Graphite
コードがコミットされる
とCI実⾏行行
90
91. VPC
Availability Zone -‐‑‒ C
Availability Zone -‐‑‒ A
Internet
Anyone
Internet
Gateway
Public Subnet
Public Subnet
Private Subnet
Private Subnet
AMI
Amazon RDS
Amazon RDS
実例例
Graphite
サーバ⼀一覧をAPI経由で
取得しデプロイしつつS3
にアーカイブ配置
91
92. VPC
Availability Zone -‐‑‒ C
Availability Zone -‐‑‒ A
Internet
Anyone
Internet
Gateway
Public Subnet
Public Subnet
Private Subnet
Private Subnet
AMI
Amazon RDS
Amazon RDS
実例例
Graphite
EC2起動時にAMIとChef
Server利利⽤用。⾃自動で最新
コードをS3から取得
監視システムに⾃自動登録
92