편집

다음을 통해 공유


Azure의 SMA OpCon

AKS(Azure Kubernetes Service)
Azure Private Link
Azure SQL Database
Azure Storage
Azure VPN Gateway

솔루션 아이디어

이 문서는 솔루션 아이디어 설명입니다. 클라우드 설계자는 이 지침을 사용하여 이 아키텍처의 일반적인 구현을 위한 주요 구성 요소를 시각화할 수 있습니다. 이 문서를 시작점으로 사용하여 워크로드의 특정 요구 사항에 맞는 잘 설계된 솔루션을 디자인할 수 있습니다.

이 문서에서는 엔터프라이즈 전체의 다양한 유형의 서버 및 시스템에서 실행되는 워크로드를 자동화하기 위한 솔루션을 제공합니다. 이 솔루션은 Azure의 Kubernetes 구성에서 SMA Technologies의 OpCon을 사용합니다. 단일 자동화 제어 지점에서 OpCon은 온-프레미스 및 Azure에서 엔터프라이즈 전체의 워크플로를 용이하게 합니다.

아키텍처

Azure 또는 하이브리드 환경에서 OpCon을 배포하는 방법을 보여 주는 아키텍처 다이어그램 OpCon 외에도 구성 요소에는 SQL Database 및 VPN Gateway가 포함됩니다.

이 아키텍처의 Visio 파일을 다운로드합니다.

워크플로

  1. OpCon 컨테이너는 AKS(Azure Kubernetes Service) 내에 배포되는 핵심 서비스를 제공합니다. 이러한 핵심 서비스에는 웹 기반 사용자 인터페이스인 Solution Manager가 포함됩니다. 사용자는 솔루션 관리자를 사용하여 전체 OpCon 환경과 상호 작용할 수 있습니다. 환경에는 다른 구성 요소 외에도 다음이 포함됩니다.

    • 로그 및 구성 정보를 저장하고 컨테이너를 다시 시작하는 동안 데이터 지속성을 제공하는 영구 볼륨입니다. 이러한 볼륨의 경우 솔루션은 값으로 구성된 Azure Files를 StorageClass 사용합니다.
    • OpCon 데이터베이스입니다.
    • 워크로드를 실행하는 VM(가상 머신)
  2. 이 솔루션은 Azure SQL Database를 OpCon 데이터베이스로 사용합니다. 핵심 서비스는 Azure Private Link 프라이빗 엔드포인트를 통해 이 데이터베이스에 액세스할 수 있습니다.

  3. OpCon 핵심 서비스는 OpCon 커넥터 기술을 사용하여 Azure Storage와 상호 작용하고 Azure Blob Storage에서 데이터를 관리합니다. OpCon 관리형 파일 전송은 스토리지에 대한 지원도 제공합니다.

  4. 애플리케이션 서브넷에는 포괄적인 파일 전송 기능을 제공하는 OpCon 관리형 파일 전송 서버가 포함되어 있습니다. 기능에는 압축, 암호화, 암호 해독, 압축 해제, 파일 감시 및 엔터프라이즈급 자동 파일 라우팅이 포함됩니다.

  5. Azure VM은 애플리케이션 인프라를 구성합니다. 서브넷 및 가상 네트워크에 이러한 VM을 배치하는 것은 유연합니다. 자세한 내용은 구성 요소 배치를 참조하세요.

    • 이러한 VM 및 온-프레미스 레거시 시스템에서 워크로드를 관리하기 위해 OpCon 핵심 서비스는 VM에 설치된 OpCon 에이전트와 통신합니다. 핵심 서비스는 가상 네트워크 게이트웨이의 사이트-사이트 연결을 통해 온-프레미스 시스템과 통신합니다.
    • OpCon 핵심 서비스는 REST API 엔드포인트를 제공하는 애플리케이션과 직접 통신합니다. 이러한 애플리케이션은 핵심 서비스에 연결하는 데 추가 소프트웨어가 필요하지 않습니다. 온-프레미스 시스템을 통해 통신은 REST API 연결 옵션을 사용하고 가상 네트워크 게이트웨이를 통해 이동합니다.
  6. 하이브리드 환경에서 게이트웨이 서브넷은 사이트 간 VPN 터널을 사용하여 온-프레미스 환경과 Azure 클라우드 환경 간의 연결을 보호합니다.

  7. 게이트웨이에는 Azure VPN Gateway와 온-프레미스 VPN 디바이스 간의 크로스-프레미스 IPsec/IKE VPN 터널 연결이 포함됩니다. Azure 클라우드와 온-프레미스 환경 간에 전달되는 모든 데이터는 인터넷을 통해 이 사이트 간 프라이빗 터널에서 암호화됩니다.

  8. 온-프레미스 환경의 로컬 네트워크 게이트웨이는 터널의 온-프레미스 끝에 있는 게이트웨이를 나타냅니다. 로컬 네트워크 게이트웨이는 VPN 터널을 빌드하고 온-프레미스 서브넷에서 또는 온-프레미스 서브넷으로 트래픽을 라우팅하는 데 필요한 구성 정보를 보유합니다.

  9. 모든 사용자 요청은 게이트웨이 연결을 통해 OpCon Core 서비스 환경으로 라우팅됩니다. 이러한 액세스를 통해 사용자는 솔루션 관리자와 상호 작용하여 다음을 수행합니다.

    • OpCon 관리.
    • OpCon 관리 파일 전송 관리.
    • OpCon 워크플로 개발, 실행 및 모니터링
    • 작업을 실행하기 위한 OpCon 인터페이스인 셀프 서비스입니다.
    • 비전, OpCon 작업 대시보드.
    • OpCon 관리형 파일 전송 중앙 애플리케이션, 대시보드 및 쿼리 애플리케이션.
  10. OpCon 에이전트 및 애플리케이션 REST API 엔드포인트는 온-프레미스 환경의 레거시 시스템에 설치됩니다. OpCon 핵심 서비스는 가상 네트워크 게이트웨이에서 사이트 간 연결을 사용하여 해당 에이전트 및 엔드포인트와 통신합니다.

