Mais conteúdo relacionado
Semelhante a Fabric + Amazon EC2で快適サポート生活 #PyFes (20)
Fabric + Amazon EC2で快適サポート生活 #PyFes
- 3. お前誰よ?
• Sho
Shimauchi
(
@shiumachi
)
• Cloudera
の問い合わせ担当
←付録B、C、D書きました
- 16. Fabricコマンドの実行例
$
fab
-‐H
localhost,linuxbox
host_type
ターゲットのホスト名
“localhost”
と
“linuxbox”
関数をコマンド
として実行
- 17. Fabricコマンドの実行例
$
fab
-‐H
localhost,linuxbox
host_type
[localhost]
run:
uname
-‐s
[localhost]
out:
Darwin
[linuxbox]
run:
uname
-‐s
[linuxbox]
out:
Linux
Done.
DisconnecUng
from
localhost...
done.
DisconnecUng
from
linuxbox...
done.
- 18. Fabricコマンドの実行例
$
fab
-‐H
localhost,linuxbox
host_type
[localhost]
run:
uname
-‐s
[localhost]
out:
Darwin
[linuxbox]
run:
uname
-‐s
[linuxbox]
out:
Linux
Done.
DisconnecUng
from
localhost...
done.
DisconnecUng
from
linuxbox...
done.
localhost
linuxbox
- 19. Fabricコマンドの実行例
$
fab
-‐H
localhost,linuxbox
host_type
[localhost]
run:
uname
-‐s
[localhost]
out:
Darwin
[linuxbox]
run:
uname
-‐s
[linuxbox]
out:
Linux
Done.
DisconnecUng
from
localhost...
done.
DisconnecUng
from
linuxbox...
done.
localhost
linuxbox
リモートマシンで
コマンドが実行された
- 29. サポートの観点からの検証環境
種類
長所
短所
ローカルマシンのVM
手軽に使える
(VM起動ソフト以外は)無料
リソースの制約が厳しい
(CPU、メモリ、ディスク全て)
社内共有サーバ
比較的豊富なリソースを確保
できる
全員で共有するので1人当たり
の設備投資は比較的安価
サーバ自体の専有が難し
い
破壊的な検証ができない
長期的に見れば安くても、
イニシャルコストは結構か
かる
クラウド環境
手軽に使える
イニシャルコストがかからない
破壊的な検証も容易
ネットワークがない環境だ
と使用不能
ランニングコストは結構か
かる
- 30. サポート用環境と他の環境の違い
構築期間
運用期間
環境の種類
Webサービスの環
境
数日〜数週間
1年〜数年
(ただし頻繁に更新
する)
そこそこ多い
エンタープライズシ
ステム
数ヶ月〜数年
数年以上
ほとんどない
サポート用環境
- 31. サポート用環境と他の環境の違い
構築期間
運用期間
環境の種類
Webサービスの環
境
数日〜数週間
1年〜数年
(ただし頻繁に更新
する)
そこそこ多い
エンタープライズシ
ステム
数ヶ月〜数年
数年以上
ほとんどない
サポート用環境
数分〜数時間
(設計含む)
数時間〜数日
コンポーネントの組
み合わせ数だけあ
る(事実上無限)
- 32. サポート用環境と他の環境の違い
構築期間
運用期間
環境の種類
Webサービスの環
境
数日〜数週間
1年〜数年
(ただし頻繁に更新
する)
そこそこ多い
エンタープライズシ
ステム
数ヶ月〜数年
数年以上
ほとんどない
サポート用環境
数分〜数時間
(設計含む)
数時間〜数日
コンポーネントの組
み合わせ数だけあ
る(事実上無限)
しかも、「間違った」
環境を構築する必
要もある
- 35. 解決策:
fabric
+
EC2
スポットインスタンス
• 環境の組み合わせ数が多く、しかも毎回異な
る
– chef
/
ansible
などよりも毎回カスタマイズして構
築する方が速い
• 環境は使い捨て
– スポットインスタンスなら安く済ませられる
- 36. Amazon
EC2
スポットインスタンス
• 安い
– m1.large
だと価格は通常の20%以下
– 1時間あたり6.7円
• 永続化できない
– 停止したら削除
m1.large
通常のインスタンス
35円
/
時間
m1.large
スポットインスタンス
6.7円
/
時間
- 41. 現象再現までの流れ
インスタンスの起動
OS周りの構築
ソフトウェアの環境構築
現象再現の試行開始
テストデータの投入
Fabric
で構築スクリプト
を保持
作成後はAMI(EC2上の
ディスクイメージみたい
なやつ)として保存
ここは
Chef
/
ansible
を
使ってもいいかも
- 42. 現象再現までの流れ
インスタンスの起動
OS周りの構築
ソフトウェアの環境構築
現象再現の試行開始
テストデータの投入
どのコンポーネントをインス
トールするか、などをFabric
コマンドから選択
インストール後の設定もここ
で行う
バージョンの違いはここで吸
収する
- 47. よくある質問
Q.
冪等性はどうなるの?
A.
Chef
とか Ansible
を使ってください
Q.
インストールにも
Fabric
は使えるの?
A.
以下の場合は最初から
Chef
/
Ansible
を使いま
しょう。
-‐ 環境の再利用性が高い
-‐ そこそこ複雑な構成
これらのツールは学習コストが高いので考えなしに
突撃するのはおすすめしない
- 49. よくある質問
Q.
sudo
するときにパスワード入れるのめんどくさい
A. /etc/sudoers
に NOPASSWD
追加してください
Q.
同じIPを env.host
に設定するとどうなるの?
A.
ダブりは削除されます
Q.
標準出力のサイズが大きいとどうなるの?
A.
プロセスが止まって結果が返ってこなくなるかも
Q.
SSHのポートが22番と異なるときはどうすればいい?
A.
host:port
で普通に指定できます