Openflow BYOC - 사용자 지정 수신 설정

이 항목에서는 자체 AWS 계정 내에서 관리되는 사용자 지정 수신 솔루션을 사용하여 Openflow BYOC 배포를 설정하는 데 필요한 고려 사항과 단계에 대해 설명합니다.

이점

Openflow BYOC 배포용 사용자 지정 수신은 조직에 다음을 제공합니다.

  • VPN 또는 비공개 네트워크에 대해서만 액세스를 제한할 수 있는 네트워크 수준 제한으로 보안을 강화합니다.

  • 보안 및 규정 준수 요구 사항을 충족하기 위해 Openflow에 액세스하는 데 사용되는URL 및 TLS 인증서에 대한 전체 제어를 수행합니다.

고려 사항

Snowflake 관리형 수신을 사용하면 Openflow에서 필요한 DNS 레코드와 공용 로드 밸런서를 생성하고 BYOC 배포의 Openflow 런타임에 대한 TLS 인증서를 관리합니다.

사용자 지정 수신을 활성화하면 Openflow가 더 이상 외부 DNS 레코드를 자동으로 관리하지 않고, 공용 로드 밸런서를 자동으로 생성하지 않으며, 더 이상 Openflow 런타임에 대한 인증서를 관리하지 않습니다. 이러한 리소스는 자체 AWS 계정 내에서 관리해야 합니다.

Openflow 관리형 수신과 사용자 지정 수신을 비교하여 DNS, 로드 밸런서, 인증서에 대한 추가 요구 사항을 강조합니다.

Snowflake Openflow에서 사용자 지정 수신 구성하기

  1. 배포 생성 중에 사용자 지정 수신을 활성화합니다.

    • 배포 생성 중에 Custom ingress`를 활성화하고 :ui:`Hostname 필드에 원하는 정규화된 도메인 이름(FQDN)을 지정합니다.

    • 이 DNS 레코드를 관리하고 이 FQDN에 대한 TLS 인증서를 생성할 수 있어야 합니다. :code:`snowflakecomputing.com`의 하위 도메인을 사용하지 마세요.

    • FQDN에는 https:// 프로토콜 또는 후행 슬래시 :ui:`/`를 포함하면 안 됩니다.

    • 예를 들어, :code:`openflow01.your-domain.org`를 지정하는 경우 :code:`https://openflow01.your-domain.org/my-runtime/nifi/`에서 “My Runtime”이라는 런타임에 액세스하게 됩니다.

  2. CloudFormation 템플릿을 다운로드합니다. 이 파일에는 Openflow가 사용자 지정 수신 도메인으로 실행되는 데 필요한 모든 설정이 있습니다.

AWS에서 사용자 지정 수신 구성하기

참고

:code:`{deployment-key}`는 특정 배포를 위해 Openflow가 생성하고 관리하는 클라우드 리소스에 적용되는 Openflow 고유 식별자를 나타냅니다.