솔루션 전체에서 네트워크 보안 그룹을 사용하여 서브넷 간의 트래픽 흐름을 제한할 수 있습니다.

구성 요소

  • Azure Virtual Machines는 Azure가 제공하는 여러 유형의 확장성 있는 주문형 컴퓨팅 리소스 중 하나입니다. Azure VM은 가상화의 유연성을 제공하지만 물리적 하드웨어의 유지 관리 요구를 제거합니다. Azure를 사용하면 Windows 또는 Linux VM을 선택할 수 있습니다.

  • Azure Virtual Network는 Azure의 프라이빗 네트워크의 기본 구성 요소입니다. Virtual Network를 통해 VM과 같은 Azure 리소스는 서로, 인터넷 및 온-프레미스 네트워크와 안전하게 통신할 수 있습니다. Azure 가상 네트워크는 데이터 센터에서 작동하는 기존 네트워크와 같습니다. 그러나 Azure 가상 네트워크는 확장성, 가용성, 격리 및 Azure 인프라의 기타 이점도 제공합니다.

  • Private Link는 가상 네트워크에서 프라이빗 엔드포인트를 제공합니다. 프라이빗 엔드포인트를 사용하여 Storage 및 SQL Database와 같은 Azure PaaS(Platform as a Service) 서비스 또는 고객 또는 파트너 서비스에 연결할 수 있습니다.

  • 스토리지 는 데이터, 애플리케이션 및 워크로드에 대해 고가용성, 확장성 있는 보안 클라우드 스토리지를 제공합니다.

  • Azure Files 는 Storage의 일부인 서비스입니다. Azure Files는 산업 표준 SMB(서버 메시지 블록) 프로토콜을 통해 액세스할 수 있는, 클라우드에서 완전 관리형 파일 공유를 제공합니다. Azure 파일 공유는 Windows, Linux 및 macOS 클라이언트의 클라우드 또는 온-프레미스 배포를 통해 동시에 탑재할 수 있습니다.

  • Blob Storage는 스토리지에 포함된 서비스입니다. Blob Storage는 대량의 비정형 데이터에 최적화된 클라우드 개체 스토리지를 제공합니다. 이 서비스는 고성능 컴퓨팅, 기계 학습 및 클라우드 네이티브 워크로드에 적합합니다.

  • VPN Gateway는 특정 유형의 가상 네트워크 게이트웨이입니다. VPN Gateway를 사용하여 암호화된 트래픽을 전송할 수 있습니다. 해당 트래픽은 공용 인터넷을 통해 Azure 가상 네트워크와 온-프레미스 위치 간에 흐를 수 있습니다. Azure 백본 네트워크를 통해 Azure 가상 네트워크 간에 흐를 수도 있습니다.

  • Azure ExpressRoute는 연결 공급자에서 지원하는 프라이빗 연결을 통해 온-프레미스 네트워크를 Microsoft 클라우드로 확장합니다. ExpressRoute를 사용하면 Microsoft Azure, Office 365 등의 클라우드 서비스에 대한 연결을 설정할 수 있습니다.

  • Azure Site Recovery는 중단 기간 동안에도 비즈니스 앱과 워크로드를 유지하여 비즈니스 연속성을 보장합니다. Site Recovery는 물리적 컴퓨터 및 VM에서 실행되는 워크로드를 기본 사이트에서 보조 위치로 복제할 수 있습니다. 기본 사이트에서 중단이 발생하면 보조 위치로 장애 조치하고 해당 위치에서 앱에 액세스합니다. 기본 위치가 다시 실행되면 장애 복구(failback)할 수 있습니다.

  • Azure SQL은 SQL Server 엔진으로 구동되는 Azure 데이터베이스 제품군입니다. Azure SQL에는 Azure Virtual Machines, Azure SQL Managed Instance 및 SQL Database의 SQL Server가 포함됩니다.

  • SQL Database 는 AI 기반의 자동화된 기능을 갖춘 완전 관리형 PaaS 데이터베이스 엔진입니다. OpCon 백 엔드는 SQL Database를 사용하여 OpCon 항목을 관리할 수 있습니다.

  • SQL Managed Instance 는 완전 관리형 및 상록 PaaS의 모든 이점과 가장 광범위한 SQL Server 엔진 호환성을 결합하는 지능적이고 확장 가능한 클라우드 데이터베이스 서비스입니다. OpCon 백 엔드는 SQL Managed Instance를 사용하여 OpCon 항목을 관리할 수 있습니다.

  • OpCon Core 서비스는 Kubernetes 복제본 집합 내의 Linux 컨테이너에서 실행됩니다. 이 솔루션은 OpCon 데이터베이스에 SQL Database를 사용합니다.

  • OpCon 셀프 서비스는 사용자가 주문형 작업을 실행하고 선택적으로 OpCon 환경 내에서 인수를 입력할 수 있는 방법을 제공하는 웹 기반 구현입니다.

  • OpCon Vision 은 OpCon 작업을 모니터링하기 위한 대시보드를 제공합니다. 대시보드는 모든 흐름에서 작업의 논리적 표현을 표시합니다. Vision은 태그를 사용하여 연결된 작업을 함께 그룹화합니다. 문제가 발생하면 대시보드에서 실패한 작업으로 드릴다운할 수 있습니다. 또한 Vision은 각 그룹에 대해 SLA 값을 설정하는 방법을 제공합니다. 대시보드는 정의된 SLA 값이 충족되지 않을 수 있는 경우 조기 경고를 제공합니다.

  • OpCon 관리 파일 전송 은 OpCon 환경 내에서 관리되는 파일 전송 서비스를 제공합니다. OpCon 관리형 파일 전송 솔루션은 통합 관리되는 파일 전송 에이전트 및 파일 전송 서버를 사용하여 엔터프라이즈 전체에서 파일 전송 및 모니터링 기능을 제공합니다.

