すでに 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_minimum
6
を使用します。512
5
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 |
+----------------------------+---------------+
データベースインスタンスの作成
この例は、以下の仕様を持つデータベースのインスタンスを作成します。
mysql_instance_1
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} |
+-------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
データベースインスタンスの 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.