Upgrade to Pro — share decks privately, control downloads, hide ads and more …

実践的運用設計チェックリスト

Avatar for sugitk sugitk
May 10, 2018

 実践的運用設計チェックリスト

2016年にチーム内で勉強会をしたときの資料から起こしたものです。

Avatar for sugitk

sugitk

May 10, 2018
Tweet

More Decks by sugitk

Other Decks in Technology

Transcript

  1. システムの運用は何から始めるか ・サービスの把握 ・構成の把握 (ハードウェア(仮想)、OS、ミドルウェア、サービス、アプリケーション ) ・通信の把握 (ネットワークセグメント、 IPアドレス、プロトコル、データ ) ・リソースの把握

    (CPU、メモリ、ディスク、プロセス、ネットワーク ) ・冗長性の把握 (想定する障害や高負荷、対策 ) ・アクセス制御や権限の把握 (ユーザ、グループ、秘密鍵 /公開鍵証明書、ドメイン名、期限 ) ・ユーザ管理 (追加、削除) ・外部接続 (他サービス、アクセスキー、期限 ) ・ログ (アクセスログ、エラーログ、アプリケーションログ、ローテーション、保持期間 ) ・ベンダー情報 (サポートサイト、連絡窓口、ライセンス ) ・構成管理 (上記全て) ☆初めから設計書などのドキュメントが完全に整備 されていることはあまりありません。 ☆開発メンバーが残っていないこともありますし、彼 らでも知らないこともあります。
  2. 環境 ・商用環境 ・ステージング環境 ・開発環境 ・アクセス制限 (アカウント管理、役割の設定) ・環境差分の把握 ・リリース手順  リリース対象を確定  ステージング環境への配置、テスト

     不具合の修正、再配置、テスト  商用環境への反映 ☆他にも環境を作ることがあります。 ☆サービスを継続して提供するため、を常に念頭に 置くのがとても大切です。 ☆環境ごとにアクセス制限を設けます。開発者は 商用環境には入れない、などのルールを実装しま す。
  3. ログ ・ログの種類  OSのログ  サービスのログ  ミドルウェアのログ ・ログレベル (緊急度、詳細度) ・分析  入力、出力  処理の前後関係

     頻度  エラーコード  キーワードでの絞り込み  統計的解析 ☆ログには想定外のものが多数出て来ます。全部 あらかじめ洗い出しておくのは不可能です。 ☆分析・加工して見やすくするのもとても大切です。 運用設計や開発項目に入れておかないと、どこか でしわ寄せが来ます。
  4. DB ・バックアップ、リストア/リカバリ  どの時点まで戻すのか (RPO: Recovery Point Objective)  戻すのにどれくらい時間を要するのか (RTO: Recovery

    Time Objective) ・パフォーマンスチューニング (索引、インメモリ化、統計情報など) ・リソース監視 ・権限管理 (ユーザ、パスワード、権限付与、権限剥奪) ・アクセス制御 (DB、スキーマ、表) ・初期化パラメータ ・ログ ☆DBにはサービスのためのデータが詰まっていま す。ほとんどのデータはビジネス上とても重要なも のとなります。
  5. ベンダー情報の追跡 ・バージョンアップ情報  新機能  削除された機能  互換性 ・製品のロードマップ  チケットシステム  公開されたバグ情報  ソースコードの履歴管理情報 ・組織としての安定性

     買収、解散、放置 ☆システム開発には他社 (OSSを含む)のOSやミド ルウェア、ハードウェア、サービスを必ず利用しま す。 ☆脆弱性情報だけを追いかけるのではなく、新機 能にも追随していくことで開発や運用にかかる費用 を削減できることもあります。 ☆5年も経つと製品自体がなくなってしまうこともよく あります。リスクとして認識しておきましょう。
  6. システムの更新 ・サービスへの影響を把握 (停止、縮退、想定時間) ・更新対象を把握 (サーバ、ネットワーク、設定、データ) ・作業に影響する監視の抑止 ・更新作業を実施 ・監視の再開 ・構成管理への反映 ☆CI/CDが整備されていてblue-greenデプロイしま

    すということはまだまだ容易ではないと感じていま す。 ☆作業中の監視の抑止はよく作業漏れするようで す。あとでレポートを見たときにノイズになりますの で注意しましょう。
  7. レポート ・サービスからの要求  バッチで作成して提供  要求を受けて随時作成して提供 ・運用レポート  サービスの利用状況  リソースの利用状況  インシデントの発生状況  稼働率  ログ解析

     状況の把握から   運用コストの見直し   設備投資の見直し   開発項目の優先度の変更 ☆定期的にサービスは見直されます。そのときの 判断材料を提供するのがレポートです。 ☆できるだけ定型化して自動生成できるようにする と、毎度の差分も見やすくなります。