대안

다음 섹션에서는 솔루션을 구현할 때 고려해야 할 대안을 설명합니다.

구성 요소 배치

VM 및 OpCon 데이터베이스의 배치는 유연합니다.

  • 애플리케이션 서브넷에는 애플리케이션 VM이 포함될 수 있습니다. 여러 서브넷 또는 가상 네트워크에 애플리케이션 서버를 설치할 수도 있습니다. 웹 및 애플리케이션 서버와 같은 다양한 유형의 서버에 대해 별도의 환경을 만들려는 경우 이 방법을 사용합니다.
  • OpCon 서브넷 내부 또는 외부에 데이터베이스를 배치할 수 있습니다.

SQL Managed Instance

SQL Database를 사용하는 대신 OPCon 데이터베이스로 SQL Managed Instance를 사용할 수 있습니다. OpCon 서브넷에 SQL 관리형 인스턴스를 설치할 수 있습니다. 또는 기존 가상 네트워크의 SQL 관리형 인스턴스에만 사용하는 별도의 서브넷에 관리되는 인스턴스를 설치할 수 있습니다.

ExpressRoute

VPN Gateway 및 사이트 간 VPN 터널을 사용하는 대신 연결 공급자를 사용하여 Microsoft 글로벌 네트워크에 대한 프라이빗 연결을 설정하는 ExpressRoute를 사용할 수 있습니다. ExpressRoute 연결은 공용 인터넷을 사용하지 않습니다.

