Upload
tsuchimon
View
1.464
Download
1
Embed Size (px)
Citation preview
鈴木商店の開発環境
株式会社鈴木商店 土持昌志 Copyright © 2015 株式会社鈴木商店, All rights reserved.1
鈴木商店の土持です。私からは鈴木商店が普段使っている開発環境をご紹介させていただきます。
AWSVirtual Private Cloud
VPC Subnet : プライベートVPC Subnet : パブリック
Internet Gateway
Virtual Private Gateway
鈴木商店(大阪)
Gitサーバ
Customer Gateway
個人用開発サーバ
Vyatta
美雲屋(徳島)
Customer Gateway
Internet
Git
ファイルサーバ
鈴木商店の開発環境
監視サーバ
自宅/外出先Webサーバ
Webサーバ RDS
プロジェクト(リリース)
File
VPN
Webサーバ
プロジェクト(開発)
Web
RDS
静的コンテンツ自社サイト
2 Copyright © 2015 株式会社鈴木商店, All rights reserved.
こちらが鈴木商店の開発環境の全体像になります。鈴木商店で使っているサーバーは全てAWS上に構築しています。
AWSVirtual Private Cloud
VPC Subnet : プライベートVPC Subnet : パブリック
Internet Gateway
Virtual Private Gateway
鈴木商店(大阪)
Gitサーバ
Customer Gateway
個人用開発サーバ
Vyatta
美雲屋(徳島)
Customer Gateway
Internet
Git
ファイルサーバ
鈴木商店の開発環境
自宅/外出先Webサーバ
Webサーバ RDS
プロジェクト(リリース)
File
VPN
Webサーバ
プロジェクト(開発)
Web
RDS
静的コンテンツ自社サイト
監視サーバ
3 Copyright © 2015 株式会社鈴木商店, All rights reserved.
VPCの中では公開用のパブリックサブネットと内部用のプライベートサブネットを作成しています。VPCというのはAWSの中に独自のネットワーク基盤を構築するサービスで、この中であれば色々ネットワーク構成を考えたりできるのでAWSの中では好きなサービスです。T2インスタンスといった新しくリリースされる機能はVPCが前提になってることが増えてきているようなので押さえておきたい所です。
AWSVirtual Private Cloud
VPC Subnet : VPC Subnet : パブリック
Internet Gateway
Virtual Private Gateway
鈴木商店(大阪)
Gitサーバ
Customer Gateway
個人用開発サーバ
Vyatta
美雲屋(徳島)
Customer Gateway
Internet
Git
ファイルサーバ
鈴木商店の開発環境
自宅/外出先Webサーバ
Webサーバ RDS
プロジェクト(リリース)
File
VPN
Web
プロジェクト(開発)
Web
RDS
静的コンテンツ自社サイト
監視サーバ
4 Copyright © 2015 株式会社鈴木商店, All rights reserved.
パブリックのサブネットには自社サイトやリリースしたプロジェクトの公開サーバーを置いています。自社サイトの静的コンテンツはS3に置いています。S3はVPCに対応していないサービスなのでこの図ではVPCの外になってます。
AWSVirtual Private Cloud
VPC Subnet : プライベートVPC Subnet :
Internet Gateway
Virtual Private Gateway
鈴木商店(大阪)
Gitサーバ
Customer Gateway
個人用開発サーバ
Vyatta
美雲屋(徳島)
Customer Gateway
Internet
Git
ファイルサーバ
鈴木商店の開発環境
自宅/外出先Web
Web RDS
プロジェクト(リリース)
File
VPN
Webサーバ
プロジェクト(開発)
Web
RDS
静的コンテンツ自社サイト
監視サーバ
5 Copyright © 2015 株式会社鈴木商店, All rights reserved.
プライベート側には開発中のプロジェクトのインスタンスや、社内のファイルサーバー、個人用の自由に使えるインスタンスを配置しています。インスタンスはプロジェクトごと、人ごとに立てるようにしています。
鈴木商店の開発環境
既存開発環境
AMI
イメージ取得 インスタンス起動
新しいメンバーに開発環境を配布
6 Copyright © 2015 株式会社鈴木商店, All rights reserved.
AWSを使って開発環境を作るメリットはまさに勉強会の中でやったんですが、プロジェクトのメンバーが増えた時に今ある環境をコピーできるところだと思います。仮想環境でも同じようなことはできますがその下にあるハードウェアのキャパを考えなくていいのが楽です。ただしこういう使い方だとどうしてもサーバーの数が多くなって、そのままだとかなり料金がかさむので夜間は自動的にインスタンスがストップするようにしています。
鈴木商店の開発環境
監視サーバ AWS SDK for PHP
EC2インスタンス
タグ取得/ State取得
7 Copyright © 2015 株式会社鈴木商店, All rights reserved.
仕組みとしてはAWSが配布しているSDKを使うとインスタンスの情報を取ってきたり操作ができるようになるのでこれを使います。準備として夜間止めてもいいインスタンスはタグにスタート用・ストップ用のタグと時間を入れておきます。AWS SDK for PHPを使って組んだ処理を状態監視用インスタンスでバッチ実行するとタグの情報と現在のインスタンスステートを取得して、
鈴木商店の開発環境
監視サーバ AWS SDK for PHP
EC2インスタンス
起動/停止
8 Copyright © 2015 株式会社鈴木商店, All rights reserved.
時間を過ぎて指定したステートになっていなければ起こす、寝かせるということをやっています。この仕組みを入れてからEC2の料金は全部が立ち上げっぱなしの状態に比べて3分の1位にはなってると思います。
AWSVirtual Private Cloud
VPC Subnet : プライベートVPC Subnet : パブリック
Internet Gateway
Virtual Private Gateway
鈴木商店(大阪)
Gitサーバ
Customer Gateway
個人用開発サーバ
Vyatta
美雲屋(徳島)
Customer Gateway
Internet
Git
ファイルサーバ
鈴木商店の開発環境
自宅/外出先Web
Webサーバ RDS
プロジェクト(リリース)
File
VPN
Webサーバ
プロジェクト(開発)
Web
RDS
静的コンテンツ自社サイト
監視サーバ
9 Copyright © 2015 株式会社鈴木商店, All rights reserved.
VPCには大阪にあるオフィスと、徳島にあるサテライトオフィス美雲屋から拠点間VPNで常時接続できるように構築しています。開発するときはVPC上の自分のインスタンスにログインしてコーディングしていく形になります。エディタは個人で好きなものを使えますがVimを使ってる人が多いみたいです。
AWSVirtual Private Cloud
VPC Subnet : プライベートVPC Subnet : パブリック
Internet Gateway
Virtual Private Gateway
鈴木商店(大阪)
Gitサーバ
Customer Gateway
個人用開発サーバ
Vyatta
美雲屋(徳島)
Customer Gateway
Internet
Git
ファイルサーバ
鈴木商店の開発環境
自宅/外出先Web
Webサーバ RDS
プロジェクト(リリース)
File
VPN
Webサーバ
プロジェクト(開発)
Web
RDS
静的コンテンツ自社サイト
監視サーバ
10 Copyright © 2015 株式会社鈴木商店, All rights reserved.
バージョン管理システムは現在Gitサーバーを立ててデプロイもここからやっています。今年はCodeCommitというAWSが面倒を見てくれるGitサービスがリリースされる予定だそうですので、リリースされたら試してみたいなと思っています。
AWSVirtual Private Cloud
VPC Subnet : プライベートVPC Subnet : パブリック
Internet Gateway
Virtual Private Gateway
鈴木商店(大阪)
Gitサーバ
Customer Gateway
個人用開発サーバ
Vyatta
美雲屋(徳島)
Customer Gateway
Internet
Git
ファイルサーバ
鈴木商店の開発環境
自宅/外出先Webサーバ
Webサーバ RDS
プロジェクト(リリース)
File
VPN
Webサーバ
プロジェクト(開発)
Web
RDS
静的コンテンツ自社サイト
監視サーバ
11 Copyright © 2015 株式会社鈴木商店, All rights reserved.
Vyattaというソフトウェアルータ用のOSを乗せたインスタンスも立てています。このVyattaでVPNサーバーを立てているので、ここにVPN接続してしてどこからでもプライベート領域に入って開発できるようにしています。最後に開発環境ということでオフィスの様子も少しだけ紹介します。
鈴木商店の開発環境
12 Copyright © 2015 株式会社鈴木商店, All rights reserved.
こちらは大阪オフィスの写真です。MacでもWindowsでも好きな端末と、27インチと24インチのモニタが2枚支給されるので結構快適に作業できます。
鈴木商店の開発環境
13 Copyright © 2015 株式会社鈴木商店, All rights reserved.
こちらは徳島にある美雲屋の様子です。自分は残念ながらまだ行ったことないんですが夏は近所の浜にウミガメが産卵に来るぐらい綺麗な所らしいので今年は是非行ってみたいなと思っています。
ありがとうございました
Copyright © 2015 株式会社鈴木商店, All rights reserved.14
紹介は以上です。ご静聴ありがとうございました。