AI 기능(공유 리소스)에 예산 사용하기
AI 기능(공유 리소스)에 예산 사용하기
공유 리소스(shared resource)는 둘 이상의 사업부나 팀이 사용하는 Snowflake 리소스를 말해요. AI 기능(AI Functions, Snowflake CoWork, Cortex Agents, Cortex Code, AI Gateway 등)이 공유 리소스의 예시예요. 이 리소스들을 예산에 추가하고, 선택된 사용자가 크레딧을 소비할 때에만 지출 한도에 집계되도록 예산을 구성할 수 있어요. 이를 통해 여러 팀이나 비용 센터 간 사용량을 추적·통제할 수 있어요.
출처: Snowflake 문서
본문
예를 들어 여러 팀이 같은 AI 함수를 사용한다고 가정해 보아요. 어느 사용자가 함수를 호출하는지에 따라 각 팀의 소비를 별도의 예산으로 추적할 수 있어요 — 엔지니어링 사용자용 예산 하나, 재무 사용자용 예산 하나처럼요.
공유 리소스별 소비 추적 워크플로
리소스를 사용하는 사용자를 기준으로 공유 리소스의 소비를 추적하는 것은 다음 워크플로로 구성돼요.
- 공유 리소스를 사용하는 사용자에게 태그-값 쌍을 적용
- 사용자에게 적용한 태그-값 쌍을 예산에 추가
- 공유 리소스를 예산에 추가
사용자에게 태그 적용
태그는 다른 객체에 적용할 수 있는 스키마 수준 객체예요. 객체에 태그를 적용할 때 태그를 값으로 설정해 태그-값 쌍을 만들 수 있어요.
각 사용자에게 같은 태그-값 쌍을 적용해 사용자를 비용 센터 같은 논리적 단위로 그룹화할 수 있어요. 공유 리소스 소비를 추적하는 첫 단계는 단위에 속한 모든 사용자에게 태그-값 쌍을 적용하는 거예요. 그런 다음 예산을 사용해 이 사용자들의 소비를 추적하면서, 다른 사용자의 같은 공유 리소스 소비는 무시할 수 있어요.
ALTER USER 명령을 사용해 사용자에게 태그를 적용해요. 조직 내 비용 센터를 식별하기 위해 cost_center 태그를 사용하고, 사용자 joe가 finance 비용 센터에 속한다고 가정해 봐요. 올바른 태그-값 쌍을 사용자에게 적용하려면 다음 명령을 실행해요.
ALTER USER joe SET TAG cost_management.tags.cost_center = 'FINANCE';
팁(Tip): 사용자 태그 지정을 자동화하려면 SCIM ID 공급자를 통해 사용자를 프로비저닝하고
snowflakeTags속성을 사용해 사용자가 생성·업데이트될 때 태그를 자동으로 적용할 수 있어요. 자세한 내용은 SCIM으로 사용자 태그 자동화를 참고해요. 공급자별 설정 단계는 다음을 참고해요.
사용자 태그를 예산에 추가
논리적 단위의 모든 사용자에 태그를 지정한 후에는 태그-값 쌍을 예산에 추가해 사용자별 소비를 추적할 수 있게 해야 해요. SET_USER_TAGS 메서드를 사용해 태그를 예산에 추가해요.
다음 예시에서는 공유 리소스가 크레딧을 소비할 때 finance_budget 예산이 cost_center = 'FINANCE' 태그-값 쌍을 가진 사용자의 소비만 추적해요.
CALL finance_budget!SET_USER_TAGS(
[
[(SELECT SYSTEM$REFERENCE('TAG', 'COST_MANAGEMENT.TAGS.COST_CENTER', 'SESSION', 'APPLYBUDGET')),
'FINANCE']
],
'UNION');
SET_USER_TAGS 메서드는 모든 사용자 태그를 한 번에 예산에 추가할 수 있게 해요. 또한 사용자가 사용자 태그 중 어느 하나(UNION)라도 태그되어 있으면 사용량을 포함하도록 구성하거나, 사용자가 사용자 태그 중 전부(INTERSECTION)에 태그되어 있을 때만 사용량을 포함하도록 구성할 수 있어요.
다음 예시에서 my_budget 예산은 cost_center = 'sales' 태그-값 조합과 project = 'phoenix' 태그-값 조합 둘 다에 태그된 사용자가 공유 리소스를 사용할 때 소비를 추적해요.
CALL budget_db.budget_schema.my_budget!SET_USER_TAGS(
[
[(SELECT SYSTEM$REFERENCE('TAG', 'cost_mgmt_db.tags.cost_center', 'SESSION', 'APPLYBUDGET')), 'SALES'],
[(SELECT SYSTEM$REFERENCE('TAG', 'cost_mgmt_db.tags.project', 'SESSION', 'APPLYBUDGET')), 'PHOENIX']
],
'INTERSECTION');
메서드 결과를 확인하려면 GET_BUDGET_SCOPE 메서드를 호출해요.
AI 기능(공유 리소스)을 예산에 추가
AI 기능을 사용하는 사용자를 구성한 후에는 이 기능 중 어떤 것이 예산에 의해 추적될지 지정해야 해요. ADD_SHARED_RESOURCE 메서드를 사용해 AI 기능을 예산에 추가해요.
지원되는 AI 기능 도메인은 다음과 같아요.
AI FUNCTION— 모델 추론 함수CORTEX CODE— Cortex Code 워크로드(CLI, Snowsight)CORTEX AGENT— Cortex 에이전트 기반 워크플로SNOWFLAKE INTELLIGENCE— Snowflake CoWork 워크로드AI GATEWAY— Cortex AI Gateway
Preview 기능 — 공개(Open)
모든 계정에서 사용할 수 있어요.
팁(Tip): SYSTEM$SHOW_BUDGET_SHARED_RESOURCE_CANDIDATES 함수를 사용해 예산에 공유 리소스로 추가할 수 있는 리소스 목록을 반환할 수 있어요.
예시: 모든 AI 함수를 예산에 추가
CALL finance_budget!ADD_SHARED_RESOURCE('AI FUNCTION');
예시: AI_CLASSIFY 함수를 예산에 추가
CALL finance_budget!ADD_SHARED_RESOURCE('AI FUNCTION', 'AI_CLASSIFY');
예시: 특정 Cortex Agent를 예산에 추가
CALL finance_budget!ADD_SHARED_RESOURCE(
'CORTEX AGENT',
(SELECT SYSTEM$REFERENCE('CORTEX AGENT', 'myagent'))
);
예시: 특정 Snowflake CoWork 리소스를 예산에 추가
CALL finance_budget!ADD_SHARED_RESOURCE(
'SNOWFLAKE INTELLIGENCE',
(SELECT SYSTEM$REFERENCE('SNOWFLAKE INTELLIGENCE', 'my_si'))
);
참고(Note): SNOWFLAKE INTELLIGENCE 도메인의 경우 계정당 Snowflake CoWork 객체가 하나뿐이므로 ADD_SHARED_RESOURCE에서 명시적 객체 참조를 지정하는 것은 선택 사항이에요.
AI Gateway 추가
Preview 기능 — 공개(Open)
모든 계정에서 사용할 수 있어요.
AI Gateway를 도메인으로 추가해요. 계정마다 SNOWFLAKE라는 단일 게이트웨이가 있으므로 도메인이 이를 포괄해요.
CALL finance_budget!ADD_SHARED_RESOURCE('AI GATEWAY');
Snowsight에서 AI 워크로드용 예산 만들기
Snowsight에서 안내형 사용자 인터페이스를 사용해 AI 워크로드용 예산을 직접 만들고 구성할 수 있어요.
참고(Note): AI 워크로드 같은 공유 리소스에는 태그를 사용해 예산 범위를 정의하는 것이 필요해요.
- Snowsight에 로그인해요.
- 내비게이션 메뉴에서 Admin » Cost management를 선택해요.
- Budgets 탭을 선택해요.
- 오른쪽 위의 + Budget을 선택해요.
- Basic Information 페이지에서 필수 필드를 작성해요.
- Budget scope 페이지에서 예산에 포함할 객체를 추가해요.
- AI 기능(공유 리소스)에 대한 예산을 설정하려면 Budgets Scope 페이지로 이동해 다음과 같이 업데이트해요.
Tags on users 섹션에서:
- 관련 태그(예: 비용 센터 또는 팀)를 검색하고 선택해요.
- 이렇게 하면 태그된 사용자의 활동 추적이 활성화되며, 공유 리소스 모니터링 시 필요해요.
- 모니터링할 AI 리소스를 선택해요.
Select resources to monitor 섹션에서 다음 중 하나 이상을 활성화해요.
- AI Functions
- Cortex Code
- Cortex Agents
- AI Gateway
Preview 기능 — 공개(Open)
모든 계정에서 사용할 수 있어요.
- Snowflake CoWork
- AI Functions를 구성해요.
- 기본적으로 모든 AI 함수가 선택되며, 향후 AI 함수도 자동으로 포함돼요.
- 특정 함수(예:
AI_CLASSIFY,AI_COMPLETE)를 선택적으로 고를 수도 있어요. 전체 목록은 Snowflake Cortex AI 함수(LLM 함수 포함)를 참고해요.
- Cortex Code를 구성해요.
- 기본적으로 향후 Cortex Code 인터페이스가 자동으로 포함돼요.
- 특정 인스턴스(예:
CLI,Snowsight)를 선택할 수도 있어요.
- Snowflake CoWork를 구성해요.
- 기본적으로 모든 Snowflake CoWork 워크로드가 자동으로 포함돼요.
- 특정 Snowflake CoWork를 선택할 수도 있어요.
- Cortex Agents를 구성해요.
- 기본적으로 모든 Cortex Agent가 자동으로 포함돼요.
- 특정 Cortex Agent를 선택할 수도 있어요.
- AI Gateway를 구성해요.
- 계정의 단일 게이트웨이인
SNOWFLAKE가 기본적으로 선택돼요. 선택할 것이 없어요.
- 계정의 단일 게이트웨이인
- 선택 사항을 검토해요.
- 올바른 리소스가 선택됐는지, 선택된 태그가 의도한 범위를 정확히 반영하는지 확인해요.
- 나머지 구성을 완료하고 Create를 클릭해요.
참고(Note):
- AI 워크로드는 공유 리소스로 추적되며 사용자 활동과 적용된 태그를 기준으로 귀속돼요.
- **All (auto)**를 선택하면 해당 도메인의 새 인스턴스가 사용 가능해질 때 자동으로 포함되도록 보장해요.
제한사항과 고려사항
- AI 함수의 경우 예산은 AI_SERVICES 서비스 유형을 추적해요.
관련 메서드
더 알아보기 (Learn more)
- 웨어하우스(공유 리소스)에 예산 사용하기 — 웨어하우스 공유 리소스
- 예산(Budgets) 개요 — 예산 기능 소개
- 예산 메서드 — 예산 클래스 메서드