SSL(Secure Sockets Layer)을 사용하여 Amazon Relational Database Service(Amazon RDS) DB 인스턴스 또는 클러스터에 연결하려고 하면 다음 오류가 표시됩니다.
"ERROR 2026 (HY000): SSL connection error"
Amazon RDS for MySQL, Amazon Aurora for MySQL 또는 Amazon Aurora Serverless에 대한 ERROR 2026을 해결하려면 어떻게 해야 하나요?
간략한 설명
ERROR 2026에는 세 가지 유형의 오류 메시지가 있습니다.
- ERROR 2026 (HY000): SSL connection error: SSL certificate validation failure
- ERROR 2026 (HY000): SSL connection error: Server doesn't support SSL
- ERROR 2026 (HY000): SSL connection error: ASN: bad other signature confirmation
각 오류 메시지에 대해 다음과 같은 문제 해결 단계를 참조하십시오.
해결 방법
ERROR 2026 (HY000): SSL connection error: SSL certificate validation failure
이 오류를 해결하려면 클러스트 엔드포인트를 사용하는지 DB 인스턴스 엔드포인트를 사용하는지 여부를 먼저 확인합니다. Amazon RDS의 SSL 지원 방법을 자세히 알아보려면 MySQL DB 인스턴스와 함께 SSL 사용 또는 Aurora MySQL DB 클러스터에 SSL 사용을 참조하세요.
SAN(주체 대체 이름)을 지원하는 클라이언트를 사용하는 경우 클러스터 엔드포인트만 사용할 수 있습니다. 클라이언트가 SAN을 지원하지 않는 경우 기본 DB 인스턴스의 엔드포인트를 사용해야 합니다.
참고: 기본 MySQL 명령줄 클라이언트는 SAN을 지원하지 않습니다.
클러스터 엔드포인트에 연결하려고 할 때 이 오류가 표시되면 연결 문자열에서 기본 DB 인스턴스의 엔드포인트에 연결해 보세요. 예를 들어 클러스터 엔드포인트에 연결할 수 있습니다. 다음 예에서 클러스터 엔드포인트는 abcdefg-clust.cluster-xxxx.us-east-1.rds.amazonaws.com입니다. DB 인스턴스 엔드포인트는 abcdefg-inst.xxxx.us-east-1.rds.amazonaws.com입니다.
클러스터 엔드포인트를 사용하여 연결
[ec2-user@ip-192-0-2-0 ~]$ mysql -h abcdefg-clust.cluster-xxxx.us-east-1.rds.amazonaws.com --ssl-ca rds-combined-ca-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 rds-combined-ca-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
ERROR 2026 (HY000): SSL connection error: Server doesn't support SSL
이 오류는 사용하는 서버 또는 엔진 버전이 SSL을 지원하지 않는 경우 표시될 수 있습니다. 이 오류를 해결하려면 SSL 연결을 지원하는 엔진으로 마이그레이션합니다.
ERROR 2026 (HY000): SSL connection error: SSL_CTX_set_default_verify_paths failed or ERROR 2026 (HY000): SSL connection error: ASN: bad other signature confirmation
이 오류는 인증서 식별자(인증서 파일 이름)가 올바르지 않은 경우 표시될 수 있습니다. MySQL 클라이언트가 예를 들어 Aurora Serverless에서 인증서 식별자를 지원하지 않는 경우에도 이 오류가 표시될 수 있습니다. Aurora Serverless 클러스터를 사용하고 있고 MySQL 클라이언트를 사용하여 Aurora Serverless에 연결하는 경우 MySQL 8.0 호환 MySQL 명령을 사용해야 합니다.
연결에 성공하려면 올바른 인증서 식별자 이름과 올바른 인증서 경로를 사용해야 합니다. 연결하기 전에 올바른 인증서를 다운로드했는지 확인하세요. 자세한 내용은 SSL을 사용하여 DB 인스턴스에 대한 연결 암호화를 참조하세요.
루트 인증서 파일은 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스의 Downloads 디렉터리에 있습니다. 다음 예에서 잘못된 경로를 입력하면 ERROR 2026 오류가 발생합니다.
[ec2-user@ip-192-0-2-0 ~]$ mysql -h abcdefg-clust.cluster-xxxxx.us-east-1.rds.amazonaws.com --ssl-ca rds-combined-ca-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
참고: 이 예에서는 홈 디렉터리의 연결 문자열을 사용하지만 루트 인증서는 Downloads 디렉터리에 있습니다.
다음 예에서는 루트 인증서에 대한 경로를 사용하여 성공적으로 연결합니다.
[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/rds-combined-ca-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
이 오류는 인증서가 저장된 디렉터리에 대한 권한이 없는 경우에도 발생할 수 있습니다. 액세스 권한이 있는 디렉터리에 인증서가 있는지 확인하십시오. 다음 예에서는 권한이 있는 연결과 권한이 없는 연결을 보여줍니다.
권한이 충분하지 않은 연결
[ec2-user@ip-192-0-2-0 ~]$ sudo chmod 700 rds-combined-ca-bundle.pem
[ec2-user@ip-192-0-2-0 ~]$ mysql -h abcdefg-inst.xxxx.us-east-1.rds.amazonaws.com --ssl-ca rds-combined-ca-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 ~]$ sudo chmod 755 rds-combined-ca-bundle.pem
[ec2-user@ip-192-0-2-0 ~]$ mysql -h abcdefg-inst.xxxx.us-east-1.rds.amazonaws.com --ssl-ca rds-combined-ca-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
관련 정보
Aurora Serverless용 TLS/SSL