InfoGrab DocsInfoGrab Docs

데이터베이스 접근 문제 해결

Teleport로 데이터베이스를 보호할 때 발생하는 일반적인 문제와 해결 방법입니다.

이 페이지에서는 Teleport로 데이터베이스를 등록할 때 발생하는 일반적인 문제와 이를 우회하거나 해결하는 방법을 설명합니다. 연결 시도 실패 # 타임아웃 오류 # 데이터베이스 연결 시도가 **"dial tcp ... i/o timeout"**과 유사한 메시지와 함께 실패합니다. Teleport Database Service는 데이터베이스 엔드포인트로의 연결이 필요합니다. 방화벽 규칙(예: AWS 보안 그룹)이 Teleport Database Service와 데이터베이스 엔드포인트 간의 연결을 허용하는지 확인하세요. 데이터베이스에 대한 인바운드 방화벽 규칙은 Teleport Database Service로부터의 연결을 허용해야 합니다. Teleport Database Service에 대한 아웃바운드 방화벽 규칙은 데이터베이스 엔드포인트로의 연결을 허용해야 합니다. Tip Teleport Database Service와 동일한 호스트에서 nc 를 실행하여 데이터베이스 포트에 도달할 수 있는지 확인해 보세요. 데이터베이스 호스트: postgres-instance-1.sadas.us-east-1.rds.amazonaws.com 데이터베이스 포트: 5432 $ nc -zv database-host database-port # Connection to postgres-instance-1.sadas.us-east-1.rds.amazonaws.com (172.31.24.172) 5432 port [tcp/postgresql] succeeded! AWS에서 연결 시간 초과 오류 디버깅 AWS 배포의 경우, AWS Reachability Analyzer 를 사용하여 Teleport Database Service와 데이터베이스 간의 네트워크 경로를 분석하는 것이 도움이 될 수 있습니다. Teleport Database Service 호스트와 연결된 Elastic Network Interface(ENI)를 식별합니다. 이는 EC2 console 에서 확인할 수 있습니다. 데이터베이스의 프라이빗 IP 주소를 식별합니다. 네트워크 경로를 생성하고 분석합니다: 경로 소스를 Teleport Database Service 호스트와 연결된 ENI로 설정합니다. 경로 대상을 데이터베이스 IP로 설정합니다. 분석 결과를 확인하여 도달성 문제를 식별합니다. 데이터베이스가 동적으로 또는 자동 검색을 통해 등록된 경우, 이 데이터베이스를 프록시하는 모든 * Teleport Database Service 인스턴스에 대해 위의 연결 테스트를 반복하세요. 주어진 데이터베이스와 연결된 모든 Teleport Database Service 인스턴스를 나열하려면 tctl get db_server/<db_name> 명령을 실행하세요. 예를 들어: $ tctl get db_server/postgres-instance-1 --format json | jq '.[] | {hostname: .spec.hostname, host_id: .spec.host_id, version: .spec