이 섹션의 다중 페이지 출력 화면임. 여기를 클릭하여 프린트.
Data Flow
- 1: Overview
- 2: How-to guides
- 3: API Reference
- 4: CLI Reference
- 5: Release Note
1 - Overview
서비스 개요
Data Flow는 다양한 데이터 소스로부터 대용량의 데이터를 추출하고, 스트림/배치 데이터의 변환/전송에 대한 처리 흐름을 시각적으로 작성하는 데이터 처리 흐름 도구로, 오픈소스 Apache NiFi를 제공합니다. Data Flow는 Samsung Cloud Platform의 Kubernetes Engine 클러스터 환경에서 단독으로 사용하거나, 다른 애플리케이션 SW와 함께 사용할 수 있습니다.
제공 기능
Data Flow는 다음과 같은 기능을 제공하고 있습니다.
- 편리한 설치 및 관리: Data Flow는 표준 Kubernetes 클러스터 환경에서 웹 기반 Samsung Cloud Platform Console을 통해 손쉽게 설치가 가능합니다. 오픈소스 Apache NiFi 기반의 확장형 클러스터링에 필요한 아키텍처를 자동으로 구성하여, ZooKeeper, Registry 및 관리 모듈이 자동 설치됩니다. Data Flow를 통해 서비스 연결에 필요한 설정 파일, NiFi 템플릿 등을 설정/배포할 수 있습니다.
- 손쉬운 데이터 흐름 관리: 스트림/배치 데이터의 처리 흐름을 사용자 환경에 맞게 GUI 기반으로 쉽게 작성할 수 있으며, GUI 기반의 데이터 처리 흐름 작성으로 시스템 간 데이터를 효율적으로 추출/전송/처리할 수 있습니다.
- NiFi 템플릿 갤러리: 레퍼런스 NiFi 템플릿을 공유/배포할 수 있습니다. Data Flow는 현업에서 자주 사용하는 데이터 처리 흐름에 대한 작업 파일을 갤러리로 제공하며, 사용자는 자신이 작성한 데이터 처리 흐름 작업을 공유할 수 있습니다.
구성 요소
Data Flow는 Manager와 Service 모듈로 구성되며, Apache NiFi를 패키징하여 제공합니다.
Data Flow Manager
Data Flow Manager는 NiFi를 더 효율적으로 활용할 수 있도록 다양한 Managing 기능을 제공합니다.
- Data Flow Manager를 통해 고객이 생성한 Nar File을 업로드하여 Processor에서 사용하고, 설정 파일들을 업로드하여 공유할 수 있습니다.
- NiFi Template 중에 사용 빈도가 높은 Template을 자산화하여 Gallery로 제공하며, 클릭 한 번으로 바로 사용 가능합니다.
- Native NiFi Service를 위해 구성된 여러 Service에 대한 실시간 모니터링 및 자원 현황 모니터링을 제공합니다.
- 클러스터 내의 NiFi 구성 컴포넌트에 대한 설정 정보를 손쉽게 프로비저닝할 수 있습니다.
Data Flow Service
- Apache NiFi 기반의 데이터 플로우 관리 서비스를 제공합니다.
- Apache NiFi 기반의 확장형 클러스터링에 필요한 아키텍처를 자동으로 구성하며, Nifi, ZooKeeper, Nifi Registry 모듈이 자동 설치됩니다.
- Nifi 제공시 Description, 필요한 자원 규모, 접속 ID/PW, Host Alias를 설정할 수 있습니다.
- 서비스 생성 이후 Description, 필요한 자원규모, 접속 password, Host Alias 등을 수정하여 서비스에 반영할 수 있습니다.
서버 스펙 유형
Data Flow 서비스 생성시 다음 내용을 확인하세요.
- 서비스 설치 권장 사양: CPU 21 core, Memory 57 GB, 스토리지 100 GB 이상
- Data Flow 서비스를 생성하기 전에 Ingress Controller 설치가 필요합니다.
- Kubernetes 클러스터에는 1개의 Ingress Controller만 설치할 수 있습니다.
- 자세한 내용은 Ingress Controller 설치하기를 참고하세요.
리전별 제공 현황
Data Flow는 아래의 환경에서 제공 가능합니다.
| 리전 | 제공 여부 |
|---|---|
| 한국 서부(kr-west1) | 제공 |
| 한국 동부(kr-east1) | 제공 |
| 한국 남부1(kr-south1) | 미제공 |
| 한국 남부2(kr-south2) | 미제공 |
| 한국 남부3(kr-south3) | 미제공 |
선행 서비스
해당 서비스를 생성하기 전에 미리 구성되어 있어야 하는 서비스 목록입니다. 자세한 내용은 각 서비스 별로 제공되는 가이드를 참고하여 사전에 준비해 주세요.
| 서비스 카테고리 | 서비스 | 상세 설명 |
|---|---|---|
| Storage | File Storage | 네트워크 연결을 통하여 다수의 클라이언트 서버가 파일을 공유하는 스토리지 |
| Container | Kubernetes Engine | Kubernetes 컨테이너 오케스트레이션 서비스 |
2 - How-to guides
사용자는 Samsung Cloud Platform Console을 통해 Data Flow의 필수 정보를 입력하고, 상세 옵션을 선택하여 해당 서비스를 생성할 수 있습니다.
Data Flow 생성하기
Samsung Cloud Platform Console에서 Data Flow 서비스를 생성하여 사용할 수 있습니다.
Data Flow를 생성하려면 다음 절차를 따르세요.
모든 서비스 > Data Analytics > Data Flow 메뉴를 클릭하세요. Data Flow의 Service Home 페이지로 이동합니다.
Service Home 페이지에서 Data Flow 생성 버튼을 클릭하세요. Data Flow 생성 페이지로 이동합니다.
Data Flow 생성 페이지에서 서비스 생성에 필요한 정보들을 입력하고, 상세 옵션을 선택하세요.
- 버전 선택 영역에서 필요한 정보를 선택하세요.
구분 필수 여부상세 설명 Data Flow 버전 필수 선택한 이미지의 버전 선택 - 제공하는 서버 이미지의 버전 리스트 제공
표. Data Flow 버전 선택 항목 - 클러스터 선택 영역에서 필요한 정보를 입력 또는 선택하세요. Data Flow 설치를 위해서는 Kubernetes 클러스터 및 작업 환경을 위한 노드 생성이 먼저 필요합니다.
구분 필수 여부상세 설명 클러스터명 필수 사용할 클러스터 선택 Ingress Controller 필수 클러스터에 설치된 Ingress Controller 선택 - 설치된 Ingress Controller의 상세 정보 탭에서 ConfigMap 항목에 다음의 정보를 추가하세요.
- Key: allow-snippet-annotations
- Value: true
표. Data Flow 클러스터 선택 항목 - 설치된 Ingress Controller의 상세 정보 탭에서 ConfigMap 항목에 다음의 정보를 추가하세요.
- 서비스 정보 입력 영역에서 필요한 정보를 입력 또는 선택하세요.
구분 필수 여부상세 설명 Data Flow명 필수 Data Flow 이름 입력 - 영문 소문자로 시작하며 특수문자(
-)로 끝나지 않도록, 영문 소문자, 숫자와 특수문자(-)를 사용하여 3 ~ 30자로 입력
스토리지 클래스 필수 선택한 클러스터가 사용하는 스토리지 클래스 선택 설명 선택 Data Flow에 대한 추가 정보나 설명을 150자 이내로 입력 도메인 설정 필수 Data Flow 도메인 입력 - 영문 소문자로 시작하며 특수문자(
-)로 끝나지 않도록, 소문자, 숫자와 특수문자(-)를 사용하여 3 ~ 50자로 입력
- {Data Flow명}.{설정한 도메인}이 Data Flow 접속 주소가 됩니다.
Node Selector 필수 특정 노드에 설치하려면 해당 노드의 Label 중 구별할 수 있는 Label을 입력 - 노드 Label을 잘못 입력하면 설치 에러가 발생할 수 있으니 노드 Label을 미리 확인
- 노드 Label은 해당 노드의 yaml 파일에서 확인
계정 필수 Data Flow Manager 계정 입력 - 아이디: 영문 소문자로 시작하며 소문자와 숫자를 사용하여 6 ~ 30 사이의 값 입력
- 비밀번호: 대문자(영문), 소문자(영문), 숫자와 특수문자(
!@#$%^&*)를 포함하여 8~50자로 입력
- 비밀번호 확인: 비밀번호를 동일하게 한 번 더 입력
Host Alias 선택 Data Flow와 연결될 호스트 정보 추가 (기본 포함 총 20개 생성 가능) - 사용을 선택한 후, + 버튼 클릭
- Hostname: 호스트명 또는 도메일 형식으로, 소문자, 숫자와 특수문자(
-)를 사용하여3~63자로 입력
- IP: IP 형식으로 입력
- 삭제하려면 X 버튼 클릭
- 클러스터와 해당 서버와의 방화벽이 오픈되어 있어야 추가한 호스트 정보 사용 가능
표. Data Flow 서비스 정보 입력 항목 - 영문 소문자로 시작하며 특수문자(
- 추가 정보 입력 영역에서 필요한 정보를 입력 또는 선택하세요.
구분 필수 여부상세 설명 태그 선택 태그 추가 - 태그 추가 버튼을 클릭하여 태그를 생성하여 추가하거나 기존 태그 추가 가능
- 최대 50개까지 태그 추가 가능
- 추가된 신규 태그는 서비스 생성 완료 후 적용
표. Data Flow 추가 정보 입력 항목
- 버전 선택 영역에서 필요한 정보를 선택하세요.
요약 패널에서 생성한 상세 정보와 예상 청구 금액을 확인하고, 완료 버튼을 클릭하세요.
- 생성이 완료되면, Data Flow 목록 페이지에서 생성한 자원을 확인하세요.
Data Flow 상세 정보 확인하기
Data Flow의 전체 자원 목록과 상세 정보를 확인하고 수정할 수 있습니다. Data Flow 상세 페이지에서는 상세 정보, 태그, 작업 이력 탭으로 구성됩니다.
Data Flow의 상세 정보를 확인하려면 다음 절차를 따르세요.
- 모든 서비스 > Data Analytics > Data Flow 메뉴를 클릭하세요. Data Flow의 Service Home 페이지로 이동합니다.
- Service Home 페이지에서 Data Flow 메뉴를 클릭하세요. Data Flow 목록 페이지로 이동합니다.
- Data Flow 목록 페이지에서 상세 정보를 확인할 자원을 클릭하세요. Data Flow 상세 페이지로 이동합니다.
- Data Flow 상세 페이지 상단에는 상태 정보 및 부가 기능에 대한 정보가 표시됩니다.
구분 상세 설명 상태 표시 Data Flow 상태 - Creating: 생성 중
- Running: 작동 중, Data Flow Services 생성 가능 상태
- Updating: 설정 업데이트 중
- Terminating: 서비스 해지 중
- Error: 생성 중 오류 발생 또는 서비스 이상 상태
Hosts 파일 셋팅 정보 Data Flow에 접속하기 위한 호스트 파일 정보를 확인하고 복사하는 버튼 서비스 해지 서비스를 해지하는 버튼 표. Data Flow 상태 정보 및 부가 기능
- Data Flow 상세 페이지 상단에는 상태 정보 및 부가 기능에 대한 정보가 표시됩니다.
상세 정보
Data Flow 목록 페이지에서 선택한 자원의 상세 정보를 확인하고, 필요한 경우 정보를 수정할 수 있습니다.
| 구분 | 상세 설명 |
|---|---|
| 서비스 | 서비스명 |
| 자원 유형 | 자원 유형 |
| SRN | Samsung Cloud Platform에서의 고유 자원 ID
|
| 자원명 | 자원 이름
|
| 자원 ID | 서비스에서의 고유 자원 ID |
| 생성자 | 서비스를 생성한 사용자 |
| 생성 일시 | 서비스를 생성한 일시 |
| 수정자 | 서비스 정보를 수정한 사용자 |
| 수정 일시 | 서비스 정보를 수정한 일시 |
| 클러스터명 | 서버들이 구성된 클러스터 이름 |
| 스토리지 클래스 | 선택한 클러스터가 사용하는 스토리지 클래스 |
| 설명 | Data Flow에 대한 추가 정보나 설명 |
| 도메인 설정 | Data Flow 도메인 이름 |
| Node Selector | 노드 Lable |
| Web Url | Data Flow URL |
| 계정 | Data Flow Manager 계정 |
| Host Alias | Data Flow와 연결될 호스트 정보 |
태그
Data Flow 목록 페이지에서 선택한 자원의 태그 정보를 확인하고, 추가하거나 변경 또는 삭제할 수 있습니다.
| 구분 | 상세 설명 |
|---|---|
| 태그 목록 | 태그 목록
|
작업 이력
Data Flow 목록 페이지에서 선택한 자원의 작업 이력을 확인할 수 있습니다.
| 구분 | 상세 설명 |
|---|---|
| 작업 이력 목록 | 자원 변경 이력
|
Data Flow 해지하기
사용하지 않는 Data Flow를 해지해 운영 비용을 절감할 수 있습니다. 단, 서비스를 해지하면 운영 중인 서비스가 즉시 중단될 수 있으므로 서비스 중단 시 발생하는 영향을 충분히 고려한 후 해지 작업을 진행해야 합니다.
Data Flow를 해지하려면 다음 절차를 따르세요.
- 모든 서비스 > Data Analytics > Data Flow 메뉴를 클릭하세요. Data Flow의 Service Home 페이지로 이동합니다.
- Service Home 페이지에서 Data Flow 메뉴를 클릭하세요. Data Flow 목록 페이지로 이동합니다.
- Data Flow 목록 페이지에서 해지할 자원을 선택하고, 서비스 해지 버튼을 클릭하세요.
- 해지가 완료되면, Data Flow 목록 페이지에서 자원이 해지되었는지 확인하세요.
- Data Flow 해지는 연결된 Data Flow Services를 먼저 삭제해야 해지할 수 있습니다.
- Data Flow를 해지할 경우, 생성된 네임스페이스도 같이 삭제됩니다.
2.1 - Data Flow Services
사용자는 Samsung Cloud Platform Console을 통해 Data Flow 서비스 내 Data Flow Services의 필수 정보를 입력하고, 상세 옵션을 선택하여 해당 서비스를 생성할 수 있습니다.
Data Flow Services 생성하기
사용자는 Data Flow의 서비스 상세 옵션을 선택하거나 설정값을 입력하여 서비스를 추가할 수 있습니다.
Data Flow Services를 생성하려면 다음 절차를 따르세요.
모든 서비스 > Data Analytics > Data Flow 메뉴를 클릭하세요. Data Flow Service Home 페이지로 이동합니다.
Service Home 페이지에서 Data Flow Servies를 클릭하세요. Data Flow Services 목록 페이지로 이동합니다.
Data Flow Services 목록 페이지에서 Data Flow Services 생성 버튼을 클릭하세요. Data Flow Services 생성 페이지로 이동합니다.
Data Flow Services 생성 페이지에서 서비스 생성에 필요한 정보들을 입력하고, 상세 옵션을 선택하세요.
- 서비스 정보 입력 영역에서 필요한 정보를 입력 또는 선택하세요.
구분 필수 여부상세 설명 Data Flow명 필수 Data Flow 선택 Flow Service명 필수 Data Flow Services 이름 입력 - 영문 소문자로 시작하며 특수문자(
-)로 끝나지 않도록, 소문자, 숫자와 특수문자(-)를 사용하여 3 ~ 30자로 입력
스토리지 클래스 필수 선택한 클러스터가 사용하는 스토리지 클래스 선택 설명 선택 Data Flow Services에 대한 추가 정보나 설명을 150자 이내로 입력 도메인 설정 필수 Data Flow Services 도메인 입력 - 영문 소문자로 시작하며 특수문자(
-)로 끝나지 않도록, 소문자, 숫자와 특수문자(-)를 사용하여 3 ~ 50자로 입력
- {Data Flow Services명}.{설정한 도메인}이 Data Flow Services 접속 주소가 됩니다.
Node Selector 필수 특정 노드에 설치하려면 해당 노드의 Label 중 구별할 수 있는 Label을 입력 - 노드 Label을 잘못 입력하면 설치 에러가 발생할 수 있으니 노드 Label을 미리 확인
- 노드 Label은 해당 노드의 yaml 파일에서 확인
Service Workload 필수 - Nifi: Apache Nifi의 서비스와 UI를 제공하는 모듈
- Nifi Registry: Nifi의 템플릿을 설정하고 배포하는 모듈
- Zookeeper: 다수의 노드에서 Nifi 분산 처리가 잘 수행되도록 지원하는 모듈
계정 필수 Nifi 계정 입력 - 아이디: 영문 소문자로 시작하며 소문자와 숫자를 사용하여 6 ~ 30 사이의 값 입력
- 비밀번호: 대문자(영문), 소문자(영문), 숫자와 특수문자(
!@#$%^&*)를 포함하여 8 ~ 50자로 입력
- 비밀번호 확인: 비밀번호를 동일하게 한 번 더 입력
표. Data Flow Services 서비스 정보 입력 항목 - 영문 소문자로 시작하며 특수문자(
- 추가 정보 입력 영역에서 필요한 정보를 입력 또는 선택하세요.
구분 필수 여부상세 설명 Host Alias 선택 Data Flow와 연결될 호스트 정보 추가 (기본 포함 총 20개 생성 가능) - 사용을 선택한 후, + 버튼 클릭
- Hostname: 호스트명 또는 도메일 형식으로, 소문자, 숫자와 특수문자(
-)를 사용하여 3 ~ 63자로 입력
- IP: IP 형식으로 입력
- 삭제하려면 X 버튼 클릭
- 클러스터와 해당 서버와의 방화벽이 오픈되어 있어야 추가한 호스트 정보 사용 가능
태그 선택 태그 추가 - 태그 추가 버튼을 클릭하여 태그를 생성하여 추가하거나 기존 태그 추가 가능
- 최대 50개까지 태그 추가 가능
- 추가된 신규 태그는 서비스 생성 완료 후 적용
표. Data Flow 추가 정보 입력 항목
- 서비스 정보 입력 영역에서 필요한 정보를 입력 또는 선택하세요.
요약 패널에서 생성한 상세 정보와 예상 청구 금액을 확인하고, 완료 버튼을 클릭하세요.
- 생성이 완료되면, Data Flow Services 목록 페이지에서 생성한 자원을 확인하세요.
Data Flow Services 상세 정보 확인하기
Data Flow Services의 전체 자원 목록과 상세 정보를 확인하고 수정할 수 있습니다. Data Flow Services 상세 페이지에서는 상세 정보, 태그, 작업 이력 탭으로 구성됩니다.
Data Flow Services의 상세 정보를 확인하려면 다음 절차를 따르세요.
- 모든 서비스 > Data Analytics > Data Flow 메뉴를 클릭하세요. Data Flow의 Service Home 페이지로 이동합니다.
- Service Home 페이지에서 Data Flow Services 메뉴를 클릭하세요. Data Flow Services 목록 페이지로 이동합니다.
- Data Flow Services 목록 페이지에서 상세 정보를 확인할 자원을 클릭하세요. Data Flow Services 상세 페이지로 이동합니다.
- Data Flow Services 상세 페이지 상단에는 상태 정보 및 부가 기능에 대한 정보가 표시됩니다.
구분 상세 설명 상태 표시 Data Flow Services 상태 - Creating: 생성 중
- Running: 작동 중
- Updating: 설정 업데이트 중
- Terminating: 서비스 해지 중
- Error: 생성 실패 또는 서비스 사용 불가
Hosts 파일 셋팅 정보 Data Flow Services에 접속하기 위한 호스트 파일 정보를 확인하고 복사하는 버튼 Data Flow Services 삭제 서비스를 해지하는 버튼 표. Data Flow Services 상태 정보 및 부가 기능
- Data Flow Services 상세 페이지 상단에는 상태 정보 및 부가 기능에 대한 정보가 표시됩니다.
상세 정보
Data Flow Services 목록 페이지에서 선택한 자원의 상세 정보를 확인하고, 필요한 경우 정보를 수정할 수 있습니다.
| 구분 | 상세 설명 |
|---|---|
| 서비스 | 서비스명 |
| 자원 유형 | 자원 유형 |
| SRN | Samsung Cloud Platform에서의 고유 자원 ID
|
| 자원명 | 자원 이름
|
| 자원 ID | 서비스에서의 고유 자원 ID |
| 생성자 | 서비스를 생성한 사용자 |
| 생성 일시 | 서비스를 생성한 일시 |
| 수정자 | 서비스 정보를 수정한 사용자 |
| 수정 일시 | 서비스 정보를 수정한 일시 |
| Data Flow명 | Data Flow 이름 |
| 스토리지 클래스 | 선택한 클러스터가 사용하는 스토리지 클래스 |
| 설명 | Data Flow Services에 대한 추가 정보나 설명 |
| 도메인 설정 | Data Flow Services 도메인 이름 |
| Node Selector | 노드 Lable |
| Web Url | Data Flow Services URL |
| 계정 | Airflow 계정 |
| Host Alias | Data Flow Services와 연결될 호스트 정보 |
태그
Data Flow Services 목록 페이지에서 선택한 자원의 태그 정보를 확인하고, 추가하거나 변경 또는 삭제할 수 있습니다.
| 구분 | 상세 설명 |
|---|---|
| 태그 목록 | 태그 목록
|
작업 이력
Data Flow Services 목록 페이지에서 선택한 자원의 작업 이력을 확인할 수 있습니다.
| 구분 | 상세 설명 |
|---|---|
| 작업 이력 목록 | 자원 변경 이력
|
Data Flow Services 해지하기
사용하지 않는 Data Flow Services를 해지해 운영 비용을 절감할 수 있습니다. 단, 서비스를 해지하면 운영 중인 서비스가 즉시 중단될 수 있으므로 서비스 중단 시 발생하는 영향을 충분히 고려한 후 해지 작업을 진행해야 합니다.
Data Flow 또는 Data Flow Services를 해지하려면 다음 절차를 따르세요.
- 모든 서비스 > Data Analytics > Data Flow 메뉴를 클릭하세요. Data Flow의 Service Home 페이지로 이동합니다.
- Service Home 페이지에서 Data Flow Services 메뉴를 클릭하세요. Data Flow Services 목록 페이지로 이동합니다.
- Data Flow Services 목록 페이지에서 해지할 자원을 선택하고, Data Flow Services 삭제 버튼을 클릭하세요.
- 해지가 완료되면, Data Flow Services 목록 페이지에서 자원이 해지되었는지 확인하세요.
- Data Flow Services를 해지할 경우, 생성된 네임스페이스도 같이 삭제됩니다.
2.2 - Ingress Controller 설치하기
사용자는 Data Flow 서비스를 생성하기 전에 Ingress Controller를 설치해야 합니다. Kubernetes 클러스터에는 1개의 Ingress Controller만 설치해야 합니다.
Container Registry를 이용하여 Ingress Controller 설치하기
Container Registry를 이용하여 Ingress Controller를 설치하려면 다음 절차를 따르세요.
Ingress Controller 이미지를 저장할 SCR(Samsung Container Registry)을 준비하세요.
SCR(Samsung Container Registry)에 Ingress Controller 이미지를 Push하세요.
설치에 사용한 YAML 파일을 Ingress GitHub에서 다운로드한 후, 아래 항목을 수정하세요.
배경색 변경kind: Deployment ... spec: template: spec: containers: image: {SCR private endpoint}.{repository name}.{image name}:{tag}kind: Deployment ... spec: template: spec: containers: image: {SCR private endpoint}.{repository name}.{image name}:{tag}코드 블럭. SCR 정보 변경 배경색 변경kind: ConfigMap ... metadata: labels: app: ingress-controller kind: Service ... metadata: labels: app: ingress-controller kind: Deployment ... metadata: labels: app: ingress-controller kind: IngressClass ... metadata: labels: app: ingress-controllerkind: ConfigMap ... metadata: labels: app: ingress-controller kind: Service ... metadata: labels: app: ingress-controller kind: Deployment ... metadata: labels: app: ingress-controller kind: IngressClass ... metadata: labels: app: ingress-controller코드 블럭. Label 정보 추가 - metadata: labels: app: ingress-controller 수정한 YAML 파일을 사용하여 Kubernetes Engine에서 워크로드 > 디플로이먼트 목록에서 오브젝트 생성 버튼을 이용하여 Ingress Controller를 설치할 수 있습니다.
참고자세한 오브젝트 생성 방법은 Container > Kubernetes Engine > 디플로이먼트 생성하기 를 참고하세요.
