OpenStackの各種制限設定

OpenStackの構築についてひと通り書いたので、運用面についても色々と綴っていきたいと思います。

手始めに各種制限事項の確認と設定例です。



セキュリティ

セキュリティといっても小難しいものではなく、外部からインスタンスへのINPUT接続(NetworkNodeでのFORWARD)を通す条件の設定です。設定は単に iptables で実現されているので、NetworkNodeで iptables -L -v -n を打てば確認できます。

OUTPUTや、インスタンス同士の接続は制限なく全てスルーになっています。

設定例としてこんな感じ。
最初はPing, SSH, HTTP だけでも通しておけばOK。
プロジェクトごとに設定し、必要があれば default 以外も作っておきます。


Flavor (インスタンスタイプ)

デフォでEC2と同じ名前で登録されてますが、お好みで運用したいので全部消してから登録します。私が考慮した項目はこれらです。

  • 仮想CPU : いわゆるvCPUの数。ここでは名前の c の後ろにつけている数値と一致させています
  • メモリー : メモリ容量をMBで指定。ここでは名前の m の後ろにGB換算でつけています
  • ルートディスク : ルートとなるVMイメージのGB容量で、ルートパーティションを延長することで増やせますが、わざわざそういう運用をするわけもなく… 用途の捉え方を間違ってるのかもしれません。0 GB固定です
  • 一時ディスク : ルートイメージと同じローカルディスクになるので速いですが、増設分はCinderのみというルールで運用するため 0 固定です
  • スワップディスク : 元々のスワップの意味合い以外に、これがあると /dev/vdb になり、追加ディスクが vdc からに確定するという意図もあります。256MB 固定です

  • デフォルトFlavorを削除

    nova flaver-delete や Horizon でサクッと消します。

    Flavor作成

    変化点はvCPUとメモリで、それに合わせてIDと名前を決めています。


    Quota

    様々な上限値の設定です。
    プロジェクトごとの設定なので、テナントIDを取得しておきます。
    (※テナント名では設定できません)

    Nova

    ComputeNodeのサーバスペックなどを考慮して設計します。

    Cinder

    FolsomではNovaにあった項目が、Grizzlyから切りだされました。

    Quantum

    RouterへのVM接続制限を回避するため必ず変更します。
    (デフォだとDHCP+49VMまでになるため)

    また、quota_driver はデフォの ConfDriver だと設定ファイルしか見てくれないため、DbQuotaDriver に変更して quota-update を使えるようにしておきます。


    アクセスポリシー

    OpenStackのpolicy.jsonを個別ユーザ仕様にする | 外道父の匠 に別途記載済みなので、そちらを参照してください。



    ウチでは開発環境として使ってるので、サーバが悲鳴をあげない程度に上限値を上げたり開放しているだけですが、本番環境とか製品としてだとかなり綿密に設計したり、機能不足を補ったりと大変なことになりそうです。

    あとは上限値にひっかかったら検知してアラート飛ばすとかできたらもっと良いのですが、今のところ不要なので日々の状況レポートとかに留めています。レポートについてはまた別途書きたいと思います。