이는 CloudFormation 템플릿의 DataPlaneKey 매개 변수에 있으며, 배포를 위한 View Details 메뉴 옵션을 통해 Openflow에서도 사용 가능합니다.

  1. Openflow 배포를 위해 비공개 서브넷에 다음 태그를 추가합니다.

    • 키: kubernetes.io/role/internal-elb

    • 값: 1

  2. 비공개 서브넷이 다른 EKS 클러스터에서 사용되는 경우 Openflow 클러스터의 이름으로 태그도 지정해야 합니다. 이를 통해 Openflow는 다른 로드 밸런서와 함께 로드 밸런서를 생성할 수 있습니다.

    • 키: kubernetes.io/cluster/{deployment-key}

    • 값: 1

  3. CloudFormation 템플릿을 업로드합니다. Openflow가 내부 네트워크 로드 밸런서를 생성할 때까지 약 30분 정도 기다립니다.

    • 내부 네트워크 로드 밸런서는 EC2 » Load Balancers 아래의 AWS 콘솔에서 확인할 수 있습니다.

    • 로드 밸런서의 이름은 :code:`runtime-ingress-{deployment-key}`입니다.

  4. Openflow 관리형 AWS 내부 네트워크 로드 밸런서의 내부 IP 주소를 가져옵니다.

    • EC2 » :extui:`Load Balancers`에서, 세부 정보 페이지로 이동하여 로드 밸런서의 :extui:`DNS name`을 복사합니다.

    • 에이전트 EC2 인스턴스(openflow-agent-{deployment-key}`로 식별됨)로 로그인하고 :code:`nslookup {openflow-load-balancer-dns-name} 명령을 실행합니다.

    • Openflow 관리형 AWS 내부 네트워크 로드 밸런서의 IP 주소를 복사합니다. 이는 다음 단계에서 생성할 로드 밸런서의 대상 그룹에 대한 대상입니다.

  5. TLS 인증서를 프로비저닝합니다.

    • Openflow 런타임 UIs에 대한 트래픽을 처리할 로드 밸런서에 대한 TLS 인증서를 가져옵니다. AWS 인증서 관리자(ACM)를 사용하거나 기존 인증서를 가져와 인증서를 생성할 수 있습니다.

  6. Openflow 관리형 AWS 내부 네트워크 로드 밸런서로 트래픽을 라우팅할 네트워크 로드 밸런서를 만듭니다.

    1. AWS 계정에서 다음 구성으로 네트워크 로드 밸런서를 생성합니다.

      • 이름: 명명 규칙 :code:`custom-ingress-external-{deployment-key}`를 권장합니다. 여기서 :code:`{deployment-key}`는 Openflow 배포의 키입니다.

      • 유형: Network Load Balancer

      • 스키마: 요구 사항에 따라 Internal 또는 Internet-facing

      • VPC: 배포의 VPC 선택

      • 가용 영역: Openflow 배포가 실행 중인 두 가용 영역을 모두 선택합니다.

      • 서브넷: Internal Load Balancer에 대한 VPC의 비공개 서브넷이나 Internet-facing Load Balancer에 대한 VPC의 공용 서브넷을 선택합니다.

      • 보안 그룹: 포트 :code:`443`에서 트래픽을 허용하는 보안 그룹 선택 또는 생성

      • 기본 SSL 및 TLS 서버 인증서: SSL 및 TLS 인증서 가져오기

      • 대상 그룹: 다음 설정으로 새 대상 그룹을 만듭니다.

        • 대상 유형: IP addresses

        • 프로토콜: TLS

        • 포트: 443

        • VPC: VPC가 배포와 일치하는지 확인합니다.

        • Openflow에서 만든 내부 네트워크 로드 밸런서의 IP 주소(이전 단계에서 획득)를 대상으로 지정하고 :extui:`Include as pending below`를 선택합니다.

    2. 로드 밸런서가 생성되면 다음 단계에서 사용할 로드 밸런서의 DNS 이름을 복사합니다.

    3. 네트워크 로드 밸런서를 만드는 방법에 대한 자세한 내용은 `네트워크 로드 밸런서 만들기<https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-network-load-balancer.html>`_를 참조하세요.

  7. 사용자 지정 수신 FQDN을 AWS 로드 밸런서의 DNS 이름에 매핑하는 DNS CNAME 레코드를 생성합니다.

검증

  1. Openflow 배포는 Deployments 페이지에 Active 상태로 표시됩니다.

  2. Openflow 배포에서 런타임을 만듭니다.

  3. 런타임이 Active`인 경우, 런타임 이름을 클릭하거나 :ui:`View canvas 메뉴 옵션을 사용하여 런타임의 UI에 액세스합니다.

  4. Openflow는 배포 생성 중에 지정된 호스트 이름을 사용하여 런타임으로 안내합니다. 예: https://openflow01.your-domain.org/my-runtime/nifi/.