DB & AWS Knowledge
RDS, Aurora Cluster 의 Master user 의 의의 및 특징 (MySQL 기준) 본문
RDS, Aurora Cluster 의 Master user 의 의의 및 특징 (MySQL 기준)
`O` 2024. 1. 15. 02:21해당 페이지에서는 RDS, Aurora Cluster 를 사용시, 운영자 계정으로 사용하는 Master user 의 의의 및 특징에 대해서 다룬다.
이 페이지는 아래의 AWS 공식 Document 를 참조한다.
[1] https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.MasterAccounts.html
[2] https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.MasterAccounts.html
또한, 이 글은 이전 게시글과 연관 되어 있다.
[3] 2022.05.10 - [AWS 및 클라우드 지식/AWS RDS, Aurora 및 관련 지식] - RDS, Aurora Cluster 에서의 AWS, DBA 관리 영역
RDS, Aurora Cluster 의 Master user 란?
[3] 의 내용을 확인한다면 RDS, Aurora Cluster 에서는 super user 를 사용 할 수 없다는 것을 확인 할 수 있다.
그러나 DB 에서는 super user 를 사용 할 수 없어도 결국 최상위 운영 user 가 필요하다. 그래서 AWS 에서는 master user 라 하여 super user 와 100% 동일한 권한은 아니어도 대부분의 운영 작업을 수행 할 때 필요한 계정을 부여 해 준다.
master user 가 정확히 어떤 권한을 부여 받는지는 [1]. [2] 를 참고 하면된다.
RDS MySQL, Aurora MySQL Cluster 의 Master user 특징 (MySQL 기준)
또한, 온프레미스 DB 에서 super user 를 사용하다 RDS, Aurora Cluster 의 master user 를 사용하다 보면 생각 해 보게 될 수 있는 의의 및 의문들 또한 생기게 되는데 대표적인 사항들은 아래와 같다.
- RDS, Aurora MySQL 에서 master user 의 접속 가능 host 는 왜 % 로 만들어지는가
크게 두가지의 이유가 있다.
하나는 RDS 및 Aurora Cluster 의 instance 가 구성되는 IP 정보는 failover 혹은 내부 maintenance 등의 이유로 구성되는 host 가 교체되는 경우가 있는데 (DB 환경은 그대로 유지) 이 때, 고정 IP 를 사용시, host 가 교체된 상태에서 접속이 불가할 수 있다.
두번째는 RDS 및 Aurora Cluster 의 instance 들은 endpoint 기반으로 운영되는 것을 지향하기 때문에 고정 IP 설정을 하지 않는다.
- Master user 는 삭제 가능한가
MySQL 기준으로는 가능하다. 이는 아래의 test 를 통해 확인 할 수 있다.
[Test]
$ mysql -h cse-aurora-mysql-8-test-instance-1-reader.csssomh1rwkc.ap-northeast-2.rds.amazonaws.com -u admin -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 269138
Server version: 8.0.32 Source distribution
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> select user, host from mysql.user;
+-----------------------+-----------+
| user | host |
+-----------------------+-----------+
| AWS_COMPREHEND_ACCESS | % |
| AWS_LAMBDA_ACCESS | % |
| AWS_LOAD_S3_ACCESS | % |
| AWS_SAGEMAKER_ACCESS | % |
| AWS_SELECT_S3_ACCESS | % |
| admin | % |
| max | % |
| max2 | % |
| rds_superuser_role | % |
| rdsrepladmin | % |
| repl_user | % |
| test | % |
| test1 | % |
| test2 | % |
| test3 | % |
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| rdsadmin | localhost |
+-----------------------+-----------+
19 rows in set (0.00 sec)
mysql> drop user `admin`@`%`;
Query OK, 0 rows affected, 1 warning (0.00 sec)
- master user 가 없으면 어떤 어려움이 있을까
Master user 가 없어지는 것 자체가 DB 에 영향을 미치지 않지만 master user 의 권한을 동일하게 받은 관리자 계정이 없을 시, Master user 의 권한이 필요한 작업 수행이 불가하게 된다.
그러나 이에 대해서 삭제 후 이슈가 생겨서 master user 복원이 필요시에는 instance 수정 메뉴에서 P/W 재설정만 해주면instance 가 다시 master user 를 생성한다.
'AWS 및 클라우드 지식 > AWS RDS, Aurora 및 관련 지식' 카테고리의 다른 글
RDS, Aurora Cluster 변경 작업 수행 시, 재기동 영향여부 파악 (0) | 2024.01.17 |
---|---|
RDS, Aurora Cluster 의 subnet group (0) | 2024.01.16 |
Aurora MySQL Cluster 에서 수정 할 수 없는 파라미터들 (0) | 2024.01.13 |
RDS MySQL/MariaDB, Aurora MySQL Cluster 의 signal crash (0) | 2024.01.11 |
Aurora MySQL Cluster 의 innodb_flush_log_at_trx_commit 파라미터 (0) | 2024.01.10 |