기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWSSupport-TroubleshootDMSEndpointConnection
설명
AWSSupport-TroubleshootDMSEndpointConnection 실행서는 AWS Database Migration Service 복제 인스턴스와 AWS DMS 엔드포인트 간의 연결 문제를 진단하고 해결하는 데 도움이 됩니다. 자동화는 Reachability Analyzer 검사를 사용하여 네트워크 연결을 테스트하고 네트워크 구성을 분석하여 성공적인 AWS DMS 마이그레이션을 방해할 수 있는 잠재적 연결 문제를 식별합니다.
중요
이 실행서를 실행하기 전에 AWS DMS 콘솔 또는 API를 사용하여 AWS DMS 복제 인스턴스와 엔드포인트 간의 연결을 테스트해야 합니다. 연결을 테스트하지 않은 경우 먼저 테스트하십시오. 그렇지 않으면이 실행서를 다시 실행해야 할 수 있습니다. 정확한 연결 테스트를 위해 AWS DMS 복제 인스턴스와 엔드포인트 모두 사용 가능한 상태여야 합니다.
중요
이 실행서는 Lambda 요금이 발생하는 AWS Lambda 함수를 생성하고 호출합니다. 또한 각 Reachability Analyzer 분석 실행에는 요금이 발생합니다. 요금 세부 정보는 네트워크 분석 탭의 Amazon VPC 요금
어떻게 작동하나요?
실행서는 다음 단계를 통해 AWS DMS 연결에 대한 체계적인 분석을 수행합니다.
1단계: 리소스 검증 및 사전 조건
-
엔드포인트 검증: AWS DMS 엔드포인트가 있는지 확인하고, 구성(서버 이름, 포트, 엔진 유형)을 검색하고, 데이터베이스 엔진이 문제 해결에 지원되는지 확인합니다.
-
연결 테스트 상태: 이전 테스트 시도의 실패 메시지를 포함하여 API를 AWS DMS
DescribeConnections사용하여 복제 인스턴스와 엔드포인트 간의 현재 연결 테스트 상태를 검색합니다. -
복제 인스턴스 분석: Amazon VPC ID, 서브넷 ID, 보안 그룹 IDs를 포함한 네트워크 구성 세부 정보를 수집하고 복제 인스턴스에 연결된 탄력적 네트워크 인터페이스(ENI)를 식별합니다.
2단계: DNS 확인 및 네트워크 경로 검색
-
Amazon VPC 기반 DNS 확인: 복제 인스턴스와 동일한 Amazon VPC 내에 임시 Lambda 함수를 생성하여 Amazon VPC 컨텍스트 내에서 엔드포인트 호스트 이름을 IP 주소로 확인함으로써 정확한 프라이빗 DNS 확인을 보장합니다.
-
대상 식별: 엔드포인트가 동일한 Amazon VPC 내에 있는지(ENI 사용) 아니면 외부에 있는지(해결된 IP 주소 사용)를 기반으로 Reachability Analyzer에 적합한 대상을 결정합니다.
-
IPv6 호환성 검사: Reachability Analyzer는 IPv6 주소를 지원하지 않으므로 확인된 주소가 IPv4인지 확인합니다. IPv6
3단계: 포괄적인 네트워크 경로 분석
-
Reachability Analyzer 실행: 복제 인스턴스 ENI에서 대상(엔드포인트 ENI 또는 IP 주소)으로의 Network Insights 경로를 생성하고 포괄적인 분석을 실행하여 지정된 포트에서 TCP 연결을 테스트합니다.
-
다중 계층 네트워크 분석: 라우팅 테이블, 보안 그룹, 네트워크 ACLs, 인터넷 게이트웨이, NAT 게이트웨이, Amazon VPC 피어링 연결 및 전송 게이트웨이를 포함한 전체 네트워크 경로를 검사하여 연결 장벽을 식별합니다.
-
세부 설명 생성: 연결 실패의 경우 정확한 규칙 번호, CIDR 블록, 포트 범위 및 프로토콜 제한을 포함하여 트래픽을 차단하는 각 네트워크 구성 요소에 대한 구체적인 설명을 제공합니다.
4단계: 보고서 생성 및 리소스 정리
-
포괄적인 보고: 연결 테스트 요약, 네트워크 경로 분석 결과 및 문제 해결 지침이 포함된 특정 장애 설명이 포함된 세부 보고서를 생성합니다.
-
리소스 관리: PersistReachabilityAnalyzerResults 파라미터가 추가 조사를 위해 분석 결과를 유지하도록 설정되지 않은 한 생성된 리소스(Lambda 함수, IAM 역할, Network Insights 경로)를 자동으로 정리합니다.
-
오류 처리: 지원되지 않는 데이터베이스 엔진, 리소스 누락, DNS 해결 실패, 권한 문제 등 다양한 장애 시나리오에 대한 특정 오류 보고서를 제공합니다.
실행서는 Amazon Aurora, Amazon DocumentDB, Amazon DynamoDB, Amazon Neptune, Amazon Redshift, Amazon S3, Azure SQL Database, DB2, MySQL, Oracle, PostgreSQL, SQL Server 등을 비롯한 여러 데이터베이스 엔진의 연결 문제 해결을 지원합니다.
문서 유형
자동화
소유자
Amazon
플랫폼
/
필수 IAM 권한
실행서를 성공적으로 사용하려면 AutomationAssumeRole 파라미터에 다음 작업이 필요합니다.
-
cloudformation:CreateStack -
cloudformation:DeleteStack -
cloudformation:DescribeStacks -
cloudformation:DescribeStackEvents -
dms:DescribeEndpoints -
dms:DescribeReplicationInstances -
dms:DescribeConnections -
iam:GetRole -
iam:PassRole -
iam:SimulatePrincipalPolicy -
lambda:CreateFunction -
lambda:DeleteFunction -
lambda:GetFunction -
lambda:InvokeFunction -
lambda:ListTags -
lambda:TagResource -
lambda:UntagResource -
lambda:UpdateFunctionCode
선택적 IAM 권한
다음 권한은 LambdaRoleArn 파라미터를 제공하지 않고 자동화가 Lambda 실행 역할을 생성하도록 하려는 AutomationAssumeRole 경우에만 내에서 필요합니다.
-
iam:CreateRole -
iam:DeleteRole -
iam:AttachRolePolicy -
iam:DetachRolePolicy -
iam:TagRole -
iam:UntagRole
중요
위에서 언급한 작업 외에도 Reachability Analyzer 테스트가 성공적으로 수행되도록 에는 AmazonVPCReachabilityAnalyzerFullAccessPolicy가 연결된 관리형 정책으로 AutomationAssumeRole 있어야 합니다.
예제 정책:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowDMSTroubleshootingActions", "Effect": "Allow", "Action": [ "dms:DescribeEndpoints", "dms:DescribeReplicationInstances", "dms:DescribeConnections", "lambda:GetFunction", "lambda:ListTags", "lambda:CreateFunction", "lambda:DeleteFunction", "lambda:TagResource", "lambda:UntagResource", "lambda:UpdateFunctionCode", "cloudformation:DescribeStacks", "cloudformation:DescribeStackEvents", "cloudformation:CreateStack", "cloudformation:DeleteStack", "iam:GetRole", "iam:SimulatePrincipalPolicy", "iam:CreateRole", "iam:DeleteRole", "iam:TagRole", "iam:UntagRole" ], "Resource": "*" }, { "Sid": "AllowDMSLambdaInvocation", "Effect": "Allow", "Action": [ "lambda:InvokeFunction" ], "Resource": "arn:*:lambda:*:*:function:AWSSupport-TroubleshootDMSEndpointConnection-*" }, { "Sid": "AllowPassRoleToDMSLambda", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:*:iam::*:role/AWSSupport-TroubleshootDMSEndpointConnection-*", "Condition": { "StringLikeIfExists": { "iam:PassedToService": "lambda.amazonaws.com" } } }, { "Sid": "AllowRolePolicyManagement", "Effect": "Allow", "Action": [ "iam:AttachRolePolicy", "iam:DetachRolePolicy" ], "Resource": "*", "Condition": { "StringLikeIfExists": { "iam:ResourceTag/AWSSupport-TroubleshootDMSEndpointConnection": "true" } } } ] }
지침
다음 단계에 따라 자동화를 구성합니다.
-
Systems Manager
AWSSupport-TroubleshootDMSEndpointConnection의 문서로 이동합니다. -
Execute automation(자동화 실행)을 선택합니다.
-
입력 파라미터에 다음을 입력합니다.
-
AutomationAssumeRole(선택 사항):
-
설명: (선택 사항) SSM Automation이 사용자를 대신하여 작업을 수행하도록 허용하는 (IAM) 역할의 AWS Identity and Access Management Amazon 리소스 이름(ARN)입니다. 역할이 지정되지 않은 경우 SSM Automation은이 실행서를 시작하는 사용자의 권한을 사용합니다.
-
유형:
AWS::IAM::Role::Arn
-
-
DmsEndpointArn(필수)
-
설명: (필수) AWS Database Migration Service 엔드포인트의 Amazon 리소스 이름(ARN)입니다.
-
유형:
String -
허용된 패턴:
^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):dms:[a-z0-9-]+:\\d{12}:endpoint:[A-Z0-9]{1,48}$
-
-
DmsReplicationInstanceArn(필수)
-
설명: (필수) AWS Database Migration Service 복제 인스턴스의 Amazon 리소스 이름(ARN)입니다.
-
유형:
String -
허용된 패턴:
^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):dms:[a-z0-9-]+:\\d{12}:rep:[A-Z0-9]+$
-
-
PersistReachabilityAnalyzerResults(선택 사항)
-
설명: (선택 사항) Network Insights 분석 실행 결과를 유지해야 하는지 여부를 알리는 플래그입니다.
-
유형:
Boolean -
허용된 값:
[true, false] -
기본값:
false
-
-
LambdaRoleArn(선택 사항)
-
설명: (선택 사항) AWS Lambda 함수가 필요한 AWS 서비스 및 리소스에 액세스할 수 있도록 허용하는 (IAM) 역할의 Amazon 리소스 이름 AWS AWS Identity and Access Management (ARN)입니다. 역할이 지정되지 않은 경우이 Systems Manager Automation은 계정에서 Lambda에 대한 하나의 IAM 역할을 생성합니다.
-
유형:
AWS::IAM::Role::Arn -
기본값:
""
-
-
확인(필수)
-
설명: (필수)
yes를 입력하여이 실행서가 계정에 Lambda 함수를 생성하고LambdaRoleArn가 제공되지 않으면 IAM 역할을 생성함을 확인합니다. -
유형:
String -
허용된 패턴:
^[Yy][Ee][Ss]$
-
-
-
실행을 선택합니다.
-
자동화가 시작됩니다.
-
문서는 다음 단계를 수행합니다.
-
DescribeEndpointAndCheckEngine:
AWS DMS 엔드포인트 구성을 검색하고 데이터베이스 엔진 유형이 문제 해결에 지원되는지 확인합니다. 엔드포인트 구성에서 서버 이름, 포트 및 엔진 유형을 추출합니다.
-
BranchOnEndpointAndCheckEngineErrors:
엔드포인트 검증의 오류를 기반으로 자동화를 분기합니다. 오류가 발견되면 자동화는 오류 보고서를 생성합니다. 그렇지 않으면 연결 테스트를 계속합니다.
-
GetTestConnectionStatus:
DescribeConnectionsAPI를 사용하여 AWS DMS 엔드포인트의 연결 상태 및 오류 메시지를 검색합니다. 이 단계에서는 연결 테스트가 수행되었는지 확인하고 실패 메시지를 캡처합니다. -
BranchOnTestConnectionStatusErrors:
연결 테스트 상태 오류를 기반으로 자동화를 분기합니다. 오류가 감지되면 자동화는 오류 보고서를 생성하고, 그렇지 않으면 복제 인스턴스 분석을 진행합니다.
-
DescribeReplicationInstance:
Amazon VPC ID, 서브넷 ID, 보안 그룹 IDs 포함한 AWS DMS 복제 인스턴스의 네트워크 구성 세부 정보를 검색하고 연결된 탄력적 네트워크 인터페이스(ENI)를 식별IDs.
-
ValidateResourcePermissions:
실행 역할에 자동화 프로세스 중에 생성될 리소스를 정리하는 데 필요한 권한이 있는지 확인합니다.
-
CreateDNSResolverLambda:
복제 인스턴스와 동일한 Amazon VPC 내에 배포된 Lambda 함수가 포함된 AWS CloudFormation 스택을 생성합니다. 이 함수는 Amazon VPC 컨텍스트 내에서 프라이빗 IP 주소로 DNS 이름을 확인하는 데 사용됩니다.
-
DescribeCloudFormationErrorFromStackEvents:
CloudFormation 스택 생성에 실패하면이 단계에서는 스택 이벤트의 오류를 설명하여 문제 해결을 위한 자세한 실패 정보를 제공합니다.
-
GetDNSResolverLambdaName:
후속 단계에서 사용할 CloudFormation 스택 출력에서 DNS 해석기 Lambda 함수의 이름을 검색합니다.
-
ResolveDmsEndpoint:
Lambda 함수를 호출하여 AWS DMS 엔드포인트 호스트 이름을 Amazon VPC 내에서 IP 주소로 확인합니다. 이렇게 하면 정확한 프라이빗 DNS 확인이 보장되고 IPv4 호환성이 검증됩니다.
-
BranchOnResolveDmsEndpointErrors:
DNS 확인 오류를 기반으로 자동화를 분기합니다. 엔드포인트를 확인할 수 없거나 IPv6 주소로 확인되면 자동화가 오류 보고서를 생성합니다.
-
GetReachabilityAnalyzerTarget:
Amazon VPC 구성 및 엔드포인트 위치를 기반으로 Reachability Analyzer에 적합한 대상을 식별합니다. ENI(동일한 Amazon VPC 엔드포인트의 경우) 또는 IP 주소(외부 엔드포인트의 경우)를 대상으로 사용할지 여부를 결정합니다.
-
GenerateErrors:
이전 단계에서 오류가 발생할 때 포괄적인 오류 보고서를 생성합니다. 여기에는 엔드포인트 검증 오류, 연결 테스트 실패 또는 특정 문제 해결 지침이 포함된 DNS 해결 문제에 대한 세부 정보가 포함됩니다.
-
GenerateReport:
연결 상태, Reachability Analyzer를 사용한 네트워크 경로 분석 결과, 연결 장벽에 대한 자세한 설명, 해결을 위한 권장 조치가 포함된 포괄적인 문제 해결 보고서를 생성합니다.
-
CheckStackExists:
CloudFormation 스택이 성공적으로 생성되었으며 정리 중에 삭제해야 하는지 확인합니다. 이 단계는 자동화 성공 또는 실패에 관계없이 적절한 리소스 관리를 보장합니다.
-
DeleteDNSResolverLambda:
DNS 해석기 Lambda 함수 및 관련 리소스(가 로 설정되지 않은 경우
true)PersistReachabilityAnalyzerResults가 포함된 CloudFormation 스택을 삭제하여 자동화 완료 후 남은 리소스가 남아 있지 않도록 합니다.
-
-
완료되면 출력 섹션에서 실행의 자세한 결과를 검토합니다.
-
GetTestConnectionStatus.status
AWS DMS 복제 인스턴스와 엔드포인트 간의 현재 연결 테스트 상태(예: 성공, 실패, 테스트).
-
DescribeCloudFormationErrorFromStackEvents.Events
CloudFormation 스택 생성에 실패하면이 출력에는 인프라 배포 문제를 진단하는 데 도움이 되는 스택 생성 프로세스의 자세한 오류 이벤트가 포함됩니다.
-
GenerateReport.report
연결 분석 결과, Reachability Analyzer 결과, 네트워크 경로 분석, 식별된 특정 연결 장벽, 관련 AWS 설명서 링크가 포함된 자세한 문제 해결 권장 사항이 포함된 포괄적인 문제 해결 보고서입니다.
-
GenerateErrors.report
자동화 프로세스 중에 오류가 발생하는 경우이 출력은 특정 실패 이유, 영향을 받는 리소스, 자동화를 다시 시도하기 전에 문제를 해결하기 위한 지침을 포함한 자세한 오류 보고서를 제공합니다.
-
참조
Systems Manager Automation