실습

데이터베이스 복구

  1. CDK를 통해서 실습 환경을 구축하세요.

    cdk deploy restore
  2. Outputs에서 인스턴스 ID, RDS 인스턴스 이름 및 RDS 접속 정보가 저장된 Secret 이름을 확인할 수 있습니다.

  3. EC2 인스턴스를 통해서 생성된 RDS MySQL 인스턴스로 접속해서 mydb 데이터베이스 안에 있는 user 테이블에서 첫번째 유저의 주소를 확인하세요. - Outputs에 나온 RdsConnectionInfo (Secrets Manager에 생성된 Secret 이름)를 참고

  4. 별도로 생성한 리소스가 있을 경우에는 수동으로 삭제 후 CDK를 통해서 실습 환경을 삭제하세요.

    cdk destroy restore

Multi-AZ

  1. CDK를 통해서 실습 환경을 구축하세요.

    cdk deploy multi-az
  2. Outputs에서 인스턴스 ID, RDS 이름 및 RDS 접속 정보가 저장된 Secret 이름을 확인할 수 있습니다.

  3. RDS MySQL 인스턴스에 Multi-AZ를 활성화하세요.

  4. Multi-AZ 활성화에 실패해서 새로운 DB 인스턴스를 생성해야할 경우에는 기존 인스턴스와 동일한 설정으로 재생성되어야 하며 모든 데이터들도 복구되어야 합니다. 또한 RDS 접속주소는 이전과 반드시 동일해야 합니다. 데이터 베이스 접근이 필요할 경우에는 생성된 EC2 인스턴스를 사용하세요. - RDS MySQL 인스턴스에 대한 접속 정보는 Outputs에 나온 RdsConnectionInfo (Secrets Manager에 생성된 Secret 이름)를 참고

  5. Multi-AZ 활성화를 위해서 새로운 리소스를 생성하거나 CDK를 통해서 생성된 리소스 설정을 수정할 수 있지만 어떤 리소스도 삭제되어서는 안됩니다. 또한 다른 RDS MySQL 인스턴스에 대한 수정은 불가합니다.

  6. 애플리케이션과 연동된 외부서비스에서 RDS MySQL 인스턴스에 대한 아웃바운드 방화벽 해제를 위해서 인스턴스의 IP주소를 알아야 한다고 합니다. RDS 엔드포인트를 통해서 Master 인스턴스의 아이피 주소를 확인할수 있습니다. RDS MySQL 인스턴스의 Multi-AZ 설정이 활성화 되었으니 강제로 장애조치를 일으키지 않고 Standby 인스턴스의 IP 주소를 찾으세요.

  7. 수동으로 생성한 리소스들을 삭제하세요.

  8. CDK를 통해서 실습 환경을 삭제하세요.

    cdk destroy multi-az

IAM Authentication

  1. CDK를 통해서 실습 환경을 구축하세요.

    cdk deploy rds-iam
  2. Outputs에서 인스턴스 ID 및 RDS 이름을 확인할 수 있습니다.

  3. 생성된 RDS MySQL 인스턴스에는 아래와 같은 쿼리가 이미 실행되어 있습니다.

    CREATE DATABASE mydb;
    CREATE USER dba IDENTIFIED WITH AWSAuthenticationPlugin AS 'RDS';
    GRANT ALL PRIVILEGES ON mydb.* TO dba;
    USE mydb;
    CREATE TABLE IF NOT EXISTS mytable (id INT AUTO_INCREMENT, message VARCHAR(255) NOT NULL, PRIMARY KEY (id));
  4. EC2 인스턴스를 통해서 RDS MySQL 인스턴스로 IAM 인증방식으로 접속해서 mydb 데이터베이스 안에 있는 mytable 테이블에서 첫번째 레코드 내용을 확인하세요. 권한부여가 필요할 경우에는 최소권한의 원칙을 준수하세요.

  5. 수동으로 생성한 리소스들을 삭제하세요.

  6. CDK를 통해서 실습 환경을 삭제하세요.

    cdk destroy rds-iam

Last updated