SAS Enterprise Guilde: SAS Viya 오류 발생시 대처 방법
2019 년 말에 SAS Enterprise Guide와 SAS Viya의 통합을 지원할 계획에 대해 들어 보셨을 것입니다. 아직 Viya 환경에서는 찾으실 수 없습니다.
프로그래밍 또는 전체 Viya 배포 등 작업의 종류와는 관계없이, 아직 존재하지 않습니다. 또한 공식 문서를 빠르게 살펴보아도 새로운 기능 페이지 또는 제품 참조를 자세히 다루지 않습니다.
SAS의 비전은 SAS Studio와 같은 웹 인터페이스 및 SAS Enterprise Guide와 같은 전체 데스크톱 클라이언트에 대한 고객 요청 기반 및 시장 방향성을 추구합니다. 그러나 SAS Enterprise Guide는 적어도 SAS 9.4M5 이후로 한동안 Viya 기능을 활용할 수 있었으나, 세부 사항과 관련해서 다소 어려움이 있습니다. 8.1 버전까지의 SAS Enterprise Guide는 Viya 환경에서 실행되는 CAS 서버에 연결할 수 있습니다. 이를 위해서는 최소한 메타 데이터 서버, 객체 생성기 및 작업 공간 서버를 포함하는 SAS 9 환경의 일부이거나 클라이언트에 로컬로 공존하는 SAS 9 서버에 대한 연결이 필요합니다.
SAS Enterprise Guide-> SAS 9 Metadata server-> SAS 9 Object Spawner-> SAS 9 Workspace-> CAS
*더 큰 버전을 보려면 이미지를 클릭하시기 바랍니다.
SAS Enterprise Guide-> local SAS 9-> CAS
SAS Enterprise Guide 8.2부터는 이제 중간 SAS 9 중간 단계를 뛰어넘어 클라이언트에서 Viya Workspace 서버로 직접 연결할 수 있습니다. CAS에서 실행되는 코드를 제출하는 기능을 포함하여 대부분의 기존 프로젝트, 프로세스 흐름, 프로그램에서 작업이 가능합니다.
SAS Enterprise Guide 8.2-> SAS Viya Object Spawner-> SAS Viya Workspace-> (CAS)
이러한 방식의 장점은 전체 SAS 9 환경을 설치 또는 유지할 필요없이 SAS Enterprise Guide의 강력한 기능을 활용할 수 있다는 점임니다.
그러나 이 새로운 기능은 SAS Enterprise Guide를 완전한 SAS Viya 제품으로 적용하지 않습니다. 실제로 이 구성은 SAS Studio 5.2와 같은 프로그래밍 전용 환경과 유사하며 마이크로 서비스 또는 기타 Viya 서비스와의 다른 상호 작용이 어렵습니다. SAS Studio와의 유사성은 우연이 아닙니다.
고객을 위한 접근성
상단에 언급한 바와 같이 SAS는 SAS Studio와 같은 웹 인터페이스로 이동하고 있으며 SAS Enterprise Guide와 같은 전체 데스크톱 클라이언트 체제에서 벗어나고 있습니다. 저는 매일 더 자주 Microsoft Office 365 응용 프로그램의 웹 버전을 사용하고 있으며, 온라인 버전에서 사용할 수 없는 기능이 필요한 경우에만 Microsoft PowerPoint 또는 Microsoft Word의 로컬 설정으로 되돌립니다.
SAS Studio 5.2는 SAS Enterprise Guide의 기능 격차를 해소하는 데 도움이 될 만한 다양한 새로운 기능을 제공합니다. 몇 가지 예는 데이터 단계 디버거, 쿼리 생성 기능, GIT와의 새로운 통합 등입니다.
이러한 이유로 SAS Enterprise Guide 8.2는 기본적으로 SAS Viya 솔루션과 함께 제공되지 않으며 공식적인 요청에 따라고객에게 제공됩니다.
배포시 참고 사항
SAS Enterprise Guide 8.2는 다른 SAS 9 구성 요소없이 SAS Viya에 연결할 수 있지만 이를 배포하려면 SAS 9 depot이 필요합니다. SAS Enterprise Guide는 Viya depot에 포함되어 있지 않습니다. 최소한 SAS Enterprise Guide 자체가 포함된 SAS 9를 통해 SAS 9 depot을 다운로드해야 합니다. 기타 목적으로 다른 SAS 9 구성 요소를 배포해야 하는 경우가 아니라면 SAS Deployment Manager 9.4 내 SAS Deployment Wizard의 부록 A을 설치하실 것을 권장합니다. SAS Enterprise Guide를 설치하는 것이 좋습니다. http://support.sas.com/deploywizug94.html. 전제 사항으로 .Net 4.7.1 (or later, but in the 4.x family)를 설치해야 할 수 도 있습니다. SAS 9 depot를 보유하신 경우 SAS Enterprise Guide 자동 실행 설치 프로그램은 <depotroot>\standalone_installs\SAS_Enterprise_Guide_Independent_Installer\8_2, 에서 가능하며 .Net 4.7.1은 <depotroot>\products\dotnet471__99110__prt__xx__sp0__1\w32\native, 이나 온라인을 통해 찾으실 수 있습니다. https://dotnet.microsoft.com/download/dotnet-framework.
SAS Enterprise Guide 구성
SAS Enterprise Guide를 SAS Viya와 통합하기 위해 수행 할 첫 번째 단계는 SAS Enterprise Guide에서 SAS Viya 환경에 배포된 SAS 개체 생성기로의 새로운 직접 연결을 정의하는 것입니다.
SAS Enterprise Guide를 시작한 다음 도구-> 연결을 선택합니다. 새 프로젝트 시작이 필요하다고 나타나는 경우, 대화 상자를 닫으셔도 됩니다.
SAS 9 환경에서 SAS Enterprise Guide를 관리하는 데 익숙하다면 새 프로필을 정의하기 위해 열리는 대화 창에 이미 잘 알고 계실 것입니다. SAS Viya에서는 더이상 필요하지 않을 수 있습니다. 연결 프로필은 SAS 메타데이터 서버에 연결하는 데 유용하지만 여기에서는 관련이 없습니다!
왼쪽 목록에서 다음 옵션인 서버를 선택한 다음 추가 버튼을 클릭합니다.
이 과정을 통해 SAS 개체 생성기에 대한 직접 연결을 정의 할 수 있는 새 대화 창이 열립니다. 주문형 SAS Workspace Servers for SAS Enterprise Guide를 시작하는 데 사용됩니다. 이름, 서버 호스트 이름 또는 IP 주소를 입력하고 저장합니다. 다른 모든 기본값은 대부분의 경우에 적절합니다. SAS Viya 개체 생성기는 기본적으로 포트 8591에서 수신합니다. 다른 포트 번호를 사용하도록 구성한 경우 그에 따라 포트 필드를 조정합니다.
다 마쳤습니다. SAS Viya에 연결되신 것을 축하합니다.
이제 연결을 테스트 할 수 있습니다. SAS Enterprise Guide 서버 창에서 방금 정의한 서버를 클릭하고 메시지가 표시되면 유효한 사용자 이름과 비밀번호를 입력합니다. 연결에 성공하면 녹색 확인 표시가 나타나고 라이브러리 및 파일 탐색 목록을 확장 할 수 있습니다.
이 과정을 통해 성공했다면 축하합니다. 계속해서 문제가 발생하는 경우, 하단의 내용을 참고하시기 바랍니다.
연결할 수 없음-암호화
이러한 문제는 TLS 오류로 인한 것입니다.
기본적으로 Linux에서 SAS Viya 전체 배포와의 모든 통신은 암호화됩니다. 따라서 SAS Enterprise Guide를 Viya의 SAS 개체 생성기에 연결하려면 인증서를 구성하고 다룰 수 있습니다. 위의 대화 상자는 SAS Enterprise Guide가 연결을 시도 할 때 서버에서 제시하는 인증서에 서명하는 데 사용 된 루트 인증서에 대해 충돌합니다. 이 루트 인증서는 SAS Viya의 SAS Secrets Manager 서버에 의해 자체 생성되므로 거의 항상 SAS Enterprise Guide를 호스팅하는 Windows 클라이언트 컴퓨터에 알려지지 않았으며 신뢰할 수 없습니다.
올바른 인증서의 유무 확인 단계
암호화 된 통신을 올바르게 구성하려면 다음 단계가 필요합니다.
1.SAS 개체 생성기를 호스팅하는 Viya 컴퓨터에서 적절한 인증서가 포함된 파일 찾
2. Windows Trusted 인증서 저장소로 루트 인증서 가져 오기 (SAS Enterprise Guide에서 사용)
SAS Viya root CA 인증서 찾기
SAS Viya 서버가 사용하는 인증서에 서명하는 데 사용되는 CA 인증서는 SAS 개체 생성기 SAS Enterprise Guide가 연결을 시도한 컴퓨터의 /opt/sas/viya/config/etc/SASSecurityCertificateFramework/cacerts에 있습니다. 이 디렉토리에는 여러 파일이 존재합니다. vault-###-ca.crt라는 파일을 찾습니다.
cloud-user@intviya03 ~]$ ls -l /opt/sas/viya/config/etc/SASSecurityCertificateFramework/cacerts total 608 -rw-r--r--. 1 sas sas 1940 Jan 20 12:20 httpproxy-sasviya02-ca.crt -rw-r--r--. 1 sas sas 164539 Jan 20 12:20 trustedcerts.jks -rw-r--r--. 1 sas sas 177100 Jan 20 12:20 trustedcerts.p12 -rw-r--r--. 1 sas sas 263069 Jan 20 12:20 trustedcerts.pem -rw-r--r--. 1 sas sas 3456 Jan 20 12:19 vault-sasviya02-ca.crt |
이 파일을 Windows 클라이언트 시스템에 복사하시면 됩니다.
인증서를 분할하여 Windows Trusted Root Certification Authority로 가져 오기
Vault-###-ca.crt 파일에는 SAS Viya root CA 인증서와 중간단계의 CA 인증서 두 가지 인증서가 포함되어 있습니다. 다음은 축약된 예제 파일을 보여줍니다.
[cloud-user@intviya03 ~]$ cat /opt/sas/viya/config/etc/SASSecurityCertificateFramework/cacerts/vault-sasviya02-ca.crt -----BEGIN CERTIFICATE----- MIIFJzCCAw+gAwIBAgIUGv2hqQyshabrbJTwf4zspx8xdLIwDQYJKoZIhvcNAQEL BQAwGzEZMBcGA1UEAxMQU0FTIFZJWUEgUm9vdCBDQTAeFw0yMDAxMjAxNzE2MzRa Fw0zMDAxMTcxNzE3MDNaMBsxGTAXBgNVBAMTEFNBUyBWSVlBIFJvb3QgQ0EwggIi ..... p7VBZCGJDaei3e+9an69eRS9rOskgFLyHpE5 -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIEeDCCAmCgAwIBAgIUVyAf6FoJWD7h4yIYTXogFyEpXZQwDQYJKoZIhvcNAQEL BQAwGzEZMBcGA1UEAxMQU0FTIFZJWUEgUm9vdCBDQTAeFw0yMDAxMjAxNzE2MzRa Fw0yNzAxMTgxNzE3MDRaMCMxITAfBgNVBAMTGFNBUyBWSVlBIEludGVybWVkaWF0 ..... r6zQrd5NqY+FqiP9CpUAc+wMhXg/WYOyMQ5uhQW50lnNsdxev9PF/5eIgBw= -----END CERTIFICATE----- |
보시다시피 인증서는 ----- BEGIN CERTIFICATE ----- 및 ----- END CERTIFICATE ----- 태그로 표시됩니다. 별도의 파일로 분할해야 합니다. 텍스트 편집기를 사용하여 비어있는 새 파일을 만들고 첫 번째 태그인 ----- BEGIN CERTIFICATE -----의 모든 텍스트를 첫 번째 ----- END CERTIFICATE -----에 태글 포함하여 붙여 넣습니다. Windows 클라이언트 시스템의 임시 디렉토리에 SASViyaCARoot.crt라는 이름으로 파일을 저장합니다. 두 번째 파일로 프로세스를 반복하고 두 번째 태그 세트에 포함된 모든 행을 붙여넣고 SASViyaCAIntermediate.crt로 저장합니다.
인증서를 Windows CA 저장소로 가져 오는 자세한 단계는 SAS Viya 관리 가이드에 설명되어 있습니다. Microsoft Management Console의 인증서 Snap-In을 사용하는 인증서 가져 오기 단계를 안내합니다. 인증서를 사용하여 MMC 내에서 볼 수 있어야 합니다.
인증서 가져오기 후 SAS Enterprise Guide는 SAS Viya 인증서를 성공적으로 검증 할 수 있어야 하며 다른 문제가 발생하지 않는 한 연결할 수 있습니다.
연결할 수 없음-네트워킹
두 번째 종류의 연결 문제는 매우 특정한 상황에서 발생할 수 있습니다.
SAS Viya 3.5는 초기 배포 중에 IP 주소 서비스를 바인딩을 지정할 수 있는 기능과 함께 여러 네트워크 인터페이스 또는 여러 IP 주소가 있는 호스트에 대한 더 나은 지원을 시작했습니다. 구체적으로 내부 연결을 위한 주소, 호스트 이름, 인터페이스를 지정하고 외부 연결을 위한 다른 주소를 지정할 수 있습니다. 다음은 네트워크 구성 파일의 예입니다.
[cloud-user@intviya01 ~]$ cat ~/sas_viya_playbook/host_vars/sasviya03.yml --- network_conf: SAS_HOSTNAME: intviya03.race.sas.com SAS_BIND_ADDR: 192.168.1.3 SAS_EXTERNAL_HOSTNAME: sasviya03.race.sas.com SAS_EXTERNAL_BIND_ADDR_IF: "eth0" |
이 기능을 사용하여 외부 클라이언트에서 연결할 수 없는 IP 주소에 내부 연결을 바인딩하면 위와 같은 문제가 SAS Enterprise Guide에서 발생합니다. SAS 개체 생성기는 SAS Enterprise Guide가 연결할 수 없는 지정된 내부 주소 (위의 예에서는 192.168.1.3)에 바인딩하고 수신합니다.
이 경우 속성을 재정의하여 SAS 개체 생성자에게 외부 주소를 수신하도록 해야 합니다. 방법은 다음과 같습니다.
### Force the object spawner to communicate using the external network #setup the required environment variables - this function is sourced in spawner.sh sas_setup_external_network #add the hostknownby option if [ -n "${SAS_EXTERNAL_HOSTNAME}" ] ; then USERMODS="$USERMODS -hostknownby ${SAS_EXTERNAL_HOSTNAME}" fi #remove the dnsname option spawner_options="${spawner_options//-dnsname *[1-9]/}" |
sudo systemctl restart sas-viya-spawner-default |
위의 변경으로 SAS 객체 생성기는 사용 가능한 모든 인터페이스에 바인딩되므로 SAS Studio (Basic)는 변경 사항의 영향을 받지 않지만 지정된 외부 호스트 이름 및 인터페이스를 사용하여 SAS Enterprise Guide와의 연결을 관리합니다.
추가 정보
SAS Enterprise Guide는 SAS Viya 프로그래밍 환경이 여러 서버에 배포 된 경우에도 로드 밸런싱 또는 페일 오버 기능을 자동으로 활용할 수 없습니다. 수동 해결 방법으로 위의 단계를 여러 번 반복하여 각 개별 서버에 대한 연결을 정의하고 때에 따라 다른 서버로 수동으로 전환 할 수 있습니다.
지금까지 살펴본 것처럼 SAS Enterprise Guide와 SAS 개체 생성기 및 SAS Workspace 서버 간의 직접 연결은 SAS Viya REST API 또는 HTTPS 프로토콜을 활용하지 않습니다. TLS로 보호되는 기존 SAS 독점 IOM 프로토콜을 사용하고 있습니다. 따라서 해당 게시물의 기술을 사용하여 SAS 9 개체 생성기에 대한 직접 연결할 수 있습니다.
마지막으로, Kerberos 인증은 SAS Viya 개체 생성기에서 기본적으로 활성화되지 않습니다. SAS Enterprise Guide 8.2에서 직접 연결하기 위해 IWA를 사용하려면 추가 Kerberos 전제 조건 및 SAS 개체 생성기 구성이 필요합니다. 관련 사항은 다른 글에서 다루고 있으며, 해당 글은 @StuartRogers가 자세하게 안내하고 있습니다.
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!