RDS Session Hands-on Lab
VPC 보안 그룹 생성하기
RDS 인스턴스 시작하기
RDS 크레덴셜 저장하기
EC2에서 RDS 접근 설정
EC2에서 RDS 접근 하기
RDS Blue/Green 배포 생성
RDS Blue/Green 배포 전환
번외
VPC 보안 그룹 생성하기
미리 구성한 웹 서버에 TCP 80을 허용하는 Immersion Day - Web Server라는 보안 그룹을 생성해두었습니다.
먼저 웹 계층의 트래픽만 허용하는 데이터베이스 계층에 대해 새로운 VPC 보안 그룹 Immersion Day - DB Tier 를 생성합니다.
VPC 콘솔 에서 보안 그룹을 클릭한 다음 보안 그룹 생성 버튼을 클릭합니다.

아래와 같이 보안 그룹 이름과 설명을 입력하고 VPC 설정을 EC2 인스턴스가 생성된 동일한 VPC로 유지합니다.
보안 그룹 이름
Immersion Day DB Tier
설명
Immersion Day DB Tier
VPC
VPC-xxxxxx (default)


RDS 인스턴스 시작하기
데이터베이스용 VPC 보안 그룹이 준비되었으므로 MySQL RDS 인스턴스를 구성하고 시작하겠습니다.
AWS Management 콘솔에 로그인하고 Amazon RDS 콘솔 을 엽니다.
데이터베이스 생성을 클릭합니다.

데이터베이스 생성 방식 선택에서 표준 옵션을 선택합니다. 표준 생성을 사용하여 데이터베이스에 대한 구성을 설정합니다.
엔진 옵션에서 MySQL을 선택합니다.
MySQL을 데이터베이스 엔진으로 5.7.x를 선택합니다.

템플릿의 경우 프로덕션, 개발/테스트, 프리티어 세 가지 옵션을 사용할 수 있습니다. 저희는 실습 목적으로 프리티어를 선택하도록 하겠습니다.

설정 섹션에서 각 필드에 대하여 아래의 정보를 입력합니다.
DB 인스턴스 식별자
awsdb
마스터 사용자 이름
awsuser
마스터 암호
awspassword

인스턴스 구성 섹션에서 DB 인스턴스 클래스에 대하여 버스터블 클래스 db.t3.micro를 선택합니다.

스토리지 섹션에서 스토리지 유형을 범용 SSD(gp2)로 선택합니다. 실습을 위해 스토리지 자동 조정 옵션을 선택하거나 취소할 수 있습니다.

연결 섹션은 아래와 같이 구성합니다.
VPC
Default VPC
DB 서브넷 그룹
default
Publicly accessible
아니요
VPC Security Group(s)
Immersion Day DB Tier
Availability Zone
기본 설정 없음
데이터베이 포트
3306


데이터베이스 암호인증을 선택합니다. 암호인증은 데이터베이스 비밀번호로만 사용자 인증합니다.

추가 구성을 합니다. - 초기 데이터베이스 이름: immersionday - DB 파라미터: default.mysql.5.7 - DB 옵션그룹: default.mysql.5.7 - 백업 보존 기간 7일 - 나머지는 기본값으로 설정합니다.

마지막으로 선택한 구성에 대한 예상 비용이 표시됩니다.

설정을 검토하고 데이터베이스 생성을 클릭합니다.
RDS 대시보드에서 상태가 "생성중" 에서 "백업중", "사용가능"으로 변경될 때까지 새 DB 인스턴스를 모니터링합니다.
RDS 크레덴셜 저장하기
구축한 웹 서버에는 주소록을 위한 샘플 코드가 포함되어 있습니다. 본 실습에서는 샘플 코드에 어떤 데이터 베이스를 사용할 것인지 그리고 어떻게 연결해야될지 명시하는 작업을 수행합니다
콘솔 창에서 AWS Secrets Manager 를 열고,
새 보안 암호 저정버튼을 클릭합니다.

보안 암호 유형은 Amazon RDS 데이터베이스에 대한 자격증명을 선택합니다. 데이터베이스를 생성할 때 입력했던 마스터사용자 이름과 암호를 기입한 후 이전 과정에서 생성한 DB를 선택합니다. 마지막으로 다음을 눌러 다음 설정으로 넘어갑니다.

보안 암호 이름을
mysecret으로 입력합니다. 샘플 코드에는 해당 이름의 secret을 묻도록 입력했기 때문에 해당 이름으로 입력해야 합니다. 이후 다음을 클릭합니다.

교체 구성, 교체 함수는 기본 값으로 설정하고 다음으로 넘어갑니다.

작성한 사항을 확인 후, 저장 버튼을 클릭합니다.

EC2에서 RDS 접근 설정
Secret을 생성했다면 웹 서버에 해당 Secret을 사용할 수 있도록 권한을 부여해야 합니다. 이를 수행하기 위해 웹 서버가 Secret을 읽을 수 있는 Policy를 생성해야합니다. 웹 서버에 부여되어 있는 역할에 정책을 추가해봅니다.
AWS 관리 콘솔에 로그인한 후, IAM 콘솔 창을 엽니다. 왼쪽 사이드 바에서
정책을 선택하고정책 생성을 클릭합니다.

검색란에 Secrets Manager를 입력한 뒤 선택합니다.

액세스 수준 아래의 읽기 옆 토글버튼을 누른 뒤 GetSecretValue를 선택합니다. 이후 리소스는 모두 선택합니다.

