概要
開発環境構築には、もう疲れた (╯°□°)╯︵ ┻━┻
Chef, Itamae, Ansible… どれだけアップデートしても、またトレンド変わるんでしょ (╯°□°)╯︵ ┻━┻
お仕事はアプリケーションエンジニア。そこじゃないんだよ、やりたいことは。そこは価値を生んでない。車輪なのだよ。
そう。アプリケーション開発がしたい。
そんな集中できる環境を目指して、AWSを極限まで使ってみる。
AWSに踊らされてみる。
なお、AWSでは…
- 2017/12 東京リージョンでも、 CodeStarがサービス提供開始
- 2017/11 他のリージョンで、(CodeStarに連携した)Cloud9がサービス提供開始
まさにタイムリー。
リージョン選択
- 使用できるリージョンが限られる
- コストは最小に抑えたい
- but それなりのレスポンスで使いたい
↓ を統合的にみて、
us-west-2(Oregon) 採用
- レイテンシ、若干ミスった気もするけど、今のところ体感そんなにかかってない。cloud9無問題
リージョン | CodeStar | Cloud9 | ほか | EC2平均価格 (対Verginia比) *1 |
東京からの httpレイテンシ (ms) *2 |
東京からの実距離(Mm) | |
---|---|---|---|---|---|---|---|
ap-northeast-1 | Tokyo | 〇 | 1.48 | 43 | |||
ap-southeast-1 | Singapore | 〇 | 〇 | 1.5 | 180 | 5.3 | |
ap-southeast-2 | Sydney | 〇 | 1.44 | 272 | 7.8 | ||
ap-northeast-2 | Seoul | 1.45 | 83 | 1.1 | |||
ムンバイ | x: CodeBuild | ||||||
us-east-1 | Virginia | 〇 | 〇 | 1 | 293 | 10.9 | |
us-west-1 | California | 〇 | 1.21 | 264 | 8.5 | ||
us-west-2 | Oregon | 〇 | 〇 | 1 | 409 (調査により結構ブレる) |
8 | |
カナダ | 〇 | ||||||
sa-east-1 | Sanpaulo | x:CodeBuild | 1.75 | 722 | 18.5 | ||
eu-central-1 | Frankfrt | 〇 | 1.18 | 618 | 9.5 | ||
eu-west-1 | Ireland | 〇 | 〇 | 1.09 | 603 | 9.6 | |
ロンドン | 〇 | ||||||
パリ | x:CodeBuild x: CodeCommit x:CodePipeline |
参考: (他人のふんどし)
*1. AWS EC2 リージョン別 料金比較
*2. EC2リージョン別応答時間
- 2016年: https://qiita.com/toritori0318/items/5bd5ba7c609fda7292f6
- 2014年: http://www.denet.ad.jp/technology/2014/01/vol9-aws.html
導入手順
以下の記事に従う。なかなかスムーズ。
社内開発環境との対比
要は、AWSで一撃で、
開発VM, bitbucket, jenkins, jira, deploy, staging環境, private DNS まで用意してくれる
※ まだ使いこなせてなくて、ドキュメントの誤読は多分にふくまれるかと思いますが…
今回の環境 | 現職での開発環境 | 備考・制限 | |
---|---|---|---|
Cloud9 t2.micro |
開発VM | - 各種IPも設定済み - nginx / apache なども設定済み - デフォルトでは30分でインスタンスを自動終了 - 開発スタイルに応じて、選択可能 |
|
sqlite3 | 開発DB | - default設定の話。設定はほぼ同等に必要そう。 | |
VPC | powerDNS | - 各種IP設定済み(開発環境・本番環境とも) | |
CodeCommit | BitBucket | git, branch, PR…基本同じ - 1Prjあたり、メンバー数いくらでも。(IAM設定) - 1リージョンで333Prjまで。 - 1メンバーで、10Prjまで参加可能。 |
|
Jira Croud | JIRA | - 初期7日間無料 | |
CodeBuild CodeTest |
Jenkins | - マージからの自動ビルド・テスト | |
CodePipeline | Deploy, Capistrano | - デプロイ - マージ→ビルド→テスト→デプロイ まで一気通貫 - 編集/追加可能 -- but 「壊れても保証しません!」 |
|
EC2 Elastic Beanstalk Lambda |
本番環境AP | EBStackなら自動スケールアウトまで。 最初から動く状態で手配されている (T-T) ここでインスタンス料金が課金される |
|
(自分で設定) | - 本番DB - 本番Memcache - 本番FS - ... |
ここら辺は要調査 | |
Elastic Beanstalk | 本番LB / VIP管理 | 自動スケーリング、部分アップデート… 夢が広がります |
|
Route 53 | ドメイン設定 | 9 USD/年 (目安。ドメイン次第) 設定容易 |
|
Certificate Manager | SSH証明書 | 無料 & 統合管理 | |
CloudWatch | Mackerel logentries |
直近のTODO
- 実Railsコード(サンプルアプリ)で本番まで使い倒す
- 環境別の設定(DB/FS/TD/...)
- インスタンス毎のイメージ設定など
- 費用測定 -> 343円 (本番環境 自動デプロイで一か月放置 )