構築者に知っておいてもらいたい
運⽤用設計者が語るAWS
クラスメソッド株式会社
植⽊木  和樹
classmethod.jp 1
H-‐‑‒4
2015/03/29
本⽇日  対象の⽅方
classmethod.jp 2
アプリイやンフラの開発構築担当者
(システム構築後に、別のシステム構築へいく⽅方)
本⽇日のお話すること
① 「運⽤用でカバー」でいいんです!  ※
②   環境は少しずつ変化させる
③   わかりやすさが重要
④   AutoScalingは正義
classmethod.jp 3
⾃自⼰己紹介
classmethod.jp 4
•  名前:植⽊木  和樹(うえき  かずき)
•  年年齢:38歳
•  出⾝身:新潟県妙⾼高市
•  元製造業情報システムG常駐
•  主にUnixサーバエンジニア(監視、保守)
•  資格:IPA  ITサービスマネージャ
      IPA  システムアーキテクト
•  JAWS北北陸陸コアメンバー(JAWS  DAYS  2013〜~)
•  JAWS埼⽟玉コアメンバー(2013年年8⽉月〜~)
•  JAWS上越妙⾼高コアメンバー(2014年年11⽉月〜~)
@czkuk
「本⽇日  お伝えしたいこと」
を話す前にまずは⾔言葉葉の定義
classmethod.jp 5
保守とは運⽤用とは
classmethod.jp 6
保守
classmethod.jp 7
⽇日本⼯工業規格
JIS  X  0161:2008
classmethod.jp 8
保守の種類 定義 例例
改良良保守
(ソフト
ウェア⾃自体
の修正)
適応保守 引渡し後,変化した⼜又は変化している
環境において,ソフトウェア製品を使
⽤用できるように保ち続けるために実施
するソフトウェア製品の修正。
OS新バージョンへの対
応/消費税対応
完全化保守 引渡し後のソフトウェア製品の潜在的
な障害が,故障として現れる前に,検
出し訂正するための修正。
ドキュメントの改善
UIの改善
(問題への
対応)
是正保守 ソフトウェア製品の引渡し後に発⾒見見さ
れた問題を訂正するために⾏行行う受⾝身の
修正。
不不具合の修正
(リアクティブ)
緊急保守 是正保守実施までシステム運⽤用を確保
するための,計画外で⼀一時的な修正。
是正処置実施までの暫
定処置
予防保守 引渡し後のソフトウェア製品の潜在的
な障害が運⽤用障害になる前に発⾒見見し,
是正を⾏行行うための修正。
ミドルウェアアップ
デート、不不要ファイル
削除
つまり
「システムが本来あるべき姿」
になるよう対応すること
メンテナンス
classmethod.jp 9
運⽤用
classmethod.jp 10
バックアップ
監視
リソース収集
定型業務
(ユーザー追加、IP制限変更更)
classmethod.jp 11
「正常に稼働しているシステム」
を⽤用いて実施する業務
オペレーション
classmethod.jp 12
保守運⽤用ってどんなお仕事?
classmethod.jp 13
classmethod.jp 14
ITIL
Information  Technology  Infrastructure  Library
ITサービスマネジメントにおけるベストプラクティス
サービスデリバリ
•  中⻑⾧長期的なITサービスの計画と改善⼿手法
•  5つのプロセス
classmethod.jp 15
5つのプロセス
classmethod.jp 16
サービスレベル管理理
ITサービス財務管理理
可⽤用性管理理
ITサービス継続性管理理
キャパシティ管理理
サービスサポート
•  IT利利⽤用者が適切切に利利⽤用できるよう
サポートする
•  ITサービス運営における⽇日々の運⽤用⼿手法
•  5つのプロセスと1つの機能
classmethod.jp 17
5つのプロセスと1つの機能
classmethod.jp 18
サービスデスク
インシデント管理理
問題管理理
変更更管理理
リリース管理理
構成管理理
運⽤用 保守
保守運⽤用の意味する範囲
classmethod.jp 19
設計 構築 保守運⽤用
アプリ
インフラ
本⽇日のお話すること
① 「運⽤用でカバー」でいいんです!  ※
②   環境は少しずつ変化させる
③   わかりやすさが重要
④   AutoScalingは正義
classmethod.jp 20
運⽤用でカバー
外部からの要求や期待が持っている
「想定」や「仕様」と、運⽤用現場で実際に
起こる「現実」との差分を運⽤用現場の努⼒力力
で回避し続ける
classmethod.jp 21
Software  Design  2015年年2⽉月号  第2特集  P61  より
「想定」や「仕様」を洗い出し
すべて⼿手順化しなければならない?
「バグのないソフトウェアを作れ」
と⾔言っているようなもの
classmethod.jp 22
「運⽤用でカバー」でいいんです
•  不不急の判断はなるべく遅らせる
•  設計当初に想定されていなかった
ケースがあって当たり前
•  ただ「運⽤用でカバー」=「技術的負債」
•  保守運⽤用に押し付けず設計を⾒見見直せる
技術と権限をもったエンジニアが⼤大切切
classmethod.jp 23
もやっと曖昧な依頼にもかかわらず、
運⽤用現場に対して⾼高度度な判断能⼒力力と
機動的な対処能⼒力力を常時求めつつ、その
コストとリスクは運⽤用現場に負担させる
⾏行行為
classmethod.jp 24
Software  Design  2015年年2⽉月号  第2特集  P61  より
SD「運⽤用でカバー」定義
classmethod.jp 25
(補⾜足)再発防⽌止策の検討にあたり
発⽣生原因
流流動原因
classmethod.jp 26
リリース後もPDCA
「構築担当」と「保守運⽤用担当」は
協⼒力力しましょう
本⽇日のお話すること
① 「運⽤用でカバー」でいいんです!  ※
②   環境は少しずつ変化させる
③   わかりやすさが重要
④   AutoScalingは正義
classmethod.jp 27
ここ半年年の⼤大規模メンテ
•  9⽉月  bash  ShellShock
•  9⽉月  秋のEC2再起動祭り
•  10⽉月  SSLv3  POODLE
•  12⽉月  冬のEC2再起動祭り
•  1⽉月  glibc  GHOST
•  3⽉月  RDS  SSL証明書更更新
classmethod.jp 28
AWSの環境変化を受け⼊入れる
•  塩漬けしにくい
•  1年年に数回のアップデート回避不不可
•  セキュリティアップデートは
2世代前までサポートされる傾向
(2014.09,  2014.03,  2013.09)
•  1年年〜~1年年半のうちにAMIを更更新する
classmethod.jp 29
classmethod.jp 30
(3年年後に  pv  サポートなくなっても驚かない)
環境変化を受け⼊入れやすく
•  本番とは別に開発環境
•  動作確認⼿手順(URLだけでも)
•  Multi-‐‑‒AZ
•  (NFSはやめておけ)
classmethod.jp 31
classmethod.jp 32
作ってオシマイじゃないんです
「構築担当」と「保守運⽤用担当」は
協⼒力力しましょう
本⽇日のお話すること
① 「運⽤用でカバー」でいいんです!  ※
②   環境は少しずつ変化させる
③   わかりやすさが重要
④   AutoScalingは正義
classmethod.jp 33
⼈人は忘れる→わかりやすくする
•  AWSのサービスを使う
•  Amazon  Linuxと標準リポジトリを使う
•  野良良ビルドしない
•  再起動したら直るように
•  ドキュメント(図と理理由)
•  あえて変えた場合は「理理由を」明⽂文化
•  ⾃自動化された処理理も記載する
classmethod.jp 34
classmethod.jp 35
構築後  誰かに聞いてもらうのオススメ
classmethod.jp 36
構築担当は話す/保守運⽤用担当は聞く
「構築担当」と「保守運⽤用担当」は
協⼒力力しましょう
本⽇日のお話すること
① 「運⽤用でカバー」でいいんです!  ※
②   環境は少しずつ変化させる
③   わかりやすさが重要
④   AutoScalingは正義
classmethod.jp 37
AutoScalingは正義!!
•  オートスケーリング(負荷に強い)
•  オートヒーリング(障害に強い)
•  ステートレス
•  ソフトウェア管理理ができている証拠
(AMI,  構成管理理DB,  デプロイ⼿手順)
•  監視への組み込み
classmethod.jp 38
classmethod.jp 39
AutoScalingは
よく聞く⾔言葉葉だが
インフラ・アプリ・監視すべてが⾼高度度に
整備されていないと実現が難しい
classmethod.jp 40
インフラ担当だけでは実現が難しい
classmethod.jp 41
安定・安⼼心・安価なシステムのため
「アプリ担当」と「インフラ担当」は
協⼒力力しましょう
本⽇日のお話したこと
① 「運⽤用でカバー」でいいんです!  ※
②   環境は少しずつ変化させる
③   わかりやすさが重要
④   AutoScalingは正義
classmethod.jp 42
classmethod.jp 43
「アプリ担当」と「インフラ担当」
  「構築担当」と「保守運⽤用担当」
協⼒力力しましょう
#cmdevio2015
ご清聴ありがとうございました。
H-‐‑‒4

構築者に知っておいてもらいたい 運用設計者が語るAWS @Developers.IO 2015