データベースの作成とアクセス

データベースの作成とアクセス

すでに Database がインストールしてあり、使用したいデータベースの種類とバージョンのイメージを用いて、データストアにデータを入力してあると仮定します。また、データベースを作成し、アクセスできると仮定します。

この例は MySQL 5.5 データベースを作成し、アクセスする方法を示します。

データベースの作成とアクセス

  1. データベースに使用するフレーバーの選択

    データベース作成時、nova フレーバーを指定する必要があります。フレーバーは、メモリ、ルートボリューム容量などの、インスタンスのさまざまな特性を意味します。データベース用にうまく動作する、新しい nova フレーバーを作成または取得する必要があるでしょう。

    最初の手順は openstack flavor list コマンドを使用して、既存のフレーバーを一覧表示することです。

    $ openstack flavor list
    

    さまざまなデータベースインスタンスの最小要件を確認します。

    データベース メモリー (MB) ディスク (GB) 仮想 CPU
    MySQL 512 5 1
    Cassandra 2048 5 1
    MongoDB 1024 5 1
    Redis 512 5 1
    • 作成したいデータベースの要件に適合するカスタムフレーバーがあれば、Step 2 まで進み、そのフレーバーを使用します。
    • お使いの環境に適切なフレーバーがなければ、管理ユーザーが openstack flavor create コマンドを使用して、カスタムフレーバーを作成する必要があります。

    MySQL の例。 この例は MySQL データベースで使用できるフレーバーを作成します。この例は以下の属性を持ちます。

    • フレーバー名: mysql_minimum
    • フレーバー ID: まだ使用されていない ID を使用する必要があります。この例では、ID 1 から 5 までが使用済みなので、ID 6 を使用します。
    • RAM: 512
    • ルートの GB 単位のボリューム容量: 5
    • 仮想 CPU: 1
    $ openstack flavor create mysql-minimum --id 6 --ram 512 --disk 5 --vcpus 1
    +----------------------------+---------------+
    | Field                      | Value         |
    +----------------------------+---------------+
    | OS-FLV-DISABLED:disabled   | False         |
    | OS-FLV-EXT-DATA:ephemeral  | 0             |
    | disk                       | 5             |
    | id                         | 6             |
    | name                       | mysql-minimum |
    | os-flavor-access:is_public | True          |
    | properties                 |               |
    | ram                        | 512           |
    | rxtx_factor                | 1.0           |
    | swap                       |               |
    | vcpus                      | 1             |
    +----------------------------+---------------+
    
  2. データベースインスタンスの作成

    この例は、以下の仕様を持つデータベースのインスタンスを作成します。

    • インスタンス名: mysql_instance_1
    • Database フレーバー: 6

    さらに、このコマンドは、インスタンスにこれらのオプションを指定します。

    • 5 (5 GB) のボリューム容量。
    • myDB データベース
    • このデータベースは、mysql データストア、mysql-5.5 という datastore_version をベースにしています。
    • userA ユーザー、password パスワード。
    $ trove create mysql_instance_1 6 --size 5 --databases myDB \
        --users userA:password --datastore_version mysql-5.5 \
        --datastore mysql
    +-------------------+---------------------------------------------------------------------------------------t-----------------------------------------------------------------------------------------------------------------+
    |      Property     |                                                                                                  Value                                                                                                  |
    +-------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    |      created      |                                                                                           2014-05-29T21:26:21                                                                                           |
    |     datastore     |                                                                              {u'version': u'mysql-5.5', u'type': u'mysql'}                                                                              |
    | datastore_version |                                                                                                mysql-5.5                                                                                                |
    |       flavor      | {u'id': u'6', u'links': [{u'href': u'https://controller:8779/v1.0/46d0bc4fc32e4b9e8520f8fc62199f58/flavors/6', u'rel': u'self'}, {u'href': u'https://controller:8779/flavors/6', u'rel': u'bookmark'}]} |
    |         id        |                                                                                   5599dad6-731e-44df-bb60-488da3da9cfe                                                                                  |
    |        name       |                                                                                             mysql_instance_1                                                                                            |
    |       status      |                                                                                                  BUILD                                                                                                  |
    |      updated      |                                                                                           2014-05-29T21:26:21                                                                                           |
    |       volume      |                                                                                               {u'size': 5}                                                                                              |
    +-------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    
  3. データベースインスタンスの IP アドレスの取得

    まず、 trove list コマンドを使用して、すべてのインスタンスとその ID を一覧表示します。

    $ trove list
    +--------------------------------------+------------------+-----------+-------------------+--------+-----------+------+
    |                  id                  |       name       | datastore | datastore_version | status | flavor_id | size |
    +--------------------------------------+------------------+-----------+-------------------+--------+-----------+------+
    | 5599dad6-731e-44df-bb60-488da3da9cfe | mysql_instance_1 |   mysql   |     mysql-5.5     | BUILD  |     6     |  5   |
    +--------------------------------------+------------------+-----------+-------------------+--------+-----------+------+
    

    このコマンドは、新しいインスタンスのインスタンス ID を返します。

    これで、 trove show コマンドにインスタンス ID を渡して、インスタンスの IP アドレスを取得できます。この例では、INSTANCE_ID5599dad6-731e-44df-bb60-488da3da9cfe に置き換えます。

    $ trove show INSTANCE_ID
    
    +-------------------+--------------------------------------+
    |      Property     |                Value                 |
    +-------------------+--------------------------------------+
    |      created      |         2014-05-29T21:26:21          |
    |     datastore     |                mysql                 |
    | datastore_version |              mysql-5.5               |
    |       flavor      |                  6                   |
    |         id        | 5599dad6-731e-44df-bb60-488da3da9cfe |
    |         ip        |             172.16.200.2             |
    |        name       |           mysql_instance_1           |
    |       status      |                BUILD                 |
    |      updated      |         2014-05-29T21:26:54          |
    |       volume      |                  5                   |
    +-------------------+--------------------------------------+
    

    このコマンドは、データベースインスタンスの IP アドレスを返します。

  4. 新しいデータベースへのアクセス

    これで、一般的なデータベースアクセスコマンドを使用して、作成した新しいデータベース (myDB) にアクセスできます。この MySQL の例では、IP_ADDRESS172.16.200.2 に置き換えます。

    $ mysql -u userA -p password -h IP_ADDRESS myDB
    
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.