今回はalibaba cloudのマネジメントコンソールから実際にPolarDBのインスタンスクラスターを作成し、機能面を検証してみます。
そもそもPolarDBをあまり知っていない方は先に以下の記事をご確認してからこの記事を読んで頂くことをお勧めします。
データベースclusterの作成
必要な情報を選択
-
Product Type(課金方式):
比較項目 Subscription Pay-As-You-Go(従量課金) 支払いタイミング 前払い 後払い 決済サイクル 週/月/年 1時間 柔軟性 低 高 平均単価 低 高 利用シーン 長時間利用 短時間利用 料金滞納リスク なし あり 即リリース(削除) 不可 可能
Storage Planについて:
PolarDB のストレージ容量は、保存されたデータ量に基づいて自動的にスケールインまたはスケールアウトされます。
つまりPolarDBインスタンスを作る時にストレージ容量を手動で指定しておく必要がなくて、実際に使用されているストレージに対してのみ課金されます。
大量のデータを保存する場合(1,000GB を超える場合など)は、PolarDB ストレージプランを購入することでストレージコストを削減できます。
- Creation method:
clusterは複数のノード(一つのprimary node、複数のread-onlyノード)から構成されるものです。
Pimary ClusterやSecondary Clusterや既存のRDSから移行などいくつか作成方法がありますが、今回はゼロからclusterを作るため、「Create Primary Cluster」を選択します。 - Primary Availability Zone:
- どちらのAZをmainのAZにするかという選択肢、ECS(アプリケーション・サーバー)は一台しかない場合は、ECSサーバーと同一AZをprimary AZに指定すべきです。それ以外の場合は、どちらのAZを選択しても違いがないだろう。
- Edition:
- 開発環境やテスト環境で利用できる
Single Node
版もありますが、可用性の観点を考えると、本番環境ではなるべくCluster
を使ったほうが無難でしょう。
- 開発環境やテスト環境で利用できる
- Nodes:
- cluster作成する時には2つのNode(pimary 1台 + read-only 1台)が作られます。2台以上のread-onlyノードを使いたい場合は、cluster出来上がってから手動で再度read-onlyノードを追加できます。
- Number:
- 一回は複数のclusterも作れますが、今回は1のままにします。
それ以外のところは基本的にデフォルトのままにしておきます。
clusterの詳細画面を確認
UIは非常にわかりやすくて、clusterの構成は一目瞭然で分かります。
最初この画面を見た時には結構感動した。
- 2つのnode(一つのprimary node + 一つのread-only node)が作られた。
- デフォルトで2つのエンドポイント(primary endpoint一つ、cluseter endpoint一つ)
両者の違いについては以下をご参考ください。
- storageはzone Aとzone Bの2つのzoneに分散されている。
- 以下の赤い部分をクリックすると、リストで表示するUIに変更することもできます。
- storageは2つのAZに分散されますが、instance(node)は現在は一つのAZ内で構築される。
- 可用性よりは性能を重視にしてcluster内の全nodeは一つのAZで構築するということだそうです。
- 以下のページによると、将来はinstanceも複数のAZに構築できるようになるかもしれない。
-
VPC-facing EndpointとPublic-facing Endpointについて
-
AWSのRDSやAuroraを外部接続可能にするにはsubnet自体をpublicにする必要もありますし、インスタンス自体も再起動?してしまい、数分使えないことを比べると、PolarDBで気軽にPublic-facing Endpoint作れるの非常に嬉しいです。
databaseのuserアカウントを作ってみる
- Account Type:
- Privileaged Account(管理者user): clusterごとにひとつしか作れない。他の一般userのアカウントも作れる管理者user
- Standard Account(一般user):複数作られて、指定した権限しかありません。
ローカルPCからデータベースに接続
今回はローカルPCからインターネット経由でデータベースに接続してみます。
- 先に
Whitelists
に自分のglobal IPを許可しておきます。
- 以下のように接続できました。
$ mysql -h **.japan.rds.aliyuncs.com -u ** -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 536884410
Server version: 8.0.13 Source distribution
Copyright (c) 2000, 2022, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| __recycle_bin__ |
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
clusterの削除
不要になったら、「Release」ボタンをクリックして、clusterを削除しましょう。
backupはどうするかという選択です。今回はテストの目的なので、すべてのbackupを削除します。
まとめ
今回は数クリックで2 nodeの簡単なclusterを作って、接続まで確認できました。
これからはbackup&restoreについて解説してみます。