5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

IBM Cloud Databases for PostgreSQL ことはじめ

Posted at

IBM Cloud Databases for PostgreSQL とは

IBM Cloud Database (ICD) はIBM Cloudで提供しているフルマネージドのデータベースサービス群です。2019/04/07現在、PostgreSQL、Redis、ElasticSearch、etcd、MongoDB、RabbitMQの6種類が使えます。

デフォルトでIBM CloudのMZR(マルチゾーンリージョン)にクラスターとして分散配置されるため、非常に可用性が高いのが特長です。また、バックアップはクロスリージョナルのICOS(IBM Cloud Object Storage)に自動で取得されます。

本記事では「Databases for PostgreSQL」サービスについて書きますが、他のデータベースの場合も始め方は同じです。

まずはサービスインスタンスを作成

IBM Cloudから「カタログ」→「Databases for PostgreSQL」を選択します。
image.png
サービス詳細画面で必要な項目を選択します。

  • サービス名
  • デプロイする地域
    • 東京リージョンも選択可能です。
  • 初期リソース(メモリ/ディスク)
    • 最小構成はメモリ1GB、ディスク5GBです。
    • ただし2メンバー構成(PostgreSQLの場合)のため実際にはメモリ2GB、ディスク10GBでプロビジョンされます
  • ディスクの暗号鍵
    • Key Protect サービスで鍵を管理している場合はここでディスクを暗号化する鍵を指定できます
  • バージョン
    image.png

「作成」ボタンをクリックするとDBのデプロイが始まります。数分待てばすぐに利用可能になります。
image.png

DBに接続してみる

admin用パスワードの設定

ICDではデフォルトで"admin"ユーザーが作成されますが、パスワードが設定されていません。パスワードの設定は、ポータルやCLIから実施できます。

ポータルから行う場合は、「Settings」タブの中に「Change Password」という項目があるのでこちらで登録してください。任意の文字列を入力でもOKですし、思いつかない人は右側のアイコンを押せばランダムに生成してくれます。

image.png

パスワードを設定しようとすると忠告がでます。新規作成の場合は特に気にする必要はありませんが、すでにアプリと接続して動かしている場合は注意が必要ですね。
image.png

CLI経由で設定する場合はibmcloudコマンドと、cdbプラグインの導入が必要です。

# パスワードの設定
$ ibmcloud login  #IBM Cloudにログイン
$ ibmcloud plugin install cloud-databases -r 'IBM Cloud'  #プラグインのインストール
$ ibmcloud cdb user-password 'Databases for PostgreSQL-XX' admin <newpassword>  #サービス名とパスワードを指定

サービスインスタンス名はポータルで確認するか、ibmcloud resource service-instancesから確認することができます。

DBとの接続

psqlでの接続

CLIで以下のコマンドを叩けば接続できます。

$ ibmcloud cdb deployment-connections 'DatabasesforPostgreSQL-XX' --start
Database Password>>
psql (11.2, server 10.7)
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
Type "help" for help.

ibmclouddb=> \l
                                  List of databases
    Name    |        Owner        | Encoding | Collate |  Ctype  | Access privileges
------------+---------------------+----------+---------+---------+-------------------
 ibmclouddb | ibm-cloud-base-user | UTF8     | C.UTF-8 | C.UTF-8 |
 postgres   | ibm                 | UTF8     | C.UTF-8 | C.UTF-8 |
 template0  | ibm                 | UTF8     | C.UTF-8 | C.UTF-8 | =c/ibm           +
            |                     |          |         |         | ibm=CTc/ibm
 template1  | ibm                 | UTF8     | C.UTF-8 | C.UTF-8 | =c/ibm           +
            |                     |          |         |         | ibm=CTc/ibm
(4 rows)

$ ibmcloud cdb cxn example-postgres -sコマンドでも同じように接続できます。

アプリからの接続

アプリからDBに接続する場合は各言語のドライバーを使います。
その際、接続に必要な情報はこれまたポータルまたはCLIで取得してください。

ポータルの「Overview」タブをみると、以下のような接続情報が表示されます。
image.png

CLIから取得する場合は以下のようになります。

$ ibmcloud cdb deployment-connections 'Databases for PostgreSQL-XX' -u admin
Type         Connection String
PostgreSQL   postgres://admin:$PASSWORD@xxxxxxxxxxx5c3-a4xxxxxxxxxxxxxxxa57fa5c84685d5b4.databases.appdomain.cloud:31472/ibmclouddb?sslmode=verify-full
CLI          PGPASSWORD=$PASSWORD PGSSLROOTCERT=b226x37a-ae06e730b71xxxxxxxxxx5 psql 'host=b1dxxxxxxxxxxxxxxx85d5b4.databases.appdomain.cloud port=31472 dbname=ibmclouddb user=admin sslmode=verify-full'

次のコマンドでも取得できます。$ ibmcloud cdb cxn example-postgres -u admin

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?