SnapCenter Server를 사용하여 보안된 MySQL 연결 구성
독립형 구성이나 NLB(네트워크 부하 분산) 구성에서 SnapCenter Server와 MySQL Server 간 통신을 보호하려면 SSL(Secure Sockets Layer) 인증서와 키 파일을 생성할 수 있습니다.
독립형 SnapCenter 서버 구성을 위한 보안 MySQL 연결 구성
SnapCenter Server와 MySQL Server 간 통신을 보호하려면 SSL(Secure Sockets Layer) 인증서와 키 파일을 생성할 수 있습니다. MySQL 서버와 SnapCenter 서버에서 인증서와 키 파일을 구성해야 합니다.
다음 인증서가 생성됩니다.
-
CA 인증서
-
서버 공개 인증서 및 개인 키 파일
-
클라이언트 공개 인증서 및 개인 키 파일
단계
-
openssl 명령을 사용하여 Windows에서 MySQL 서버와 클라이언트에 대한 SSL 인증서와 키 파일을 설정합니다.
자세한 내용은 다음을 참조하세요. "MySQL 버전 5.7: openssl을 사용하여 SSL 인증서 및 키 생성"
서버 인증서, 클라이언트 인증서 및 키 파일에 사용되는 일반 이름 값은 각각 CA 인증서에 사용되는 일반 이름 값과 달라야 합니다. 일반 이름 값이 동일하면 OpenSSL을 사용하여 컴파일된 서버의 인증서 및 키 파일이 실패합니다. 모범 사례: 서버 인증서의 일반 이름으로 서버의 정규화된 도메인 이름(FQDN)을 사용해야 합니다.
-
SSL 인증서와 키 파일을 MySQL 데이터 폴더로 복사합니다.
기본 MySQL 데이터 폴더 경로는 다음과 같습니다.
C:\ProgramData\NetApp\SnapCenter\MySQL Data\Data\
. -
MySQL 서버 구성 파일(my.ini)에서 CA 인증서, 서버 공개 인증서, 클라이언트 공개 인증서, 서버 개인 키, 클라이언트 개인 키 경로를 업데이트합니다.
기본 MySQL 서버 구성 파일(my.ini) 경로는 다음과 같습니다.
C:\ProgramData\NetApp\SnapCenter\MySQL Data\my.ini
.MySQL 서버 설정 파일(my.ini)의 [mysqld] 섹션에서 CA 인증서, 서버 공개 인증서, 서버 개인 키 경로를 지정해야 합니다. MySQL 서버 구성 파일(my.ini)의 [client] 섹션에서 CA 인증서, 클라이언트 공개 인증서 및 클라이언트 개인 키 경로를 지정해야 합니다.
다음 예제는 기본 폴더의 my.ini 파일의 [mysqld] 섹션에 복사된 인증서 및 키 파일을 보여줍니다.
C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data
.ssl-ca="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/ca.pem"
ssl-cert="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/server-cert.pem"
ssl-key="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/server-key.pem"
다음 예제는 my.ini 파일의 [client] 섹션에서 업데이트된 경로를 보여줍니다.
ssl-ca="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/ca.pem"
ssl-cert="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/client-cert.pem"
ssl-key="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/client-key.pem"
-
IIS(인터넷 정보 서버)에서 SnapCenter 서버 웹 애플리케이션을 중지합니다.
-
MySQL 서비스를 다시 시작합니다.
-
SnapManager.Web.UI.dll.config 파일에서 MySQLProtocol 키 값을 업데이트합니다.
다음 예제에서는 SnapManager.Web.UI.dll.config 파일에서 업데이트된 MySQLProtocol 키 값을 보여줍니다.
<add key="MySQLProtocol" value="SSL" />
-
[client] 섹션의 my.ini 파일에 제공된 경로로 SnapManager.Web.UI.dll.config 파일을 업데이트합니다.
다음 예제는 my.ini 파일의 [client] 섹션에서 업데이트된 경로를 보여줍니다.
<add key="ssl-client-cert" value="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/client-cert.pem" />
<add key="ssl-client-key" value="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/client-key.pem" />
<add key="ssl-ca" value="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/ca.pem" />
-
IIS에서 SnapCenter Server 웹 애플리케이션을 시작합니다.
HA 구성을 위한 보안 MySQL 연결 구성
SnapCenter 서버와 MySQL 서버 간 통신을 보호하려면 고가용성(HA) 노드 둘 다에 대한 SSL(Secure Sockets Layer) 인증서와 키 파일을 생성할 수 있습니다. MySQL 서버와 HA 노드에서 인증서와 키 파일을 구성해야 합니다.
다음 인증서가 생성됩니다.
-
CA 인증서
HA 노드 중 하나에서 CA 인증서가 생성되고, 이 CA 인증서가 다른 HA 노드에 복사됩니다.
-
두 HA 노드 모두에 대한 서버 공개 인증서 및 서버 개인 키 파일
-
두 HA 노드에 대한 클라이언트 공개 인증서 및 클라이언트 개인 키 파일
단계
-
첫 번째 HA 노드의 경우 openssl 명령을 사용하여 Windows의 MySQL 서버와 클라이언트에 대한 SSL 인증서와 키 파일을 설정합니다.
자세한 내용은 다음을 참조하세요. "MySQL 버전 5.7: openssl을 사용하여 SSL 인증서 및 키 생성"
서버 인증서, 클라이언트 인증서 및 키 파일에 사용되는 일반 이름 값은 각각 CA 인증서에 사용되는 일반 이름 값과 달라야 합니다. 일반 이름 값이 동일하면 OpenSSL을 사용하여 컴파일된 서버의 인증서 및 키 파일이 실패합니다. 모범 사례: 서버 인증서의 일반 이름으로 서버의 정규화된 도메인 이름(FQDN)을 사용해야 합니다.
-
SSL 인증서와 키 파일을 MySQL 데이터 폴더로 복사합니다.
기본 MySQL 데이터 폴더 경로는 C:\ProgramData\ NetApp\ SnapCenter\MySQL Data\Data\입니다.
-
MySQL 서버 구성 파일(my.ini)에서 CA 인증서, 서버 공개 인증서, 클라이언트 공개 인증서, 서버 개인 키, 클라이언트 개인 키 경로를 업데이트합니다.
기본 MySQL 서버 구성 파일(my.ini) 경로는 C:\ProgramData\ NetApp\ SnapCenter\MySQL Data\my.ini입니다.
MySQL 서버 설정 파일(my.ini)의 [mysqld] 섹션에서 CA 인증서, 서버 공개 인증서, 서버 개인 키 경로를 지정해야 합니다. MySQL 서버 설정 파일(my.ini)의 [client] 섹션에서 CA 인증서, 클라이언트 공개 인증서, 클라이언트 개인 키 경로를 지정해야 합니다.
다음 예제에서는 기본 폴더인 C:/ProgramData/ NetApp/ SnapCenter/MySQL Data/Data에 있는 my.ini 파일의 [mysqld] 섹션에 복사된 인증서와 키 파일을 보여줍니다.
ssl-ca="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/ca.pem"
ssl-cert="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/server-cert.pem"
ssl-key="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/server-key.pem"
다음 예제는 my.ini 파일의 [client] 섹션에서 업데이트된 경로를 보여줍니다.
ssl-ca="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/ca.pem"
ssl-cert="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/client-cert.pem"
ssl-key="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/client-key.pem"
-
두 번째 HA 노드의 경우 CA 인증서를 복사하고 서버 공개 인증서, 서버 개인 키 파일, 클라이언트 공개 인증서, 클라이언트 개인 키 파일을 생성합니다. 다음 단계를 수행합니다.
-
첫 번째 HA 노드에서 생성된 CA 인증서를 두 번째 NLB 노드의 MySQL 데이터 폴더로 복사합니다.
기본 MySQL 데이터 폴더 경로는 C:\ProgramData\ NetApp\ SnapCenter\MySQL Data\Data\입니다.
CA 인증서를 다시 생성해서는 안 됩니다. 서버 공개 인증서, 클라이언트 공개 인증서, 서버 개인 키 파일, 클라이언트 개인 키 파일만 생성해야 합니다. -
첫 번째 HA 노드의 경우 openssl 명령을 사용하여 Windows의 MySQL 서버와 클라이언트에 대한 SSL 인증서와 키 파일을 설정합니다.
서버 인증서, 클라이언트 인증서 및 키 파일에 사용되는 일반 이름 값은 각각 CA 인증서에 사용되는 일반 이름 값과 달라야 합니다. 일반 이름 값이 동일하면 OpenSSL을 사용하여 컴파일된 서버의 인증서 및 키 파일이 실패합니다. 서버 인증서의 일반 이름으로 서버 FQDN을 사용하는 것이 좋습니다.
-
SSL 인증서와 키 파일을 MySQL 데이터 폴더로 복사합니다.
-
MySQL 서버 구성 파일(my.ini)에서 CA 인증서, 서버 공개 인증서, 클라이언트 공개 인증서, 서버 개인 키, 클라이언트 개인 키 경로를 업데이트합니다.
MySQL 서버 설정 파일(my.ini)의 [mysqld] 섹션에서 CA 인증서, 서버 공개 인증서, 서버 개인 키 경로를 지정해야 합니다. MySQL 서버 구성 파일(my.ini)의 [client] 섹션에서 CA 인증서, 클라이언트 공개 인증서 및 클라이언트 개인 키 경로를 지정해야 합니다.
다음 예제에서는 기본 폴더인 C:/ProgramData/ NetApp/ SnapCenter/MySQL Data/Data에 있는 my.ini 파일의 [mysqld] 섹션에 복사된 인증서와 키 파일을 보여줍니다.
ssl-ca="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/ca.pem"
ssl-cert="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/server-cert.pem"
ssl-key="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/server-key.pem"
다음 예제는 my.ini 파일의 [client] 섹션에서 업데이트된 경로를 보여줍니다.
ssl-ca="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/ca.pem"
+
ssl-cert="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/server-cert.pem"
+
ssl-key="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/server-key.pem"
-
-
두 HA 노드 모두에서 IIS(인터넷 정보 서버)의 SnapCenter 서버 웹 애플리케이션을 중지합니다.
-
두 HA 노드에서 MySQL 서비스를 다시 시작합니다.
-
두 HA 노드 모두의 SnapManager.Web.UI.dll.config 파일에서 MySQLProtocol 키 값을 업데이트합니다.
다음 예제는 SnapManager.Web.UI.dll.config 파일에서 업데이트된 MySQLProtocol 키 값을 보여줍니다.
<add key="MySQLProtocol" value="SSL" />
-
HA 노드 둘 다에 대한 my.ini 파일의 [client] 섹션에 지정한 경로로 SnapManager.Web.UI.dll.config 파일을 업데이트합니다.
다음 예제는 my.ini 파일의 [client] 섹션에서 업데이트된 경로를 보여줍니다.
<add key="ssl-client-cert" value="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/client-cert.pem" />
<add key="ssl-client-key" value="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/client-key.pem" />
<add key="ssl-ca" value="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/ca.pem" />
-
두 HA 노드 모두의 IIS에서 SnapCenter 서버 웹 애플리케이션을 시작합니다.
-
HA 노드 중 하나에서 -Force 옵션과 함께 Set-SmRepositoryConfig -RebuildSlave -Force PowerShell cmdlet을 사용하여 두 HA 노드 모두에서 보안된 MySQL 복제를 설정합니다.
복제 상태가 정상이더라도 -Force 옵션을 사용하면 슬레이브 저장소를 다시 빌드할 수 있습니다.