0
0

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.

auroraでエンドポイント関連で3つのことを実験

Last updated at Posted at 2022-01-28

###実験①
#####データベースに設定したものとは別VPCでかつデータベースが配置されていないAZのEC2でauroraにアクセス可能か

データベース情報:
VPC:VPC1
データベースのインスタンスがあるAZ:AZ-1a、AZ-1c
パブリックアクセス:あり

EC2情報:
VPC:VPC2
EC2を配置したサブネット:AZ-1dのパブリックサブネット
クライアント:mysql-community-client.x86_64  8.0.27-1.el7

成功
$ mysql -h (データベースのエンドポイント) -P 3306 -u admin -p --enable-local-infile
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 40
Server version: 5.7.12 MySQL Community Server (GPL)

Copyright (c) 2000, 2021, 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にログイン可能か

成功
$ mysql -h (読み取りエンドポイント(roがついているやつ)) -P 3306 -u admin -p --enable-local-infile
$ mysql -h (データベースのエンドポイント) -P 3306 -u admin -p --enable-local-infile
$ mysql -h (インスタンスのエンドポイント) -P 3306 -u admin -p --enable-local-infile

なぜ接続できるかというとエンドポイントがこういう風になっているからです

Untitled-21.png

###実験③
####インスタンスや読み取り専用のエンドポイントでログインした場合書き込み操作はできるか
#####(i).リードレプリカがクラスターにない場合

読み取りエンドポイントでログイン(インスタンスエンドポイントでも同じ挙動)
$ mysql -h (読み取りエンドポイント(roがついているやつ)) -P 3306 -u admin -p --enable-local-infile

mysql> use sampledb
Reading table information for completion of table and colu
You can turn off this feature to get a quicker startup wit

Database changed
mysql> create table user (id int, name varchar(10), addres

Query OK, 0 rows affected (0.03 sec)

mysql>
mysql> insert into user values (1, 'Yamada', 'Tokyo');
Query OK, 1 row affected (0.00 sec)

mysql>
mysql> select * from user;
+------+--------+---------+
| id   | name   | address |
+------+--------+---------+
|    1 | Yamada | Tokyo   |
+------+--------+---------+
1 row in set (0.00 sec)

これは読み取りエンドポイントでログインしたときにリードレプリカがなかったら書き込み可能なDBにログインする仕様なのかもしれません

実際にDBの変数'innodb_read_only'を確認したところOFFになってる


mysql> show variables like 'innodb_read_only';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| innodb_read_only | OFF   |
+------------------+-------+
1 row in set (0.00 sec)

#####(ii).リードレプリカがある場合
読み取り用エンドポイントでもリードレプリカのエンドポイントを指定してログインしても以下の挙動でした

mysql> CREATE DATABASE sampledb_by_readonly;
ERROR 1290 (HY000): The MySQL server is running with the --read-only option so it cannot execute this statement

mysql> show variables like 'innodb_read_only';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| innodb_read_only | ON    |
+------------------+-------+
1 row in set (0.00 sec)

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?