awsのspot instanceでimmutableinfrastructure

23
EC2 Spot Instance で Immutable Infrastructure で deploy でで Silbird, Inc. CEO Infrastructure Engineer Sho Kaneko @sho49cc

Upload: sho-kaneko

Post on 10-Jun-2015

1.698 views

Category:

Technology


1 download

DESCRIPTION

AWSでSpot Instanceに初めて手を出してみた話。

TRANSCRIPT

Page 1: Awsのspot instanceでimmutableinfrastructure

EC2 Spot Instance でImmutable Infrastructure な

deploy 手順

Silbird, Inc.CEO & Infrastructure Engineer

Sho Kaneko @sho49cc

Page 2: Awsのspot instanceでimmutableinfrastructure

0.デプロイでくまった• サービス稼働中のままでアプリケーションを更新するには、

LB から切り離しながら 1 台ずつ動作確認して LB に組み込む必要がある。

• ELB ちゃん、レスポンスがなかなかブリッ子。 Health Check 依存で Unhealthy にしてもなんか挙動がぁゃ ι ぃ…

• どうにか安全にドカンと deploy 出来ないものかね? • Immutable Infrastructure なる方法がイケてるとかなんとか• でもそれってオンデマンドだとコストで憤死するよね…• Spot Instance 使えばコストも抑えられるんじゃね?• やってみよう!おう!

Page 3: Awsのspot instanceでimmutableinfrastructure

1.最新資源の AMI を作る• AMI ( AmazonMachineImage )はサーバまるま

るの現在の状態を冷凍保存するようなもの。 Windows の場合レジストリだけは保存できないが、それ以外のすべてが保存されている。

• 100GB の EBS ( ElasticBlockStore… 不揮発性 HDDのようなデータ領域)を取ると 30 分強くらいはかかると思っておくべき。

• 稼働中のままでも取れるけど遅い。一旦 ELB から切り離して Stop してから CreateImage したほうが(たぶん)速い。

Page 4: Awsのspot instanceでimmutableinfrastructure

1.最新資源の AMI を作る

コレ押したらはじまる

最新資源になっているサーバをターゲットにしないといろいろと無意味なのでターゲットを間違わないこと!

先に InstanceStop しておかないと(たぶん)遅

Page 5: Awsのspot instanceでimmutableinfrastructure

1.最新資源の AMI を作る

コレ押したらはじまるName と description 以外何もいじらずコレで OK

適当に名前つけるサーバ名と日付とか

日本語つかえないので同じでいい

Page 6: Awsのspot instanceでimmutableinfrastructure

1.最新資源の AMI を作る

Image 作成開始してるので

とじる

Page 7: Awsのspot instanceでimmutableinfrastructure

1.最新資源の AMI を作る

EC2 コンソールのAMIs を見る

Page 8: Awsのspot instanceでimmutableinfrastructure

1.最新資源の AMI を作る

すぐ開くとまだPending になってる

← このタイミングで名前つけちゃうのがいいと思う

デフォルトでは名前がついてない

Page 9: Awsのspot instanceでimmutableinfrastructure

1.最新資源の AMI を作る

すぐ開くとまだPending になってる

EC2 コンソールのSnapshots を見る

← 同じくこのタイミングで名前つけよう

ここの Progress が 100%で

Snapshot 完成→AMI も完成と進む

デフォルトでは名前がついてない

Page 10: Awsのspot instanceでimmutableinfrastructure

1.最新資源の AMI を作るデキタ!

そのころにはAMI もデキタ!

これで AMI は完成!あとはこの AMI を使って Instance を立てるだけ!

Page 11: Awsのspot instanceでimmutableinfrastructure

2. Spot Instance を作る• Spot Instance は自分が出してもいいよ、な最大入札額

を指定しておけば、相場がそれ以下の場合に稼働できるサーバ。相場が自分の入札額を上回ったら、稼働中のサーバでも AWS 側から強制撤去される、らしい。

• 元々あいちゃってるサーバを浮かせておくのももったいないから、みたいな仕組みだそうです。

• Pricing History からリージョンと InstanceType ごとの相場履歴グラフが見れる。 2014/2 時点の東京リージョンだと c3 が普及してきたからか、 Spot の c1 はかなりコスパいいように見える。 c3 はオンデマンドと大差ない印象。

Page 12: Awsのspot instanceでimmutableinfrastructure

2. Spot Instance を作る• 見てみよう

デキタ!

相場の動きをみる

Page 13: Awsのspot instanceでimmutableinfrastructure

2. Spot Instance を作るOS 選ぶ InstanceType

選ぶAZ 選ぶ

どうやら ap-northeast-1c のほうが 1a より平均的に安いみたい

マウスあわせると詳細みれる

Page 14: Awsのspot instanceでimmutableinfrastructure

2. Spot Instance を作る押す!

見慣れた EC2 のLaunch Instance 画面

もちろんさっき作った

AMI で Launch します

Page 15: Awsのspot instanceでimmutableinfrastructure

2. Spot Instance を作る

見慣れた EC2 のInstance Type 選択画面

Page 16: Awsのspot instanceでimmutableinfrastructure

2. Spot Instance を作る

この Spot Instance を何個つくるか

Pricing History で見た

その Instance の最新の価格

最大入札額最新価格がこれを上回った

らAWS から強制撤去される

オンデマンド価格の 80% くらいを入れとけば精神的には安心。

本当にスケールアウト専用ですぐ消えてもいい、安いのが最強、なら

シビアな価格に設定しても大丈夫、なのかな。相場と用途を考えて臨機応変に。

Page 17: Awsのspot instanceでimmutableinfrastructure

2. Spot Instance を作る見慣れた EC2 の

シリーズよしなにどうぞ

Page 18: Awsのspot instanceでimmutableinfrastructure

2. Spot Instance を作る見慣れた EC2 の

最終確認画面ここではこれが Spot なのか見分けられる箇所なさそう

Page 19: Awsのspot instanceでimmutableinfrastructure

2. Spot Instance を作る

State が active になったら

EC2 インスタンスとして

稼働中

Instance 側からみても同じ

Page 20: Awsのspot instanceでimmutableinfrastructure

2. Spot Instance を作る

Spot Instance は Stop できない止めるときは即 Terminate しか

ない

Page 21: Awsのspot instanceでimmutableinfrastructure

3.煮るなり焼くなり

AMI から Launch してるからAMI 作る時のベースを整えてさえいれば、このまま稼働確認取れ次第 ELB に入れるなど。

非常に楽ちん。一気にドバっと台数増やせるのにSpot だからローコスト。ただし凍結する時は凡ミスがないように注意。(凡ミスして 1 台ずつ手入れしてたら効果が半減…)

Page 22: Awsのspot instanceでimmutableinfrastructure

4.発見• 便利とはいえ頻繁な deploy には向かない。

ケースバイケースで個別 deploy と組み合わせて使うのは大前提。ソーシャルゲームのイベント開始前に台数増やしつつ deploy する時などはピッタリ。

• c3.2xlarge でやりたかったんだけど、まだまだ人気なのかな。オンデマンド: $1.180/h   Spot: $0.7083/h ( 2/17 時点)

・ c1.xlarge はお得感アリアリ。今後順次移行していくんだろうけど… オンデマンド: $1.140/h  Spot: $0.4260/h ( 2/17 時点)・うまくつかいわけて行けたらコスト圧縮できそう!

Page 23: Awsのspot instanceでimmutableinfrastructure

タワドラは Powered by AWS!!

http://apps.gree.net/60140