10. 보안 고려 사항, 검증 및 테스트
Karthikeyan Nagalingam, NetApp
이 통합 섹션에서는 AI 파이프라인을 안전하게 운영하는 데 필요한 제어 기능과 대표적인 환경에서 설계가 예상대로 작동하는지 입증하는 데 사용되는 검증 활동을 다룹니다. 파이프라인에 사용된 것과 동일한 스토리지 계층 분리, 최소 권한 접근 모델, 체크포인트 로직 및 실행 범위 기반 계보 관리가 검증 계획 및 운영 가이드라인에도 적용됩니다.
[[10-1-security-considerations]]
== 10.1 보안 고려 사항
보안 제어는 감사에 필요한 데이터 계보를 유지하면서 각 스토리지 계층과 파이프라인 기능을 격리해야 합니다. StorageGRID 원시 데이터, ONTAP NAS 준비 데이터, 선택한 XCP 대상 및 StorageGRID 아카이빙에 대해 각각 별도의 최소 권한 자격 증명을 사용하십시오. 네트워크 트래픽을 암호화하고 모든 비밀 정보는 DAG 정의, 예제 및 셸 기록 외부에 저장하십시오.
| 영역 | 권장 사항 |
|---|---|
자격 증명 관리 |
Airflow 연결/변수 또는 시크릿 관리자를 사용하고, 본문 내 인라인 일반 텍스트를 사용하지 마십시오. |
데이터 전송 중 |
TLS가 활성화된 S3 엔드포인트를 사용하고, 지원되는 경우 암호화된 NFS/Lustre 전송을 사용합니다. |
액세스 제어 |
역할별 S3 자격 증명 범위(StorageGRID 원시 데이터, ONTAP NAS 준비 데이터, XCP 대상, StorageGRID 아카이빙)를 최소 필수 권한으로 제한합니다. |
설정 파일의 비밀 정보 |
테스트 중에 노출된 자격 증명을 교체하고, 트리거 스크립트/셸 기록은 민감한 정보로 취급하십시오. |
감사 추적 |
규정 준수 증거를 위해 데이터 준비 매니페스트, 체크포인트 레코드 및 아카이브 매니페스트를 활용하십시오. |
[[10-2-validation-and-testing]]
== 10.2 검증 및 테스트
검증을 통해 파이프라인의 구성 가능한 동작이 라우팅, 오류 처리, 데이터 이동성 및 다중 파일 검색 경로 전반에 걸쳐 안정적으로 작동함을 확인했습니다. 각 검증 테스트 영역은 실제 Airflow DAG 트리거를 사용하는 대표적인 환경에서 실행되었으며, 로그 출력과 스토리지 매니페스트의 정확성을 검증했습니다.
[[10-2-1-functional-routing-validation]]
=== 10.2.1 기능적 라우팅 유효성 검사
이 테스트 영역은 `enable_xcp=true`일 때 엔드투엔드 데이터 및 아티팩트 라우팅을 검증합니다.
-
목표: 데이터 준비, XCP 이동성, 모델 학습, 미세 조정 및 추론 과정에서 선택된 XCP 대상 (
s3또는lustrefs)가 일관되게 사용되는지 확인합니다. -
테스트 절차:
xcp_copy_destination="s3"및 `xcp_copy_destination="lustrefs"`로 DAG 실행을 트리거했습니다. XCom 출력, 유효 구성 로그 및 저장 위치를 검사했습니다. -
검증 결과:
-
data_prep`에서 형식화된 표 형식 분할 및 텍스트 파일이 `<xcp_prefix>/formatted/<run_stamp>/data/아래의 ONTAP NAS 준비 데이터 계층에 준비되었습니다. -
`xcp_copy`에서, 준비된 데이터 세트는 후속 모델 단계를 위해 선택된 XCP 대상으로 전송되었습니다.
-
model_training`에서 모델 입력은 XCP 대상에서 로드되었고 기준 아티팩트 (`regression_model.bin,text_vectorizer.bin,text_classifier.bin,train_metrics.json)는 `<xcp_prefix>/formatted/<run_stamp>/artifacts/`에 다시 게시되었습니다. -
fine_tuning`에서 기본 벡터화기/분류기 아티팩트는 XCP 대상에서 구체화되고, 점진적으로 조정되고, `text_classifier_tuned.bin및fine_tune_metrics.json(으)로 다시 게시되었습니다. -
본 연구에서는
inferencing, 조정된 텍스트 분류기와 기준 회귀 모델 및 벡터화기를 XCP 대상에서 구체화하여 예측값을 생성했습니다.
-
[[10-2-2-local-fallback-and-non-xcp-execution-validation]]
=== 10.2.2 로컬 폴백 및 비XCP 실행 유효성 검사
이 테스트 영역은 XCP 데이터 이동성이 비활성화된 경우 파이프라인 동작을 검증합니다(enable_xcp=false).
-
목표: SSH 연결, 원격 XCP 호스트 또는 XCP 자격 증명 프로필 없이 직접 로컬 준비 데이터 경로를 사용하여 파이프라인이 원활하게 작동하는지 확인합니다.
-
테스트 절차:
enable_xcp=false및 기본 S3/로컬 경로를 사용하여 파이프라인 실행을 트리거했습니다. -
검증 결과:
-
XCP 사전 검사 및 복사 작업이 안전하게 건너뛰었습니다.
-
model_training,fine_tuning, 및 `inferencing`은(는) 로컬에 준비된 데이터 디렉터리와 게시된 아티팩트에서 직접 읽습니다. -
XCP를 비활성화했을 때 XCP S3 자격 증명 확인 오류나 SSH 사전 요청 오류가 발생하지 않음을 확인했습니다.
-
[[10-2-3-performance-and-tier-comparison-ontap-s3-vs-lustrefs]]
=== 10.2.3 성능 및 계층 비교 (ONTAP S3 vs. LustreFS)
이 테스트 영역은 ONTAP S3 오브젝트 스토리지와 LustreFS 병렬 파일 시스템 계층 간의 I/O 지연 시간, 검색 오버헤드 및 학습 처리량을 평가합니다.
-
목표: LustreFS를 사용하는 E-Series와 ONTAP S3 활성 학습 계층을 사용하는 ONTAP AFF/AFX의 성능 특성을 정량화합니다.
-
테스트 절차: 동일한 데이터셋 크기(14,400+ 행, 다중 파일 텍스트/테이블 형식 입력)에서 파일 검색 시간, 학습 데이터셋 로드 지연 시간 및 아티팩트 게시/구체화 기간을 측정했습니다.
-
검증 결과:
-
LustreFS 티어: 모델 학습 중 파일 검색 오버헤드가 낮고 임의 액세스 읽기 지연 시간이 더 빠른 것으로 입증되어 파일 수가 많고 GPU 집약적인 병렬 학습 워크로드에 이상적입니다.
-
ONTAP S3 Tier: 간편한 멀티 프로토콜 관리로 높은 처리량을 제공하여 클라이언트 측 파일 시스템 마운트 없이도 비용 효율적이고 탄력적인 액세스가 가능한 액티브 스토리지에 최적입니다.
-
[[10-2-4-failure-recovery-and-training-checkpoint-validation]]
=== 10.2.4 장애 복구 및 훈련 체크포인트 검증
이 테스트 영역은 `model_training`로 범위가 지정된 체크포인트 재개 시스템의 유효성을 검증합니다.
-
목표: 파이프라인 복구가 이전에 성공적으로 완료된 학습 실행을 정확하게 감지하고 아티팩트 무결성을 유지하면서 중복 계산을 건너뛰는지 확인합니다.
-
테스트 절차:
-
`checkpoint_enabled=true`와 `checkpoint_store="formatted_s3"`를 사용하여 파이프라인을 실행했습니다.
-
시뮬레이션된 작업 실패 또는 재실행( `training_checkpoint_reuse_mode="resume_if_exists"`포함).
-
테스트
verify_only및off재사용 모드.
-
-
검증 결과:
-
`resume_if_exists`가 설정되고 유효한 체크포인트 JSON + 모든 핵심 아티팩트가 S3/LustreFS에 존재하면, `model_training`는 결정 `RESUMED_FROM_CHECKPOINT`과 함께 즉시 종료되고 `[checkpoint] resume_summary: decision=RESUMED_FROM_CHECKPOINT`를 기록합니다.
-
다운스트림
fine_tuning및inferencing검증된 체크포인트 아티팩트를 성공적으로 구체화했습니다. -
`verify_only`이(가) 설정되면, 가드는 학습을 건너뛰지 않고 아티팩트의 존재 여부를 검증했습니다.
-
[[10-2-5-scalability-and-multi-file-dataset-validation]]
=== 10.2.5 확장성 및 다중 파일 데이터셋 유효성 검사
이 테스트 영역은 대규모의 다중 파일로 구성된 표 형식 및 텍스트 데이터 세트 전반에 걸쳐 파이프라인의 확장성을 검증합니다.
-
목표: 자동 데이터셋 검색, Spark 변환 엔진 실행 및 Lakehouse 테이블 형식 지원 (
delta및iceberg)을 확인합니다. -
테스트 절차:
-
StorageGRID 원시 데이터 접두사 아래에 있는 수십 개의 CSV/Parquet 파일에 대한 데이터 수집 및 준비 작업을 수행했습니다(
s3_raw_prefix). -
명시적 파일 선택 방식(
s3_tabular_object_keys) 대 자동 전체 파일 검색 방식((sample_count=0)을 테스트했습니다. -
PySpark을 사용하여
table_format="delta"및 `table_format="iceberg"`로 준비를 실행했습니다.
-
-
검증 결과:
-
Spark 분산 준비 기능을 사용하여 대규모 다중 파트 테이블형 데이터 세트를 성공적으로 수집, 필터링, 분할 및 포맷했습니다.
-
자동 검색 기능은 비테이블 형식의 아티팩트를 무시하면서 모든 유효한 테이블 형식 CSV/Parquet 오브젝트를 정확하게 식별했습니다.
-
Delta Lake와 Iceberg 테이블 형식 모두 올바르게 생성되어 `tables/`에 등록되었으며, 다운스트림 모델 훈련에서 형식화된 분할을 검색하고 읽었습니다.
-
[[10-2-6-example-customer-evaluation-workflow-sizing-assumptions-and-validation-metrics]]
=== 10.2.6 고객 평가 워크플로 예시, 규모 산정 가정 및 검증 지표
이 워크플로는 고객이 설계가 AI 파이프라인 성숙도, 데이터 주권 요구 사항 및 성능 목표에 적합한지 평가하는 데 도움이 됩니다. 대표 데이터 세트와 파이프라인 실행 1회로 시작하여 각 승인 기준이 충족된 후에만 데이터 볼륨, 파일 수, 모델 복잡성 및 동시 실행 횟수를 늘립니다. ONTAP S3와 LustreFS 간의 비교에서 동일한 입력 데이터와 구성을 사용할 수 있도록 `run_stamp`별로 결과를 기록합니다.
| 평가 단계 | 워크플로우 예시 | 규모 산정 가정/결정 | 검증 지표 및 수용 증거 |
|---|---|---|---|
1. 기준선 설정 |
제한된 샘플에서 Python 준비 경로를 |
섹션 7.1.1의 참조 검증 환경을 초기 기능 기준선으로 사용하십시오. |
DAG 완료 성공 여부; 입력 행 및 출력 분할 횟수; 모델 지표; 작업 시간; CPU, 메모리 및 로컬 디스크 사용률. |
2. 데이터 주권 검증 |
원시 데이터, 준비된 데이터, 활성 학습 데이터 및 아카이브는 승인된 스토리지 엔드포인트 및 지역에 보관하십시오. 계층별 자격 증명 및 보존 정책을 검토하십시오. |
데이터를 이동하기 전에 허용된 위치, 액세스 역할, 암호화 요구 사항 및 보존 정책을 정의하십시오. |
엔드포인트, 버킷, 접두사 및 리전이 유효한 구성 및 매니페스트에 기록됩니다. 최소 권한 액세스 검증이 이루어지며, 아카이브 및 삭제 정책에 대한 증거가 제공됩니다. |
3. 데이터 이동성 검증 |
XCP를 활성화하고 준비된 실행 결과를 ONTAP S3에 복사한 다음, LustreFS에도 동일한 작업을 반복합니다. |
준비된 실행, 아티팩트, 작업 공간 및 동시 실행을 위해 10 GbE 연결과 충분한 대상 용량을 확보하십시오. |
XCP 완료 상태; 복사된 바이트 및 파일 수; 복사 시간 및 처리량; 소스/대상 파일 수 및 체크섬 또는 매니페스트 비교; 사전 검사 성공 여부. |
4. 훈련 단계 적합성 검증 |
선택한 각 목적지에 대해 동일한 데이터 세트와 모델 설정을 사용하여 학습, 미세 조정 및 추론을 수행합니다. |
객체 기반 워크플로우에는 ONTAP S3를 사용하고, 병렬 학습 I/O 또는 높은 파일 수가 정당화되는 경우에는 LustreFS와 함께 E-Series를 사용하십시오. |
데이터셋 검색 및 로드 시간; 학습, 미세 조정 및 추론 시간; 아티팩트 게시/실현 시간; 해당되는 경우 CPU/GPU 사용률; 모델 품질 일관성. |
5. 규모 및 복구 검증 |
모든 행으로 `sample_count`확장하고, 파일 수와 동시 실행 횟수를 늘린 다음, 체크포인트 재사용 및 아카이빙을 테스트하십시오. |
유지되는 실행 범위 데이터 세트 및 아티팩트의 크기 용량과 향후 성장을 위한 여유 공간, Spark 및 동시 Airflow 작업에 필요한 CPU 및 메모리 크기를 산정합니다. |
전체 소요 시간; 성공률; 대기 시간; 체크포인트 재개 결정 및 소요 시간; 아카이브 완전성; 실행당 저장 공간 증가량; 복구 시간 목표(RTO) 달성률. |
평가를 시작하기 전에 고객은 엔드투엔드 실행 시간, XCP 처리량, 학습 데이터 로드 시간, 최대 동시 실행 수, 복구 시간 및 스토리지 보존 기간에 대한 정량적 목표를 설정해야 합니다. 측정된 기준선과 각 확장 테스트를 이러한 목표와 비교하여 아키텍처가 의도된 워크로드 및 운영 요구 사항을 충족하는지 확인해야 합니다.