6
7

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 1 year has passed since last update.

東京リージョンにやってきた MySQL HeatWave on AWS を試す (1) 初期設定編

Last updated at Posted at 2023-07-23

いまさらですが、2023/5 に東京リージョンにやってきた MySQL HeatWave on AWS の試用を始めたので、メモ的に記録を残していきます。

2023/7/23 時点の情報です。
記事中で未実装・制約ありと記している機能が後日実装される可能性もあります。

MySQL HeatWave on AWS とは

MySQL HeatWave は、Oracle Cloud(OCI)が提供する MySQL データベースのマネージドサービスです。

通常の MySQL に インメモリ&カラムナ型の分散データベース をセカンダリエンジンとして追加することで、MySQL が苦手だった分析クエリの高速処理が可能になっています。

また、機械学習プラットフォームとしての機能もあります(HeatWave AutoML)。

MySQL HeatWave on AWS は、 MySQL HeatWave を AWS 上のリソースとして構築する マネージドサービスです。

OCI など外部のリソースとして構築する場合、AWS 上の EC2・Fargate などからアクセスするには VPN などが必要になり、セキュリティ(可用性を含む)やレイテンシの面で問題がありました。

MySQL HeatWave on AWS を使うと、このあたりの問題を解決できます。

(注:資料ダウンロードには登録が必要です)

MySQL HeatWave on AWS を使うには、OCI の契約が必要 です。
AWS Marketplace を通じて提供されるサービスではない点に注意してください。

MySQL HeatWave on AWS を使ってみる

AWS 上 の MySQL HeatWave コンソールにログイン

まず OCI コンソールにログインし、「AWS 上 の MySQL HeatWave」 を選択します。

無料アカウントの場合、MySQL HeatWave on AWS を利用できないので、有料アカウントへのアップグレードが必要です。
なお、有料アカウントにアップグレードしても 30 日間無料利用分の対象に含まれます。

image.png
利用したいリージョン(日本東部(東京) など)を 「サブスクライブ」 し、「AWS 上 の MySQL HeatWave コンソールを開く」 をクリックします。
image.png
Cloud Account Name を入れて 「Continue」 で進みます。

MySQL DB と HeatWave Cluster を作成

image.png
OCI コンソールとは別の画面が開きます。

「Create MySQL DB System」 をクリックします。

画面右側に設定項目が表示されるので入力・選択していきます。
image.png
今回は最低サイズのシェイプを選択しました。
image.png
「Networking」 でアクセス元(クライアント)のパブリック IP アドレス・ポート番号を指定します。

現時点では PrivateLink をサポートしておらず、アクセスが Public IP アドレス経由になる 点に注意してください。
AWS からのアクセスの場合、ネットワーク自体は AWS 内を通りますが、クライアント(EC2 など)から Public IP アドレス宛てに(NAT ゲートウェイなどで)アクセス可能にしておく必要があります。

2023/9/9 追記:
2023/9/9 現在、まだ公式リファレンス(サービスガイド)には記載がありませんが、設定画面に PrivateLINK による接続か Public IP アドレス経由のアクセスかを選択するチェックボックス(Enable public connectivity)が追加されました。
スクリーンショット 2023-09-09 10.31.24.png

「Next」 で進みます。

HeatWave Cluster の設定画面が表示されるので入力・選択していきます。
image.png
こちらも今回は最低サイズにしました。

「Create」 で MySQL DB と HeatWave Cluster を作成します。
image.png
しばらく待ちます。
image.png
「State」「HeatWave State」 が Active になったら作成完了です。

EC2 からアクセス

MySQL DB の 「Details」 画面で 「Hostname」 を調べます。
image.png
EC2 からアクセスしてみます。

$ mysql -u 【ユーザー名】 -h 【hostname の URL】 -p
Enter password: 【パスワードを入力】
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 81
Server version: 8.0.33-u2-cloud MySQL Enterprise - Cloud

Copyright (c) 2000, 2023, 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           |
+--------------------+
| information_schema |
| mysql              |
| mysql_autopilot    |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.01 sec)

接続できました!

MySQL DB・HeatWave Cluster を停止

MySQL DB および HeatWave Cluster は停止しておくこともできます。

一覧画面から DB を選択するか、DB の Details 画面を表示して 「Stop」 をクリックします。
image.png
シャットダウンタイプが選択できます。マネージドの MySQL を使っている方には馴染みが薄いかもしれませんが、innodb_fast_shutdownの指定ですね。
image.png
いずれかを選択して(デフォルトは Fast) 「Stop」 をクリックします。

しばらくすると 「State」「HeatWave State」 が Inactive になります。
image.png

主な制限事項・制約など

MySQL Server との比較でサポート外の機能が公式リファレンスに記載されています。

その他、制限事項・制約などが以下に記載されています。

個人的には、最後の

MySQL HeatWave on AWS does not support inbound replication.

インバウンドレプリケーションがサポートされていない点が大きなネックと感じます。

AWS 上の RDS for MySQL / Aurora MySQL からレプリケーションできないと、RDS / Aurora との併用や RDS / Aurora からの(停止時間短縮を考慮した)移行に支障があります。

RDS / Aurora と併用しない前提で考えると、MySQL DB の HA 構成が(まだ)サポートされていない点もネックになりそうです。

また、シェイプサイズや HeatWave Cluster 構成を途中で変更できない点もスケーラビリティの観点で大きなネックですね。

MySQL HeatWave on AWS does not support changes to the MySQL shape. To use a different shape requires a new DB System with the new shape. Restore the data from a backup of the old DB System to the new DB System.

ストレージサイズを変更する場合も、現状は Backup & Restore(または Export & Import)による移行が必要です。

DB System storage can be increased through a backup and restore operation or through an export and import operation.

次回

(2) ではこちらのチュートリアルに沿って、サンプルデータベースを構築して試してみます。


2023/7/23 追記:

記事を書きました。

6
7
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
6
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?