すでに Database がインストールしてあり、使用したいデータベースの種類とバージョンのイメージを用いて、データストアにデータを入力してあると仮定します。また、データベースを作成し、アクセスできると仮定します。
この例は MySQL 5.5 データベースを作成し、アクセスする方法を示します。
データベースに使用するフレーバーの選択
データベース作成時、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 |
MySQL の例。 この例は MySQL データベースで使用できるフレーバーを作成します。この例は以下の属性を持ちます。
mysql_minimum6 を使用します。51251$ 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 |
+----------------------------+---------------+
データベースインスタンスの作成
この例は、以下の仕様を持つデータベースのインスタンスを作成します。
mysql_instance_16さらに、このコマンドは、インスタンスにこれらのオプションを指定します。
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} |
+-------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
データベースインスタンスの 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_ID を 5599dad6-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 アドレスを返します。
新しいデータベースへのアクセス
これで、一般的なデータベースアクセスコマンドを使用して、作成した新しいデータベース (myDB) にアクセスできます。この MySQL の例では、IP_ADDRESS を 172.16.200.2 に置き換えます。
$ mysql -u userA -p password -h IP_ADDRESS myDB
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.