Snowpark Container Services: 지침 및 제한 사항

  • 일반적인 제한 사항: 이러한 제한 사항으로 인해 문제가 발생하는 경우 계정 담당자에게 문의하십시오.

    • Snowflake 계정에서는 최대 200개의 서비스를 생성할 수 있습니다.

    • 각 서비스에는 최대 100개의 엔드포인트가 있을 수 있습니다(사양.엔드포인트 참조).

    • 각 서비스에는 최대 20개의 컨테이너가 있을 수 있습니다(사양.컨테이너 참조).

    • 각 서비스에는 최대 50개의 시크릿이 있을 수 있습니다(컨테이너.시크릿 참조).

    • 각 서비스에는 최대 20개의 볼륨이 있을 수 있습니다(사양.볼륨 참조).

    • 외부 액세스 통합(EAIs)을 사용하여 인터넷 액세스를 활성화(네트워크 송신 구성하기 참조)하면 다음과 같은 제한 사항이 적용됩니다.

      • 각 서비스는 최대 10개의 EAIs를 지원할 수 있습니다(CREATE SERVICEALTER SERVICE 참조).

      • 각 EAI는 최대 100개의 호스트 이름을 가질 수 있습니다.

    • 인터넷에서 공용 엔드포인트에 액세스할 때 사용자 이름/비밀번호 인증은 작동하지만 SSO 페이지가 빈 페이지로 표시되거나 “OAuth client integration with the given client ID is not found.” 오류가 발생할 수 있습니다. 이 문제를 해결하는 방법에 대한 자세한 내용은 수신 및 SSO 고려 사항 섹션을 참조하십시오.

  • 이미지 플랫폼 요구 사항: 현재 Snowpark Container Services에는 Linux/amd64 플랫폼 이미지가 필요합니다.

  • 서비스 컨테이너는 권한이 없음: 서비스 컨테이너는 권한이 있는 상태로 실행되지 않으므로 호스트의 하드웨어 구성을 변경할 수 없으며 제한된 OS 구성만 변경할 수 있습니다. 서비스 컨테이너는 일반 사용자(즉, 루트가 필요하지 않은 사용자)가 수행할 수 있는 운영 체제 구성만 수행할 수 있습니다.

  • 데이터베이스 및 스키마 이름 바꾸기:

    • 이미 서비스를 생성한 데이터베이스와 스키마의 이름은 바꾸지 마십시오. 이름을 바꾸면 지원되지 않는 다른 데이터베이스와 스키마로 사실상 서비스가 이동하게 됩니다. 예:

      • Snowflake가 실행 중인 서비스 컨테이너에 제공한 데이터베이스 및 스키마 정보는 계속해서 이전 이름을 참조합니다.

      • 서비스가 이벤트 테이블에서 수집하는 새 로그는 계속해서 이전 데이터베이스 및 스키마 이름을 참조합니다.

      • 서비스 함수는 이전 데이터베이스 및 스키마의 서비스를 계속 참조하므로 서비스 함수를 호출할 때 실패하게 됩니다.

    • 서비스 사양은 Snowflake 스테이지 및 이미지 리포지토리와 같은 오브젝트를 참조할 수 있습니다. 이러한 오브젝트가 있는 데이터베이스 또는 스키마 이름을 바꾸는 경우 서비스 사양에서 참조되는 오브젝트의 데이터베이스 및 스키마 이름을 수동으로 업데이트해야 합니다.

  • 상위 스키마 또는 데이터베이스의 소유권 이전:

    상위 데이터베이스/스키마의 소유권을 다른 역할로 이전할 수 있습니다. 그러나 서비스는 서비스 소유자 역할로 실행되고 변경되지 않으므로 데이터베이스/스키마 내부의 서비스 소유권은 새 역할로 이전되지 않습니다. 결과적으로 서비스는 동일한 스키마의 이미지 리포지토리 및 Snowflake 스테이지와 같은 스키마 내부의 오브젝트에 대한 권한을 잃을 수 있습니다.

    상위 항목 스키마/데이터베이스의 소유권 이전이 요구되는 경우 서비스를 다시 만들어 보십시오.

  • 데이터베이스와 스키마 삭제 및 삭제 취소:

    • 상위 데이터베이스 또는 스키마를 삭제하면 서비스가 비동기적으로 삭제됩니다. 이는 내부 프로세스가 서비스를 제거하기 전에 서비스가 일정 시간 동안 계속 실행될 수 있음을 의미합니다.

    • 이전에 삭제한 데이터베이스 또는 스키마를 삭제 취소하려고 시도하는 경우 서비스가 복원될 것이라는 보장은 없습니다.

  • 서비스 소유권 이전: 소유권 이전 또는 작업 서비스를 포함한 서비스에 대한 또는 향후 소유권 이전은 지원되지 않습니다.

  • 서비스 함수의 소유권 이전:

    서비스 함수의 소유권은 다른 역할로 이전될 수 있습니다. 새 소유자 역할에 서비스에 대한 USAGE 권한이 없으면 함수 호출이 실패합니다. 새 함수 소유자 역할에 대한 USAGE 권한을 부여해야 합니다.

  • 복제: Snowflake에서 복제를 처리할 때 다음 사항에 유의하십시오.

    • 서비스, 컴퓨팅 풀, 리포지토리와 같은 Snowpark Container Services 오브젝트는 복제할 수 없습니다.

    • 데이터베이스 내에 리포지토리를 생성하면 전체 데이터베이스를 복제할 수 없습니다. 데이터베이스에 서비스 또는 컴퓨팅 풀과 같은 다른 리소스가 포함되어 있는 경우 데이터베이스 복제 프로세스는 성공하지만 데이터베이스 내의 이러한 개별 오브젝트는 복제되지 않습니다.

  • 작업 서비스 시간 제한: 기본적으로 Snowpark Container Services 작업 서비스는 동기적으로 실행됩니다. 문 제한 시간이 초과되면 작업 서비스가 취소됩니다. 기본 문 제한 시간은 2일입니다. 고객은 STATEMENT_TIMEOUT_IN_SECONDS ALTER을 사용하여 매개 변수 SESSION를 설정하여 시간 제한을 변경할 수 있습니다.

    ALTER SESSION SET statement_timeout_in_seconds=<time>
    
    Copy

    EXECUTE JOB SERVICE 명령을 실행하기 전에 이를 설정해야 합니다. ``ASYNC=true``를 지정하여 작업 서비스를 비동기적으로 실행함으로써 문 시간 제한으로 인해 작업 서비스가 중단되지 않도록 할 수 있습니다.

  • Google Cloud에서 파일 스테이징 명령 지원: Google Cloud의 Snowflake 클라이언트 라이브러리에서 PUT, GET, LIST 또는 REMOVE 명령을 사용하려면 클라이언트를 다음 버전 이상으로 업데이트합니다.

    클라이언트

    버전

    Go Snowflake 드라이버

    1.14.1

    Python용 Snowflake 커넥터

    3.16.0

    .NET 드라이버

    4.6.0

    Node.js 드라이버

    2.1.3

    JDBC 드라이버

    3.25.1

    ODBC 드라이버

    3.10.0