높은 수준의 확장성과 복원력이 필요한 대규모 중요 비즈니스용 워크로드를 실행하는 하이브리드 애플리케이션에 ExpressRoute를 사용하는 것이 좋습니다.

시나리오 정보

워크로드를 용이하게 하는 핵심 OpCon 모듈은 SAM(일정 활동 모니터)입니다. 이 모듈은 대상 시스템의 에이전트와 통신하여 작업을 예약하고 모니터링합니다. SAM은 외부 이벤트도 수신합니다. 다음 플랫폼에 OpCon 에이전트를 설치할 수 있습니다.

  • Windows
  • Linux 또는 Unix
  • Unisys ClearPath Forward 메인프레임(MCP 및 2200)
  • IBM z/OS
  • IBM AIX

SAM은 하나의 자동화 우산 아래에 다양한 플랫폼을 함께 그립니다.

Azure 클라우드 환경에 OpCon을 설치할 수 있습니다. OpCon은 클라우드 전용 인프라와 클라우드 및 온-프레미스 시스템을 포함하는 하이브리드 인프라를 지원합니다.

OpCon 소프트웨어는 클라우드 환경에 배포할 수 있는 Docker 이미지로 Docker 허브에서 사용할 수 있습니다. Azure 클라우드의 경우 이 솔루션은 AKS를 사용하여 Kubernetes 클러스터 내에 OpCon 환경을 배포합니다. SQL Database는 데이터베이스로 사용됩니다.

하이브리드 환경의 경우 VPN Gateway는 클라우드 인프라와 온-프레미스 인프라 간의 보안 링크를 제공합니다.

구현에서는 단일 가상 네트워크 및 여러 서브넷을 사용하여 다양한 기능을 지원합니다. 네트워크 보안 그룹을 사용하여 가상 네트워크의 Azure 리소스 간에 네트워크 트래픽을 필터링할 수 있습니다.

AKS 구성

배포된 OpCon 환경은 단일 복제본 집합 및 SQL Database 인스턴스 내에 있는 두 개의 Pod로 구성됩니다. 부하 분산 장치는 Pod에 대한 액세스를 제어합니다. 부하 분산 장치는 외부 주소와 포트를 내부 REST API 서버 주소 및 포트에 매핑합니다.

다음 다이어그램에서는 OpCon 및 Impex2라는 두 개의 Pod가 있는 환경에 대한 구성 요구 사항을 보여 줍니다. 또한 이 다이어그램은 Kubernetes 구성 YAML 파일의 다양한 정의 간의 관계를 보여 줍니다.

솔루션에서 사용하는 Kubernetes 구성 값을 보여 주는 아키텍처 다이어그램

이 아키텍처의 Visio 파일을 다운로드합니다.

다음 표에서는 각 정의에 대한 자세한 정보를 제공합니다.

종류 설명
Secret dbpasswords OpCon 데이터베이스에 연결하는 데 필요한 데이터베이스 암호를 포함합니다.
ConfigMap opcon OpCon REST API 정보, 표준 시간대 및 언어 정보를 포함합니다. 주소, 데이터베이스 이름 및 데이터베이스 사용자와 같은 OpCon 데이터베이스 정보도 포함됩니다.
ConfigMap impex Impex2 REST API 정보를 포함합니다. 주소, 데이터베이스 이름 및 데이터베이스 사용자와 같은 OpCon 데이터베이스 정보도 포함됩니다.
PersistentVolumeClaim opconconfig 다양한 .ini 파일 및 OpCon 라이선스 파일을 포함합니다.
PersistentVolumeClaim opconlog OpCon 환경과 연결된 로그 파일을 포함합니다.
PersistentVolumeClaim impexlog Impex2 환경과 연결된 로그 파일을 포함합니다.
ReplicaSet opcon 이전에 정의된 SecretConfigMap정의 및 정의를 참조하는 OpCon 및 PersistentVolumeClaim Impex2 컨테이너 정의를 지정합니다.
Service loadbalancer OpCon 및 Impex2 REST 서버에 대한 내부 REST API 포트를 외부 주소 및 포트에 매핑하는 방법을 정의합니다.

잠재적인 사용 사례

많은 시나리오에서 이 솔루션을 활용할 수 있습니다.

  • 전체 IT 엔터프라이즈에서 워크로드 자동화 및 오케스트레이션
  • 재해 복구 자동화
  • 플랫폼 간 파일 전송
  • IT 환경 작업
  • 일괄 예약
  • 셀프 서비스 자동화 워크플로 실행
  • 서버 업데이트 자동화 및 배포
  • 패치 관리 자동화 및 배포
  • Azure 리소스의 프로비전 및 서비스 해제 자동화
  • 단일 인터페이스에서 전체 IT 환경 모니터링
  • 반복 가능 또는 주문형 프로세스 코딩

