View a markdown version of this page

모범 사례 및 문제 해결 - AWS 변환

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

모범 사례 및 문제 해결

현대화 프로세스 중 모범 사례, 일반적인 문제 및 해결 방법.

ECS 애플리케이션 로그

CloudWatch 로그

  • 모든 ECS 컨테이너 로그는 CloudWatch Logs로 자동 전송됩니다.

  • CloudWatch 콘솔의 로그 그룹 아래 액세스 로그

  • 로그 그룹 이름 지정 형식: /aws/ecs/{application-name}

  • 각 컨테이너 인스턴스는 그룹 내에 새 로그 스트림을 생성합니다.

로그 보기

AWS 콘솔을 통해:

  • CloudWatch > 로그 그룹으로 이동

  • 애플리케이션의 로그 그룹 선택

  • 컨테이너 로그를 볼 관련 로그 스트림을 선택합니다.

AWS CLI 사용:

aws logs get-log-events --log-group-name /aws/ecs/your-app-name --log-stream-name your-stream-name

공통 로그 위치

  • 애플리케이션 로그: CloudWatch Logs

  • ECS 서비스 이벤트: ECS 콘솔 > 클러스터 > 서비스 > 이벤트 탭

  • 컨테이너 상태: ECS 콘솔 > 클러스터 > 서비스 > 작업 탭

데이터베이스 연결 관리

애플리케이션은 데이터베이스 연결 설정에 환경 변수를 사용합니다.

연결 문제가 발생하는 경우:

  • 환경 변수에서 현재 연결 설정 확인

  • 필요에 따라 데이터베이스 연결 문자열을 수정하도록 환경 변수 업데이트

  • 애플리케이션 재배포 없이 환경 변수 업데이트를 통해 연결 문자열을 변경할 수 있습니다.

데이터베이스 연결 문제

문제: AWS 변환을 SQL Server에 연결할 수 없음

솔루션

  • AWS 변환과 SQL Server 간의 네트워크 연결 확인

  • 보안 그룹 규칙에서 적절한 포트 액세스 확인(1433)

  • Secrets Manager에서 데이터베이스 자격 증명 확인

  • 생성된 사용자로 데이터베이스 권한 테스트

  • SQL Server가 혼합 모드 인증을 위해 구성되어 있는지 확인

  • 보안 암호에 필수 태그가 있는지 확인(프로젝트: atx-db-modernization, 소유자: 데이터베이스 커넥터)

방화벽 및 보안 그룹 문제

문제: 연결 제한 시간 또는 "데이터베이스에 연결할 수 없음" 오류

근본 원인: 트래픽을 차단ACLs

솔루션

  1. 보안 그룹 구성 확인:

    • SQL Server 보안 그룹에 DMS Schema Conversion 보안 그룹의 포트 1433을 허용하는 인바운드 규칙이 있는지 확인합니다.

    • 소스가 IP 주소가 아닌 보안 그룹 ID(예: sg-0123456789abcdef0)인지 확인합니다.

    • DMS Schema Conversion 보안 그룹이 인스턴스 프로파일에 올바르게 지정되었는지 확인

    • 충돌하는 거부 규칙이 없는지 확인

  2. 네트워크 ACLs 확인:

    • 서브넷 수준 네트워크 ACLs 포트 1433에서 인바운드 트래픽을 허용하는지 확인

    • 네트워크 ACLs 반환 트래픽에 대해 아웃바운드 임시 포트를 허용하는지 확인

    • 데이터베이스 서브넷과 DMS 서브넷 네트워크 ACLs 모두 확인

  3. VPC 구성 확인:

    • DMS Schema Conversion 인스턴스와 SQL Server가 동일한 VPC에 있는지 또는 적절한 VPC 피어링이 있는지 확인

    • 라우팅 테이블이 서브넷 간 트래픽을 허용하는지 확인

    • 트래픽을 차단하는 방화벽 어플라이언스가 없는지 확인

  4. 연결 테스트:

    • DMS Schema Conversion과 동일한 서브넷에서 테스트 EC2 인스턴스 시작

    • DMS Schema Conversion과 동일한 보안 그룹 연결

    • telnet 또는 SQL Server Management Studio를 사용하여 SQL Server에 대한 연결 테스트

    • 테스트에 성공하면 AWS 변환 구성에서 문제가 발생하고, 실패하면 네트워크/방화벽에서 문제가 발생합니다.

일반적인 실수: 포트 1433을 0.0.0.0/0(모든 소스)으로 여는 것은 보안 위험입니다. 항상 보안 그룹 기반 액세스 제어를 사용하여 DMS Schema Conversion 보안 그룹으로만 액세스를 제한합니다.

스키마 변환 문제

문제: 스키마 변환에 많은 작업 항목이 표시됨

솔루션

  • 변환 보고서의 작업 항목 검토

  • 영향을 기반으로 우선순위 지정

  • 복잡한 SQL 변환에 Amazon Q Developer 사용

  • 지침은 AWS Support에 문의하세요.

  • 복잡한 데이터베이스에 대한 단계별 접근 방식 고려

애플리케이션 변환 문제

문제: 애플리케이션 변환 빌드 실패

솔루션

  • 변환 보고서의 빌드 오류 검토

  • 필요한 경우 프라이빗 NuGet 피드 구성

  • 필요한 경우 패키지 참조 업데이트

  • Windows별 종속성 확인

  • 자세한 오류에 대한 변환 로그 검토

데이터 마이그레이션 문제

문제: 데이터 마이그레이션 검증 실패

솔루션

  • 특정 실패에 대한 검증 보고서 검토

  • 데이터 유형 매핑 확인

  • 자격 증명 열 구성 확인(기본값으로 생성됨과 항상 생성됨)

  • 계산된 열 표현식 검토

  • 복잡한 데이터 문제는 AWS Support에 문의하세요.

리소스 정리 문제

문제: 리소스 오류와 함께 변환 작업이 실패함

솔루션

  • 기존 DMS 리소스(마이그레이션 프로젝트, 데이터 공급자, 인스턴스 프로파일) 확인

  • 이전 시도에서 실패했거나 불완전한 리소스 정리

  • 보안 암호 삭제가 예약되지 않았는지 확인

  • DMS 및 Aurora PostgreSQL에 대한 서비스 할당량 확인

  • 정리로 문제가 해결되지 않으면 AWS Support에 문의하세요.

배포 관련 문제

문제: 변환된 애플리케이션을 Aurora PostgreSQL에 연결할 수 없음

솔루션

  • PostgreSQL의 연결 문자열 형식 확인

  • 보안 그룹 규칙 확인

  • Secrets Manager에서 데이터베이스 자격 증명 확인

  • SSL/TLS가 올바르게 구성되었는지 확인

  • psql 또는 pgAdmin을 사용하여 연결 테스트

추가 도움말 받기

AWS Support에 문의할 때 다음을 제공하세요.

  • 변환 작업 ID

  • AWS 계정 ID

  • 리전

  • 오류 메시지 및 스크린샷

  • 변환 로그( AWS 변환 콘솔에서 사용 가능)