정책 이름을 ReadSecrets로 부여하고 정책생성 버튼을 클릭합니다.

왼쪽 메뉴 탭에서 역할을 선택하고 검색창에서 SSMInstanceProfile을 검색합니다. 해당 역할의 경우 EC2 인스턴스에서 Session Manager을 사용하여 접근하기 위해 생성한 역할입니다.

권한 추가 아래 정책 연결을 선택합니다.

ReadSecrets로 생성한 policy를 찾고 정책 연결를 클릭합니다.

권한 정책 아래에 AmazonSSMManagedInstanceCore와 ReadSecrets가 리스트에 있는지 확인합니다.

EC2에서 RDS 접근 하기
EC2 콘솔 창에 접근하고 EC2 Linux 실습에서 배포한 웹 서버를 찾습니다. 그후 퍼블릭 IP DNS 주소를 복사합니다.

웹 브라우저에서 새로운 탭을 열어 이전 과정에서 복사한 퍼블릭 Ipv4 DNS 주소를 검색합니다. 그 후 RDS 탭을 선택합니다.

생성한 데이터베이스에 있는 데이터를 확인할 수 있습니다.

주소록에 있는 Add Contact, Edit 및 Remove 링크를 사용하여 RDS 데이터베이스에서 콘텐츠를 자유롭게 추가/편집/삭제할 수 있습니다.
AWS RDS 메이저 버전 업데이트
5.7.44과 같은 RDS MySQL 버전 번호에서 5.7은 주요 버전을 나타내고 44는 부 버전을 나타냅니다.
Amazon RDS 블루/그린 배포를 사용하면 프로덕션 환경에 영향을 주지 않고 스테이징 환경에서 데이터베이스를 변경할 수 있습니다. 예를 들어, 주요 또는 부차 DB 엔진 버전을 업그레이드하고, 데이터베이스 매개변수를 변경하거나, 스테이징 환경에서 스키마를 변경할 수 있습니다.
Managed Blue/Green 배포를 사용하여 버전 업그레이드를 수행할 수 있습니다 . 업그레이드 중 다운타임을 줄이려면 Blue/Green 배포를 사용하여 업그레이드를 수행할 수 있습니다.
메이저 버전 업데이트 이전 사전 점검이 필요합니다. https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.MySQL.html#USER_UpgradeDBInstance.MySQL.Major
블루/그린 배포 생성
5.7.44과 같은 RDS MySQL 버전 번호에서 5.7은 주요 버전을 나타내고 44는 부 버전을 나타냅니다.
5.7.44* 버전의 경우 올해 2월29일 이후로 표준 지원이 종료된 상황이며, 사용 시 추가 지원 요금을 부과하고 있습니다. 추가 지원 종료일은 27년 2월 말까지로 예정되어있습니다.
AWS Management Console에 로그인하고 Amazon RDS 콘솔을 엽니다.
왼쪽 탐색 창에서 데이터베이스를 선택한 다음 awsdb 라는 인스턴스를 선택합니다.
작업을 클릭하고 Blue/Green 배포 만들기를 선택합니다.

Create Blue/Green Deployment 페이지가 나타납니다. 블루/그린 배포 식별자
awsdb-upg에 이름을 입력합니다 . 블루/그린 배포 설정 에서 현재 엔진 버전인 5.7.44 을 선택합니다. 아래로 스크롤하여 Create staging environment 를 클릭합니다 .

그린 환경이 이용 가능해지려면 약 20~25분이 걸립니다.

🦋 현재 5.7.x 버전을 8.0.x로 메이저 업그레이드를 위한 블루/그린 환경이 생성되었습니다.
(생성된 환경 확인)
블루/그린 배포 전환
블루/그린 배포를 전환하기 전에 RDS 콘솔에서 다음 메트릭 값을 확인하는 것이 좋습니다.


Amazon RDS 콘솔 에서
awsdb-upg, 이전 섹션에서 만든 블루/그린 배포의 이름을 클릭합니다 .

작업 옵션 으로 이동 한 다음 전환을 선택하세요 .

전환 페이지에서 엔진 버전과 전환 제한 시간 설정 옵션을 검토합니다. 30초에서 3,600초(1시간) 사이의 전환 제한 시간을 지정할 수 있습니다. 전환이 지정된 기간보다 오래 걸리게 되면 모든 변경 사항이 롤백되고 두 환경 모두 변경 사항이 적용되지 않습니다. 해당 실습에서는 기본 제한 시간인 300초(5분)을 선택합니다. 준비가 되었다면 전환버튼을 선택합니다. ❗️ 이때 전환 후 롤백이 불가능하기 때문에 모든테스트가 완료된 후 전환해야합니다.


전환 상태 확인

이제 그린 환경이 프로덕션 환경이 되고 Blue와 Green 환경의 기본 환경 간의 binlog 복제 설정이 취소됩니다. RDS는 그린 환경의 인스턴스 이름을 블루 환경의 해당 DB인스턴스와 일치하도록 바꾸고, 블루 환경은 -oldn으로 태그가 지정됩니다. 여기서 n은 숫자입니다.

🚨 이것으로 Major 버전 업그레이드가 완료되었으며, Oldn 태그가 붙은 이전의 블루 환경을 삭제하실 수있습니다.
번외
기존 블루 삭제

블루/그린 배포 삭제

Last updated