"AWS Support-TroubleshootConnectivityToRDS" Systems Manager 자동화 런북을 사용하여 소스 Amazon RDS 데이터베이스와 타켓 Amazon EC2 간의 TroubleshootConnectivityToRDS를 구성하고 연결 문제를 진단하는 방법

4분 분량
콘텐츠 수준: 중급
7

Amazon 관계형 데이터베이스 서비스 (Amazon RDS)와 대상 Amazon Elastic Compute Cloud (Amazon EC2) 클라이언트 간의 연결을 테스트하고, AWS 계정, 교차-계정 또는 교차-리전에 있는 소스 및 타켓을 사용하여 이 작업을 수행하는 방법을 안내합니다.

개요

AWS Support-TroubleshootConnectivityToRDS는 Systems Manager 자동화 워크플로우를 사용하여 클라이언트 EC2 시스템과 Amazon RDS 간의 연결 문제를 진단합니다. 런북은 EC2 인스턴스의 기본 IP 주소를 기반으로 네트워크 액세스 제어 목록 (네트워크 ACL) 을 진단합니다. 워크플로우는 인스턴스 상태 및 속성, 서브넷 CIDR, 네트워크 ACL, 보안 그룹 및 라우팅 테이블을 확인합니다. Amazon RDS와 EC2 인스턴스 모두 이러한 검사를 완료한 다음, 구성을 비교합니다. 또한 이 런북을 소스 Amazon Aurora 및 Amazon DocumentDB (MongoDB 호환 가능) 데이터베이스에도 사용할 수 있습니다

다음 워크플로우 설정을 선택할 수 있습니다.

  • Simple execution(단순 실행, 기본값): 대상에서 자동화 워크플로우를 실행합니다.
  • Rate control(비율 제어): 여러 대상에 실행하며 동시성 및 오류 임계값을 정의합니다.
  • Multi-account and Region(다중 계정 및 리전): 여러 계정 및 리전에서 실행합니다.
  • Manual execution(수동 실행): 단계별 런북 모드를 실행합니다.

참고

  • 워크플로우는 임시 포트를 확인하지 않습니다. 자동화는 EC2 인스턴스의 기본 IP 주소를 기반으로 보안 그룹을 검사하지만 특정 포트를 확인하지 않습니다.
  • VPC 피어링을 제외한 TGW/VPN/DX 연결은 고려되지 않았습니다. 또한 발신자는 애플리케이션이 아닌 EC2 인스턴스로 제한됩니다.

문제 해결

전제 조건:

  • (선택 사항) 워크플로우 실행 중에 장애가 발생하면 이를 알려주는 Amazon CloudWatch 경보입니다.
  • RDS, Aurora 또는 Amazon DocumentDB 인스턴스.
  • 연결을 테스트하기 위한 최소 하나의 EC2 인스턴스. Amazon EC2 콘솔의 인스턴스 ID를 기록합니다.
  • 다음의 신뢰할 수 있는 엔터티와 정책이 추가된 AWS Identity and Access Management (IAM) 역할. IAM 역할 이름과 ARN을 나중에 사용할 수 있도록 기록합니다.

IAM 역할 엔터티

{      "Version": "2012-10-17",  
    "Statement": [  
        {  
            "Sid": "",  
            "Effect": "Allow",  
            "Principal": {  
                "Service": [  
                    "ssm.amazonaws.com"  
                ]  
            },  
            "Action": "sts:AssumeRole"  
        }  
    ]  
}

IAM 정책

{   "Version": "2012-10-17",  
 "Statement": [  
 {  
 "Sid": "VisualEditor0",  
 "Effect": "Allow",  
 "Action": [  
 "ec2:DescribeInstances",  
 "rds:DescribeDBInstances",  
 "ec2:DescribeSubnets",  
 "ec2:DescribeNetworkAcls",  
 "ec2:DescribeRouteTables",  
 "ec2:DescribeSecurityGroups"  
 ],  
 "Resource": "*"  
 }  
 ]  
}

자동화 워크플로우 실행

  1. AWS Systems Manager 콘솔을 열고 지역을 선택합니다.
  2. AWS Support-TroubleshootConnectivityToRDS 자동화 워크플로우를 엽니다.
    1. 탐색 창에서 Automation(자동화)을 선택한 후, Execute automation(자동화 실행)을 선택합니다.
    2. [Automation 문서(Automation document)] 목록에서 AWS Support-TroubleshootConnectivityToRDS 런북을 선택합니다. 문서 카테고리 창에서 옵션을 1개 이상 선택하여 SSM 문서를 필터링할 수도 있습니다. Enter image description here
  3. 사용 사례에 따라 단순 실행, 비율 제어, 다중 계정 및 지역 또는 수동 실행을 선택합니다. 이 예제에서는 단순 실행을 사용합니다.
  4. IAM 역할, RDS 인스턴스 식별자, EC2 인스턴스 ID의 세부 정보를 입력합니다. (이 예제에서는 위에서 설명한 IAM 역활을 참조하여 미리 생성한 Runbook_RDS_Role, RDS 인스턴스 식별자는 aurora80, 그리고 EC2 인스턴스 ID는 i-1234567890abcdefg 를 사용하였습니다.) Enter image description here
  5. 실행을 선택하여 워크플로우를 시작합니다.

워크플로우를 시작한 후 워크플로우의 상태를 검토할 수 있습니다. 워크플로우가 RDS DB 인스턴스에서 EC2 인스턴스로의 연결을 설정했는지 확인합니다. 그런 다음 워크플로우가 실행하는 단계 목록을 검토하여 특정 단계에서 워크플로우가 실패했거나 제한 시간이 초과되었는지 확인합니다. 워크플로우를 검토하여 권한 문제가 발생했는지 확인할 수도 있습니다.

워크플로우가 완료되면 워크플로우가 실행한 단계와 성공 또는 실패 상태가 출력에 표시됩니다. Enter image description here

비율 제어 옵션을 사용하여 워크플로우를 실행

비율 제어 옵션을 사용하도록 선택하면 여러 대상에서 워크플로우를 실행하고 동시성 및 오류 임계값을 정의할 수 있습니다. 이렇게 하려면 해당 대상의 DB 인스턴스 식별자 및 소스 인스턴스 매개변수를 선택합니다. 그런 다음 RDS DB 인스턴스에 액세스할 수 있는 모든 대상 EC2 인스턴스를 테스트합니다.

각 클라이언트 및 오류 임계값에 대해 동시성을 사용하여 동시에 실행할 워크플로우의 수를 구성할 수 있습니다.

예:

  • 동시성 — 목표 1
  • 오류 임계값 1개 — 오류 1개

교차-계정 및 교차-리전 옵션으로 워크플로우 실행

교차-계정 및 교차-리전 옵션을 선택할 때 AWS 계정 세부 정보 또는 조직 단위(OU) 정보를 제공합니다. 또한 자동화 워크플로우를 제대로 실행하려면 교차 리전 계정에 있는 IAM 역할 이름을 제공해야 합니다.

고객 지원

위와 같이 AWS Support-TroubleshootConnectivityToRDS Systems Manager 자동화 런북을 이용하면 스스로 원인을 식별할 수 있으므로 효율적인 문제 해결이 가능합니다. 만약 AWS 지원 자동화 워크플로우 (Support Automation Workflow) 런북을 진행하였음에도 여전히 문제를 해결할 수 없는 경우나 이슈 해결에 더욱 전문적인 도움이 필요한 경우, 런북 실행 ID와 실행 결과 등의 정보와 함께 AWS Premium Support에 도움을 요청해 주시길 바랍니다.

댓글 없음

관련 콘텐츠