시나리오 배포

다음 템플릿을 사용하여 AKS 클러스터 내에 OpCon 환경을 배포할 수 있습니다.

# 
# Full OpCon deployment for Kubernetes
#
# This deployment uses Azure SQL Database.
#
apiVersion: v1
kind: Secret
metadata:
  name: dbpasswords
stringData:
  saPassword: ""
  dbPassword: ""
  sqlAdminPassword: ""
  dbPasswordEncrypted: ""
 
---
# OpCon environment values
apiVersion: v1
kind: ConfigMap
metadata:
  name: opconenv
data:
  DB_SERVER_NAME: "sqlopcon.database.windows.net"
  DATABASE_NAME: "opcon"
  DB_USER_NAME: "opconadmin"
  SQL_ADMIN_USER: "opconadmin"
  API_USES_TLS: "true" 
  CREATE_API_CERTIFICATE: "true"
  DB_SETUP: "true"
  TZ: "America/Chicago"
  LANG: "en_US.utf-8"
  LICENSE: ""
---
# Impex environment values
apiVersion: v1
kind: ConfigMap
metadata:
  name: impexenv
data:
  opcon.server.name: "sqlopcon.database.windows.net"
  opcon.db.name: "opcon"
  opcon.db.user: "opconadmin"
  web.port: "9011"
  web.ssl: "true" 
  system.debug: "false"
  TZ: "America/Chicago"
  LANG: "en_US.utf-8"
---
# OpCon persistent storage for configuration information
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: opconconfig
spec:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 100Mi
---
# OpCon persistent storage for log information
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: opconlog
spec:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 100Mi
---
# Impex persistent storage for log information
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: impexlog
spec:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 100Mi
---
# OpCon and deploy pods in a single replica set
apiVersion: apps/v1
kind: ReplicaSet
metadata:
  name: opcon
spec:
  replicas: 1
  selector:
    matchExpressions:
      - key: app
        operator: In
        values:
          - opconservices
  template:
    metadata:
      labels:
        app: opconservices
    spec:
      containers:
      - env:
        - name: DB_PASSWORD
          valueFrom:
            secretKeyRef:
              name: dbpasswords
              key: dbPassword
        - name: SQL_ADMIN_PASSWORD
          valueFrom:
            secretKeyRef:
              name: dbpasswords
              key: sqlAdminPassword
        envFrom:
          - configMapRef:
              name: opconenv
        image: smatechnologies/opcon-server:22.0-latest
        name: opcon
        ports:
        - containerPort: 443
          protocol: TCP
        volumeMounts:
        - name: opconconfig
          mountPath: /app/config
        - name: uat-opconlog
          mountPath: /app/log
      - env:
        - name: opcon.db.password
          valueFrom:
            secretKeyRef:
              name: dbpasswords
              key: dbPasswordEncrypted
        envFrom:
          - configMapRef:
              name: impexenv
        image: smatechnologies/deploy-impex2:22.0-latest
        name: impex
        volumeMounts:
        - name: impexlog
          mountPath: /app/log
      hostname: opcon
      volumes:
      - name: opconconfig
        persistentVolumeClaim:
          claimName: opconconfig
      - name: opconlog
        persistentVolumeClaim:
          claimName: opconlog
      - name: impexlog
        persistentVolumeClaim:
          claimName: impexlog
---
# OpCon service
apiVersion: v1
kind: Service
metadata:
  name: lbopcon
spec:
  type: LoadBalancer
  ports:
  - name: apiport
    port: 9010
    targetPort: 443
  - name: impexport
    port: 9011
    targetPort: 9011
  selector:
    app: opconservices

참가자

Microsoft에서 이 문서를 유지 관리합니다. 원래 다음 기여자가 작성했습니다.

비공개 LinkedIn 프로필을 보려면 LinkedIn에 로그인합니다.

다음 단계

이 솔루션에 대한 자세한 내용은 다음을 참조하세요.

  • 문의하세요 legacy2azure@microsoft.com.
  • SMA에 문의하세요. Microsoft 골드 수준 파트너인 SMA Technologies 는 IT 자동화 공간의 선두 주역입니다. SMA는 프로세스, 애플리케이션 및 워크플로를 자동화하여 클라이언트와 직원에게 시간을 돌려주는 단일 목적에 전념합니다.