ちょっと話題の記事

RDSの新エンジン”Aurora”にログインしてみた

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

ウィスキー、シガー、パイプをこよなく愛する大栗です。 re:Invent 2014の注目新機能の一つであるRDSの新エンジン"Aurora"のPreviewが通ったので試してみました。

本内容はRDS for AuroraのPreview中の内容となります。正式リリース後の内容とは異なる可能性がありますので、ご注意下さい。

Aurora

re:Invent 2014のKeynoteで発表されたAuroraの特徴を確認しておきましょう。AuroraはMySQL 5.6と互換性があり、高速、かつ可用性と耐久性があり、高いスケーラビリティもある、AWSが3年をかけて開発したRDBMSです。

AWSがsysbenchを使用した結果では通常のMySQLに比べて5倍のパフォーマンスが出たという、恐ろしく速いDBなので皆さんが注目しています。

Auroraを起動する

Auroraのドキュメントを元にAuroraを起動してみます。

AWS Documentation » Amazon Relational Database Service (RDS) » User Guide » Aurora on Amazon RDS

まず、AuroraのPreview用ログイン画面(https://db-preview.aws.amazon.com/rds/home?region=us-east-1)にアクセスします。

RDS_·_AWS_Console

previewが通っていない場合は、こんな悲しい画面が表示されます。

Error_report

Auroraを起動してきます。Preview用の専用画面なのでAuroraのみです。今回はデフォルトVPCを使用するので"Use an existing VPC"を選択します。

RDS_·_AWS_Console_と__1_KDDI_ChatWork_-_Aurora評価_と_aurora-virginia

DBエンジンの選択画面です。AuroraはMySQL 5.6.10と互換性があると書いています。 他のRDSと違ってストレージサイズを選ぶ項目がありませんね。

RDS_·_AWS_Console_と__2_KDDI_ChatWork_-_JORDAN全体情報共有_と_aurora-virginia__と_Microsoft_Remote_Desktop

Advanced SettingはMySQLの画面と全く同じなので違和感無いですね。

RDS_·_AWS_Console_と__1_KDDI_ChatWork_-_AWSチーム

いつも通りにRDSを起動します。

RDS_·_AWS_Console_と__1_KDDI_ChatWork_-_AWSチーム

EngineがAuroraと表示されています。

RDS_·_AWS_Console_と__2_KDDI_ChatWork_-_JORDAN全体情報共有

一覧画面はデザインが少し変わっています。

RDS_·_AWS_Console_と_KDDI_ChatWork_-_AWSチーム_と_Creating_an_Amazon_Aurora_DB_Cluster_-_Amazon_Relational_Database_Service_と_aurora-virginia

RDS_·_AWS_Console_と__1_KDDI_ChatWork_-_AWSチーム

RDS_·_AWS_Console_と__1_KDDI_ChatWork_-_AWSチーム

詳細画面は今まで通りのデザインです。

RDS_·_AWS_Console_と_Creating_an_Aurora_DB_Cluster_and_Connecting_to_a_Database_on_an_Aurora_DB_Instance_-_Amazon_Relational_Database_Service

RDS_·_AWS_Console_と_Creating_an_Aurora_DB_Cluster_and_Connecting_to_a_Database_on_an_Aurora_DB_Instance_-_Amazon_Relational_Database_Service

Auroraにログインする

Auroraを起動したので、ログインしてみます。

GUIでログインする

MySQL互換なのでMySQL標準のMySQL Workbenchを使用してログインしてみました。

※:アクセスするインスタンスから接続できる様にセキュリティグループを設定してから、先を進めましょう。

aurora-virginia

通常のMySQLと全く同じ様に設定します。TCP/IPで接続し、設定した内容を記述します。

aurora-virginia

Test Connectionをしておきます。設定が合っていれば普通に接続できます。

aurora-virginia

では接続してみます。ごく普通のMySQL 5.6.10として認識されます。

aurora-virginia

コマンドラインでログインする

次はコマンドラインでアクセスしてみます。

mysqlコマンドでログインします。 普通にログインできます。

# mysql -uawsuser -p -h aurora-oguri-cluster.cluster-cnq0rg96ivqu.us-east-1-beta.rds.amazonaws.com mydb
Enter password: 
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2009
Server version: 5.6.10 MySQL Community Server (GPL)

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

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>

テーブルを作成してみます。 普通に作成できます。

mysql> CREATE TABLE sample_table
    -> (col1 int,
    ->  col2 varchar(20),
    ->  col3 datetime);
Query OK, 0 rows affected (0.02 sec)

mysql> SHOW TABLES;
+----------------+
| Tables_in_mydb |
+----------------+
| sample_table   |
+----------------+
1 row in set (0.00 sec)

mysql> SHOW CREATE TABLE sample_table;
+--------------+--------------------------------------------------------------------------+
| Table        | Create Table                                                             |
+--------------+--------------------------------------------------------------------------+
| sample_table | CREATE TABLE `sample_table` (
  `col1` int(11) DEFAULT NULL,
  `col2` varchar(20) DEFAULT NULL,
  `col3` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+--------------+--------------------------------------------------------------------------+
1 row in set (0.00 sec)

データをインサートしてみます。 普通にレコードができます

mysql> INSERT INTO sample_table
    -> (col1,
    ->  col2,
    ->  col3
    -> ) VALUES
    -> (1,
    ->  'Aurora Data',
    ->  '2014-01-02 10:20:30'
    -> );
Query OK, 1 row affected (0.00 sec)

mysql> 

mysql> SELECT * FROM sample_table ;
+------+-------------+---------------------+
| col1 | col2        | col3                |
+------+-------------+---------------------+
|    1 | Aurora Data | 2014-01-02 10:20:30 |
+------+-------------+---------------------+
1 row in set (0.00 sec)

ちょっと気になったので"dual"があるか試してみました。 普通にあります。

mysql> select sysdate() from dual;  
+---------------------+
| sysdate()           |
+---------------------+
| 2014-12-11 11:16:37 |
+---------------------+
1 row in set (0.00 sec)

さいごに

今回はAuroraを起動しただけですが、ログイン等はMySQLと全く同じでした。エンドポイントだけ渡されたら区別が付かないと思います。次は、もう少し深くAuroraを探ってみようと思います。