DevStackをAWSで構築してみる

DevStackは、簡単に設定できると聞いて設定してみる。All-in-OneVMで、heatやneutronのコマンドを調べてみた。
AWSの画面も3年ぶりぐらいで見たが、ずいぶん整理されており、親切になっている。また、スポットインスタンスで作業するなら、1時間1.5円程度、月だと1000円程度か?構築時間も20分程度で完了するので、ちょっとコマンドの挙動を調べたいというレベルなら十分である。とはいえ、AWSの無料で使えるt2.microでもDevStackは、一部機能は動く(後述)。

disable_service tempest
disable_service horizon
disable_service n-api
disable_service n-cpu
disable_service n-net
disable_service n-cond
disable_service n-sch
disable_service n-novnc
disable_service n-crt
disable_service n-cauth
disable_service g-api
disable_service g-reg

      • AWSの無料のインスタンスである、t2.microでは、そのままではメモリ不足となり、(Liberty前の版では)nova-apiが起動しない。clean.sh等でスクラッチからやってみると、fork時のメモリ不足と出る。このため、m3.medium(3.75GB RAM)で稼動させた。参考までにm3.large(7.5GB RAM)にもしてみたが、体感スピードは変わらず(実際のところは30分から20分へ早くなっていた)。なお、このレベルなら、1時間2円程度で済む。
      • DevStack起動時の各モジュールの物理メモリ使用量を見てみた。DBのメモリ使用量は、MySQLのほうが小さい。また、DBよりも各モジュールのほうがメモリ使用量が大きい。
        • DB
        • nova 1600MB
        • cinder 500MB
        • glance 500MB
        • keystone 700MB
        • neutron 400MB
    • 権限の問題で、失敗する場合がある。その場合"--os-username admin"と引数を追加すると実行できたりする。
    • AWS内にubuntuミラーサイトがあるようである。このため、構築も早くできる。3MBから10MB以上の速度が出ている。
    • AWSで新しいスポットインスタンス画面での入札が出来るが、取り消しもその画面で取り消さないと取り消しにならない。旧画面で取り消しても、キャンセルは有効にならない。(知らずに過剰課金になる)
    • DB認証問題の対処(アカウント名の変更)
  • 仕組み