brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Aug 24. 2021

(30분공부) IAM 계정으로 RDS 만들기

Amin 권한이면 상관없다.

그러나 실무에서  개발자들은 IAM 계정으로 사용하게 된다.


IAM 계정에 AmazonRDSFullAccess 권한을 주어도 RDS를 제대로 만들지 못한다.

어떤 권한을 추가로 줘야 하는지 알아보자


확장 모니터링을 하려면 role이 필요하다.

pass role은 rds가  롤을 대신 사용하므로 pass role  필요.

방법은 2가지 이다.



<1> 네트워크 구성

<2> 확장 모니터링 사용 방법1 -  Readonly와 iam passrole 주는 방법

<3> 확장 모니터링 사용 방법2 -  iam role 생성 권한 3가지와 iam passrole를  주면 된다.

<4>  RDS 삭제 하기



<1> 네트워크 구성


1

서울 리전  

기본 VPC삭제 (기본 VPC는 다시 만들 수 있다.)

Pub - Pri - Db subnet으로 구성된   Cloudformation 실행  (DB Subnet에 DB를 설치하기 위함이다)



db subnet a  -  서브넷 ID 확인... 56

db subnet c  -  서브넷 ID 확인... 0c


2

IAM 계정 생성 > 

db

go102!





<2> 확장 모니터링 사용 방법1 -  Readonly와 iam passrole 주는 방법


RDS Full + Readonly + seo-rds-monitoring-role + Passrole 이면 된다.


추가- DB 보안그룹 시큐리티 그룹은 SE가 별도로 만들어준다.  TCP 3306 허용



1

RDS Full 준다.  (서브넷 그룹을 만들 수 있다.)


2

Readonly  권한 준다. ( 만들어진 role을 선택할 수 있게 해 준다)


3

role이 필요하다.

IAM  >  rRDS  > RDS- Enhanced Monitoring  >  seo-rds-monitoring-role으로 만든다  (Readonly  권한이 있으므로 볼 수 있다.)

정책 AmazonRDSEnhancedMonitoringRole 가 디폴트로 추가된다. (CloudWatch Logs 정책이다)

// RDS 생성 시  seo-rds-monitoring-role을 선택 하자.


4

Passrole은 필요하다.  iam > 정책 > 

RDS가 모니터링하므로 Passrole이 필요.


5

서브넷 그룹도 만들 수 있다. (RDS FULL권한으로 제공)


6

참고

정책 AmazonRDSEnhancedMonitoringRole을 추가한다. (CloudWatch Logs 정책이다)

https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.Enabling.html


다음 정책은 사용자가 Enhanced Monitoring을 활성화하도록 허용합니다.

https://aws.amazon.com/ko/premiumsupport/knowledge-center/rds-iam-least-privileges/




<3> 확장 모니터링 사용 방법2 -  iam role 생성 권한 3가지와 iam passrole를  주면 된다.


1

RDSFull 준다


2

RDS생성 시 

암호 자동 생성 체크

버스터블 클래스(t 클래스 포함)로  변경 - 비용 적게 나오는 거로 선택


DB 인스턴스 database-1 생성 요청이 실패했습니다.

User:  arn:aws:iam::451032684083:user/dbe is not authorized to perform:  iam:CreateRole on resource:  arn:aws:iam::451032684083:role/rds-monitoring-role


Enhanced 모니터링 활성화 가 되어 있어 나오는 것이다.

디폴트가 Enhanced 모니터링 활성화이다.

해당 체크를 해지하면 생성된다.

그러나 Enhanced 모니터링을 사용하고 생성하려면  역할이 필요하다.


3

역할을 만드는 방법은  필요한 정책  4가지 주는 방법


IAM 역할을 로드하는 중 오류 발생

User:  arn:aws:iam::451032684083:user/dbe is not authorized to perform:  iam:ListRoles on resource: arn:aws:iam::451032684083:role/


4

DB 인스턴스 database-2 생성 요청이 실패했습니다.

User:  arn:aws:iam::451032684083:user/dbe is not authorized to perform:  iam:CreateRole on resource:  arn:aws:iam::451032684083:role/rds-monitoring-role


5

User: arn:aws:iam::451032684083:user/dbe is not authorized to perform: iam:AttachRolePolicy on resource: role rds-monitoring-role


6

User: arn:aws:iam::451032684083:user/dbe is not authorized to perform: iam:PassRole on resource: arn:aws:iam::451032684083:role/rds-monitoring-role



7

확장 모니터링을 할 수 있는 role을 생성할 수 있는 정책을 주면  된다. 

iam  정책


{

    "Version": "2012-10-17",

    "Statement": [

        {

            "Sid": "VisualEditor0",

            "Effect": "Allow",

            "Action": [

                "iam:PassRole",

                "iam:ListRoles",

                "iam:CreateRole",

                "iam:AttachRolePolicy"

            ],

            "Resource": "*"

        }

    ]

}



8

참고 

위 정책으로  다른 용도의 role 등을 만들 수는 없다.

iam:ListPolicies 권한이 없으므로..




<4>  RDS 삭제 하기


1

클러스터 > 수정 > 맨 아래  > 삭제 방지 체크 해제 >  즉시 적용      > 클러스터 수정 

클러스터의 경우 삭제 방지가 되어 있으면 삭제가 안되죠.

그리고, 클러스터는  삭제하려면 사용 중이어야 한다. 


2

Write (라이트) > 삭제  > 삭제 시 스냅샷 만듬 체크 해지 > 삭제해도 됨을 체크 >  삭제 

클러스터도 같이 삭제된다.


3

스냅샷> 삭제

혹, 스냅셧을 만들었다면~




https://brunch.co.kr/@topasvga/1544



(필독) 클라우드 전문가 되기 자료-2023

https://brunch.co.kr/@topasvga/3452


감사합니다.

매거진의 이전글 IAM 계정으로 Cognito자격증명 Pool 사용하기
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari