내용으로 건너뛰기

MySQL 또는 Aurora DB 인스턴스용 Amazon RDS에 연결할 때 발생하는 ‘ERROR 2026 SSL connection’ 오류를 해결하려면 어떻게 해야 합니까?

4분 분량
0

SSL/TLS를 사용하여 Amazon Relational Database Service(Amazon RDS) MySQL DB 인스턴스 또는 클러스터에 연결하려고 합니다. 하지만 다음과 같은 오류가 발생합니다. “ERROR 2026 (HY000): SSL connection error.”

해결 방법

다음 문제 해결 단계를 사용하여 발생한 오류를 해결하십시오.

참고: 다음 예제 명령에서 클러스터 엔드포인트는 abcdefg-clust.cluster-xxxx.us-east-1.rds.amazonaws.com입니다. DB 인스턴스 엔드포인트는 abcdefg-inst.xxxx.us-east-1.rds.amazonaws.com입니다.

SSL 인증서 검증 실패

이 오류를 해결하려면 먼저 클러스터 엔드포인트를 사용하는지 또는 DB 인스턴스 엔드포인트를 사용하는지 검증하십시오. 자세한 내용은 Amazon RDS for MySQL 또는 SSL/TLS를 사용하여 DB 클러스터에 대한 연결 암호화를 참조하십시오.

주체 대체 이름(SAN)을 지원하는 클라이언트를 사용하는 경우 클러스터 엔드포인트만 사용할 수 있습니다. 클라이언트가 SAN을 지원하지 않는 경우 기본 DB 인스턴스의 엔드포인트를 사용해야 합니다.

참고: 기본 MySQL 명령줄 클라이언트는 SAN을 지원하지 않습니다.

클러스터 엔드포인트에 연결하려고 할 때 SSL 인증서 검증 오류가 발생하면 기본 DB 인스턴스의 엔드포인트에 연결하십시오.

클러스터 엔드포인트를 사용하여 연결하는 명령 예시:

[ec2-user@ip-192-0-2-0 ~]$ mysql -h abcdefg-clust.cluster-xxxx.us-east-1.rds.amazonaws.com --ssl-ca global-bundle.pem --ssl-mode=VERIFY_IDENTITY -u test -p test
Enter password:
ERROR 2026 (HY000): SSL connection error: SSL certificate validation failure

DB 인스턴스 엔드포인트를 사용하여 연결하는 명령 예시:

[ec2-user@ip-192-0-2-0 ~]$ mysql -h abcdefg-inst.xxxx.us-east-1.rds.amazonaws.com --ssl-ca rglobal-bundle.pem --ssl-mode=VERIFY_IDENTITY -u test -p test
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 26

서버가 SSL을 지원하지 않음

사용하는 서버 또는 엔진 버전이 SSL/TLS를 지원하지 않는 경우 이 오류가 발생합니다. 이 오류를 해결하려면 SSL/TLS 연결을 지원하는 엔진으로 마이그레이션하십시오.

SSL_CTX_set_default_verify_paths 실패

인증서 파일이 없거나, 파일 경로가 잘못되었거나, 파일을 읽을 권한이 없는 경우 이 오류가 발생합니다. 인증서 파일이 저장된 디렉터리에 대한 권한이 없는 경우에도 이 오류가 발생할 수 있습니다. 인증서 파일이 액세스 권한이 있는 디렉터리에 있는지 확인하십시오.

연결하기 전에 올바른 인증서를 다운로드했는지 확인합니다. 연결할 때 올바른 인증서 식별자 이름과 인증서 경로를 사용하고 있는지 확인하십시오.

전역 번들 인증서 파일은 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스의 다운로드 디렉터리에 있습니다.

전역 번들 인증서의 잘못된 경로를 사용하여 연결하는 명령 예시:

[ec2-user@ip-192-0-2-0 ~]$ mysql -h abcdefg-clust.cluster-xxxxx.us-east-1.rds.amazonaws.com --ssl-ca global-bundle.pem --ssl-mode=VERIFY_IDENTITY -u test -p test
Enter password:
ERROR 2026 (HY000): SSL connection error: SSL_CTX_set_default_verify_paths failed

참고: 위 명령에서는 홈 디렉터리의 연결 문자열이 사용되지만 전역 번들 인증서는 다운로드 디렉터리에 있습니다.

전역 번들 인증서의 올바른 경로를 사용하여 연결하는 명령 예시:

[ec2-user@ip-192-0-2-0 ~]$ mysql -h abcdefg-clust.cluster-xxxx.us-east-1.rds.amazonaws.com --ssl-ca /home/ec2-user/Downloads/global-bundle.pem   
--ssl-mode=VERIFY_IDENTITY -u test -p test  
Enter password:  
Welcome to the MySQL monitor. Commands end with ; or \g.   
Your MySQL connection id is 26

DB 인스턴스에 연결하려는 권한이 충분하지 않은 명령 예시:

[ec2-user@ip-192-0-2-0 ~]$ sudo chmod 700 global-bundle.pem
[ec2-user@ip-192-0-2-0 ~]$ mysql -h abcdefg-inst.xxxx.us-east-1.rds.amazonaws.com --ssl-ca global-bundle.pem --ssl-mode=VERIFY_IDENTITY -u test -p test
Enter password:
ERROR 2026 (HY000): SSL connection error: SSL_CTX_set_default_verify_paths failed

DB 인스턴스에 성공적으로 연결하는 올바른 권한이 있는 명령 예시:

[ec2-user@ip-192-0-2-0 ~]$ sudo chmod 755 global-bundle.pem
[ec2-user@ip-192-0-2-0 ~]$ mysql -h abcdefg-inst.xxxx.us-east-1.rds.amazonaws.com --ssl-ca global-bundle.pem --ssl-mode=VERIFY_IDENTITY -u test -p test
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 810

SSL 연결 오류: error:00000001:lib(0)::reason(1)

다음과 같은 시나리오에서 이 연결 오류가 발생합니다.

  • 잘못된 인증서 파일을 사용하고 있습니다.
  • 인증서 파일이 RDS 인스턴스에 필요한 인증서와 일치하지 않습니다.
  • MySQL 클라이언트는 인증서 식별자를 지원하지 않습니다.

참고: MySQL 호환 Aurora Serverless DB 클러스터의 경우 MySQL 8.0 호환 명령을 사용해야 합니다.

연결하기 전에 올바른 인증서를 다운로드했는지 확인합니다. 연결할 때 올바른 인증서 식별자 이름과 인증서 경로를 사용하고 있는지 확인하십시오.

DB 인스턴스 엔드포인트에 연결을 시도하는 잘못된 인증서를 사용하는 명령 예시:

[ec2-user@ip-192-0-2-0 ~]$ mysql -habcdefg-inst.xxxx.us-east-1.rds.amazonaws.com --ssl-ca rds-ca-2019-root.pem --ssl-mode=VERIFY_IDENTITY -u test -p  
Enter password:   
ERROR 2026 (HY000): SSL connection error: error:00000001:lib(0)::reason(1)

DB 인스턴스에 성공적으로 연결하는 올바른 인증서를 사용하는 명령 예시:

[ec2-user@ip-192-0-2-0 ~]$ mysql -h abcdefg-inst.xxxx.us-east-1.rds.amazonaws.com --ssl-ca  global-bundle.pem --ssl-mode=VERIFY_IDENTITY -u admin -p  
Enter password:   
Welcome to the MySQL monitor.  Commands end with ; or \g.

관련 정보

Aurora Serverless v1과 함께 TLS/SSL 사용

AWS 공식업데이트됨 2년 전