Aws startup-tech-summer2015

Preview:

Citation preview

ElasticBeanstalkと1年付き合ったから

現状確認2015/09/01

AWS Startup Tech 夏のLT大会 at dots. Retty, Inc

梅田昌太 @ebisusurf

1

食を通じて 世界中の人々をHappyに

About me

AWS & 炒飯

担当

@ebisusurf 梅田昌太

We are hiring!

お約束!

本当は Classic2VPC移行の 話がしたかったんです

他勉強会で 全くウケなかった

本題

We love EB!ジャックと豆の木なんだって!

ElasticBeanstalk 使ってますか?

ちょっと紹介

• 一般的な Web アプリケーションに必要 な設定を組んで、Public DNS 名を割り振って URL でアクセスできるようにしてくれます

• 実行環境PHP,Ruby,Node,Tomcat,Docker

この機能が重要

• configuration

• deploy

• monitoring

configuration

.ebextensionspackages: rpm: mackerel: http://file.mackerel.io/agent/rpm/mackerel-agent-latest.noarch.rpm container_commands: configure_mackerel: command: bash -c yum install -y mackerel-agent'

deploy

eb deploy➜ ebisu-minmin git:(master) eb deploy INFO: Environment update is starting. INFO: Deploying new version to instance(s). INFO: New application version was deployed to running EC2 instances. INFO: Environment update completed successfully.

monitoring

こんな人におすすめ

• chefとかansibleとかナレッジ共有する時間無い(俺もやりたくない)

• capistranoとかナレッジ共有する時間無い(俺もやりたく無い)

• とりあえずgitで管理したい(当然)

We use

10 Application 27 Enviroment

21

今日の現状確認

EB on PHPと EB on Docker+PHP

について

Docker環境と提供されてるPHP環境を比較

VS AWS PaaS

VS

AWS PaaSDockerfile

完全にDockerの 勝ちじゃね?

そうでもない

Dockerfile

• RUN apt-get install -y awscli git nginx php5-cli php5-fpm php5-mysql php5-redis php5-intl php5-curl php5-imagick php5-apcu

PaaSなのに たかがPHP環境作るの 自分で書くんですよ

自分で

何がしたくてPaaS

• 開発陣にDockerfile読めとか言いたく無い

• そもそも自分でconfigrationなんかしたく無いからPaaS使ってる

• Dockerのポータビリティとか言ってるけどそれ使うのいつよ?

結論

• それでもDockerポータビリティは素晴らしい

• けどDockerfileが肥大化してくると本末転倒

• でも実はPaaS側の.ebextensionsも肥大化してる

結局 ありきたりな回答ですが

適材適所

やりたい事が 複雑になれば結局 設定ファイルも複雑化

しょうがない

PHP-FPM&Nginx

待ってます

時間があれば tips

ebコマンドを 使いこなす

便利なコマンド群

• eb init

• eb list

• eb use

• eb clone

• eb setenv

• eb ssh

eb clone

環境を丸ごとclone して新しい環境 を作成してくれる

ex:AMIアップデート時

• .ebextensionsのbashパスが通らなくなったりすることがある(ログインユーザで実行されない)

• 環境は変えずにamiだけ変えてテストしたい

• ex:deploy task

eb ssh

➜ retty git:(master) eb ssh

Select an instance to ssh into 1) i-************* 2) i-************* 3) i-************* 4) i-*************

超便利!

せっかく SAさんがいるので

文句要望

エラーメッセージが よくわからん

• SecurityGroup削除にとにかくはまる

• CloudFormation limit

• ApplicationVersion limit

/var/log/cfn-init.log

重要!

それでも僕は EBが大好きですけどね

I love EB!可愛いよ!

ありがとうございました