ROSA 소개


Red Hat OpenShift Service on AWS classic architecture 4

AWS 아키텍처의 Red Hat OpenShift Service 개요

Red Hat OpenShift Documentation Team

초록

이 문서에서는 ROSA(Red Hat OpenShift Service on AWS)의 플랫폼 및 애플리케이션 아키텍처에 대한 개요를 설명합니다.

1장. ROSA 이해

Red Hat OpenShift Cluster Manager 및 CLI(명령줄 인터페이스) 툴, 소비 경험 및 AWS(Amazon Web Services) 서비스와의 통합을 통해 ROSA(AWS 클래식 아키텍처)의 Red Hat OpenShift Service에 대해 알아보십시오.

1.1. ROSA 정보

ROSA는 애플리케이션을 구축하고 배포하여 고객에게 가치를 제공하는 데 집중할 수 있는 완전한 턴키 애플리케이션 플랫폼입니다. Red Hat SRE(사이트 안정성 엔지니어링) 전문가가 기본 플랫폼을 관리하므로 인프라 관리의 복잡성에 대해 우려할 필요가 없습니다. ROSA는 Amazon Cloud, AWS Identity and Access Management(IAM), Amazon VPC(Virtual Private Cloud) 및 광범위한 추가 AWS 서비스와 원활한 통합을 제공하여 고객에게 차별화된 경험을 보다 신속하게 구축하고 제공합니다.

AWS 계정에서 직접 서비스에 등록합니다. 클러스터를 생성한 후 OpenShift 웹 콘솔, ROSA CLI 또는 Red Hat OpenShift Cluster Manager를 통해 클러스터를 작동할 수 있습니다.

OpenShift Container Platform과 일치하도록 새로운 기능 릴리스 및 공유 공통 소스를 통해 OpenShift 업데이트를 받습니다. ROSA는 Red Hat OpenShift Dedicated 및 OpenShift Container Platform과 동일한 OpenShift 버전을 지원하여 버전 일관성을 달성합니다.

ROSA 설치에 대한 자세한 내용은 AWS(ROSA) 대화형 방법에 대한 Red Hat OpenShift Service 설치를 참조하십시오.

1.2. 청구 및 가격

AWS 클래식 아키텍처의 Red Hat OpenShift Service는 AWS(Amazon Web Services) 계정에 직접 청구됩니다. ROSA 가격은 더 큰 할인을 위해 연간 약정 또는 3년의 약정과 함께 소비를 기반으로 합니다. ROSA의 총 비용은 두 가지 요소로 구성됩니다.

  • ROSA 서비스 요금
  • AWS 인프라 비용

자세한 내용은 AWS 웹 사이트의 AWS 클래식 아키텍처 가격 책정 페이지를 참조하십시오.

1.3. 시작하기

클러스터 배포를 시작하려면 AWS 계정이 사전 요구 사항을 충족하는지 확인하고 Red Hat 계정이 준비되었는지 확인하고 AWS 클래식 아키텍처에서 Red Hat OpenShift Service 시작하기에 설명된 절차를 따르십시오.

2장. 정책 및 서비스 정의

2.1. AWS 클래식 아키텍처에서 Red Hat OpenShift Service의 가용성 정보

가용성 및 재해 방지는 모든 애플리케이션 플랫폼에서 매우 중요한 측면입니다. Red Hat OpenShift Service on AWS 클래식 아키텍처(ROSA)는 여러 수준에서 장애에 대한 많은 보호 기능을 제공하지만 고객이 배포한 애플리케이션을 고가용성을 위해 적절하게 구성해야 합니다. 클라우드 공급자에서 발생할 수 있는 중단을 고려하여 여러 가용성 영역에 클러스터를 배포하고 장애 조치 메커니즘을 사용하여 여러 클러스터를 유지보수하는 등 추가 옵션을 사용할 수 있습니다.

2.1.1. 잠재적인 실패 지점

Red Hat OpenShift Service on AWS 클래식 아키텍처(ROSA)는 다운타임으로부터 워크로드를 보호하기 위한 다양한 기능과 옵션을 제공하지만 이러한 기능을 활용하기 위해 애플리케이션을 적절하게 설계해야 합니다.

ROSA는 Red Hat 사이트 신뢰성 엔지니어링 (SRE) 지원 및 머신 풀을 두 개 이상의 가용성 영역에 배포하는 옵션이 있지만 컨테이너 또는 인프라가 여전히 실패할 수있는 여러 가지 일반적인 Kubernetes 문제로부터 사용자를 보호 할 수 있습니다. 잠재적인 장애 지점을 이해하면 위험을 이해하고 애플리케이션과 클러스터를 각 특정 수준에서 필요에 따라 탄력적으로 조정할 수 있습니다.

중요

작업자 노드는 수명이 보장되지 않으며 OpenShift의 정상적인 작동 및 관리의 일부로 언제든지 교체될 수 있습니다. 노드 라이프사이클에 대한 자세한 내용은 추가 리소스 를 참조하십시오.

참고

중단은 여러 다른 수준의 인프라 및 클러스터 구성 요소에서 발생할 수 있습니다.

2.1.1.1. 컨테이너 또는 Pod 실패

설계 시 Pod는 짧은 시간 동안 존재합니다. 애플리케이션 Pod의 여러 인스턴스가 실행되도록 서비스를 적절히 확장하면 개별 Pod 또는 컨테이너의 문제를 방지할 수 있습니다. OpenShift 노드 스케줄러는 이러한 워크로드가 서로 다른 작업자 노드에 분산되어 복원력을 추가로 향상시킬 수 있습니다.

Pod 실패 가능성이 있는 경우 애플리케이션에 스토리지가 연결된 방법을 이해하는 것도 중요합니다. 단일 Pod에 연결된 단일 영구 볼륨은 Pod 스케일링의 전체 이점을 활용할 수 없지만 복제된 데이터베이스, 데이터베이스 서비스 또는 공유 스토리지에서는 사용할 수 있습니다.

업그레이드와 같이 계획된 유지 관리 중에 애플리케이션의 중단을 방지하려면 Pod 중단 예산을 정의하는 것이 중요합니다. 이는 Kubernetes API의 일부이며 다른 오브젝트 유형과 같은 oc 명령으로 관리할 수 있습니다. 유지 관리를 위해 노드를 드레이닝하는 등 작업 중에 Pod에 대한 보안 제약 조건을 지정할 수 있습니다.

2.1.1.2. 작업자 노드 오류

작업자 노드는 애플리케이션 pod를 포함하는 VM(가상 머신)입니다. 기본적으로 ROSA 클러스터에는 클러스터에 대한 최소 두 개의 작업자 노드가 있습니다. 작업자 노드에 오류가 발생하면 기존 노드의 문제가 해결되거나 노드가 교체될 때까지 용량이 충분한 경우 Pod가 작동 중인 작업자 노드로 재배치됩니다. 더 많은 작업자 노드는 단일 노드 중단을 방지하기 위해 더 많은 보호 기능을 의미하며, 노드 장애가 발생할 경우 Pod를 다시 예약할 수 있는 적절한 클러스터 용량을 보장합니다.

참고

노드 장애 가능성이 있는 경우 스토리지가 영향을 받는 방법을 이해하는 것도 중요합니다. EFS 볼륨은 노드 장애의 영향을 받지 않습니다. 그러나 EBS 볼륨은 실패한 노드에 연결된 경우 액세스할 수 없습니다.

2.1.1.3. 클러스터 장애

단일 AZ ROSA 클러스터에는 프라이빗 서브넷의 동일한 가용성 영역(AZ)에 세 개의 컨트롤 플레인 노드와 두 개의 인프라 노드가 있습니다.

다중 AZ ROSA 클러스터에는 세 개의 컨트롤 플레인 노드와 고가용성을 위해 사전 구성된 인프라 노드가 있으며 각 AZ에 하나씩 있습니다. 컨트롤 플레인 및 인프라 노드는 작업자 노드와 동일한 복원력을 가지며 Red Hat에서 완전히 관리하는 이점이 추가되었습니다.

완전한 컨트롤 플레인 중단이 발생하면 OpenShift API가 작동하지 않으며 기존 작업자 노드 Pod는 영향을 받지 않습니다. 그러나 Pod 또는 노드 중단이 동시에 있는 경우 새 Pod 또는 노드를 추가하거나 예약하기 전에 컨트롤 플레인을 복구해야 합니다.

인프라 노드에서 실행되는 모든 서비스는 고가용성을 유지하고 인프라 노드에 분산되도록 Red Hat에 의해 구성됩니다. 완전한 인프라 중단의 경우 이러한 노드가 복구될 때까지 이러한 서비스를 사용할 수 없습니다.

2.1.1.4. 영역 실패

AWS의 영역 오류는 작업자 노드, 블록 또는 공유 스토리지, 단일 가용성 영역에 고유한 로드 밸런서와 같은 모든 가상 구성 요소에 영향을 미칩니다. ROSA는 영역 장애로부터 보호하기 위해 세 가지 가용성 영역에 배포된 머신 풀에 대한 옵션을 제공합니다. 그런 다음 기존 상태 비저장 워크로드는 충분한 용량이 있는 경우 중단 시 영향을 받지 않는 영역으로 재배포됩니다.

2.1.1.5. 스토리지 실패

상태 저장 애플리케이션을 배포한 경우 스토리지는 중요한 구성 요소이며 고가용성을 고려할 때 고려해야 합니다. 단일 블록 스토리지 PV는 Pod 수준에서도 중단을 견딜 수 없습니다. 스토리지 가용성을 유지하는 가장 좋은 방법은 복제된 스토리지 솔루션, 중단의 영향을 받지 않는 공유 스토리지 솔루션 또는 클러스터와 무관한 데이터베이스 서비스를 사용하는 것입니다.

추가 리소스

2.2. AWS 클래식 아키텍처에서 Red Hat OpenShift Service에 대한 개요

이 문서에서는 Red Hat, Amazon Web Services(AWS) 및 AWS 클래식 아키텍처 관리 서비스의 Red Hat OpenShift Service에 대한 고객 책임을 간략하게 설명합니다.

2.2.1. AWS 클래식 아키텍처에서 Red Hat OpenShift Service에 대한 공유 역할

Red Hat 및 Amazon Web Services(AWS)는 AWS 클래식 아키텍처 서비스에서 Red Hat OpenShift Service를 관리하는 반면 고객은 특정 책임을 공유합니다. AWS 클래식 아키텍처 서비스의 Red Hat OpenShift Service는 고객 소유 AWS 계정에서 생성된 퍼블릭 클라우드 리소스에서 호스팅되는 원격으로 액세스할 수 있으며 Red Hat이 소유한 기본 플랫폼 및 데이터 보안을 보유하고 있습니다.

중요

사용자에게 cluster-admin 역할이 추가되면 Red Hat Enterprise Agreement 부록 4(Online Subscription Services) 의 역할 및 제외 노트를 참조하십시오.

Expand
리소스사고 및 운영 관리변경 관리액세스 및 ID 권한 부여보안 및 규정 준수재해 복구

고객 데이터

고객

고객

고객

고객

고객

고객 애플리케이션

고객

고객

고객

고객

고객

개발자 서비스

고객

고객

고객

고객

고객

플랫폼 모니터링

Red Hat

Red Hat

Red Hat

Red Hat

Red Hat

로깅

Red Hat

Red Hat 및 고객

Red Hat 및 고객

Red Hat 및 고객

Red Hat

애플리케이션 네트워킹

Red Hat 및 고객

Red Hat 및 고객

Red Hat 및 고객

Red Hat

Red Hat

클러스터 네트워킹

Red Hat [1]

Red Hat 및 고객 [2]

Red Hat 및 고객

Red Hat [1]

Red Hat [1]

가상 네트워킹 관리

Red Hat 및 고객

Red Hat 및 고객

Red Hat 및 고객

Red Hat 및 고객

Red Hat 및 고객

가상 컴퓨팅 관리(컨트롤 플레인, 인프라 및 작업자 노드)

Red Hat

Red Hat

Red Hat

Red Hat

Red Hat

클러스터 버전

Red Hat

Red Hat 및 고객

Red Hat

Red Hat

Red Hat

용량 관리

Red Hat

Red Hat 및 고객

Red Hat

Red Hat

Red Hat

가상 스토리지 관리

Red Hat

Red Hat

Red Hat

Red Hat

Red Hat

AWS 소프트웨어 (공용 AWS 서비스)

AWS

AWS

AWS

AWS

AWS

하드웨어/AWS 글로벌 인프라

AWS

AWS

AWS

AWS

AWS

  1. 고객이 자체 CNI 플러그인을 사용하기로 선택한 경우 해당 책임은 고객으로 전환됩니다.
  2. 고객은 클러스터를 프로비저닝하기 전에 필요한 OpenShift 및 AWS 도메인 및 포트에 대한 액세스 권한을 부여하도록 방화벽을 구성해야 합니다. 자세한 내용은 "AWS 방화벽 사전 요구 사항"을 참조하십시오.

2.2.2. 지역별 공유 책임을 위한 작업

Red Hat, AWS 및 고객은 모두 AWS 클래식 아키텍처(ROSA) 클러스터에서 Red Hat OpenShift Service의 모니터링, 유지 관리 및 전반적인 상태를 공유합니다. 이 문서에서는 아래 표에 표시된 대로 나열된 각 리소스에 대한 책임이 설명되는 내용을 설명합니다.

2.2.3. 클러스터 알림 검토 및 작업

클러스터 알림(서비스 로그라고도 함)은 클러스터의 상태, 상태 또는 성능에 대한 메시지입니다.

클러스터 알림은 Red Hat site Reliability Engineering(SRE)이 관리형 클러스터의 상태에 대해 귀하와 통신하는 기본 방법입니다. Red Hat SRE는 클러스터 알림을 사용하여 클러스터 문제를 해결하거나 방지하기 위해 작업을 수행하도록 요청할 수도 있습니다.

클러스터 소유자 및 관리자는 클러스터가 정상 상태로 유지되고 지원되는지 확인하기 위해 클러스터 알림을 정기적으로 검토하고 조치를 취해야 합니다.

클러스터의 클러스터 기록 탭에서 Red Hat Hybrid Cloud Console에서 클러스터 알림을 볼 수 있습니다. 기본적으로 클러스터 소유자만 이메일로 클러스터 알림을 수신합니다. 다른 사용자가 클러스터 알림 이메일을 수신해야 하는 경우 각 사용자를 클러스터에 대한 알림 연락처로 추가합니다.

2.2.3.1. 클러스터 알림 정책

클러스터 알림은 클러스터의 상태와 영향을 미치는 높은 영향을 미치는 이벤트에 대한 정보를 유지하도록 설계되었습니다.

대부분의 클러스터 알림은 자동으로 생성되고 전송되어 즉시 문제에 대한 정보 또는 클러스터 상태에 대한 중요한 변경 사항을 확인할 수 있습니다.

특정 상황에서 Red Hat 사이트 안정성 엔지니어링(SRE)은 클러스터 알림을 생성하고 전송하여 복잡한 문제에 대한 추가 컨텍스트 및 지침을 제공합니다.

영향을 받지 않는 이벤트, 위험이 낮은 보안 업데이트, 일상적인 운영 및 유지 관리 또는 Red Hat SRE가 신속하게 해결하는 일시적인 문제에 대해서는 클러스터 알림이 전송되지 않습니다.

Red Hat 서비스는 다음과 같은 경우 자동으로 알림을 보냅니다.

  • 원격 상태 모니터링 또는 환경 확인 검사에서는 작업자 노드에 디스크 공간이 부족한 경우와 같이 클러스터에서 문제를 감지합니다.
  • 예를 들어 예정된 유지 관리 또는 업그레이드가 시작되는 경우 심각한 클러스터 라이프 사이클 이벤트가 발생하거나 클러스터 작업이 이벤트의 영향을 받지만 고객의 개입은 필요하지 않습니다.
  • 예를 들어 클러스터 소유권 또는 관리 제어가 한 사용자에서 다른 사용자로 전송되는 경우와 같이 중요한 클러스터 관리 변경이 발생합니다.
  • 예를 들어 Red Hat이 클러스터에서 서브스크립션 조건 또는 기능을 업데이트할 때 클러스터 서브스크립션이 변경 또는 업데이트됩니다.

SRE는 다음과 같은 경우 알림을 생성하고 보냅니다.

  • 사고로 인해 클러스터의 가용성 또는 성능에 영향을 미치는 성능 저하 또는 중단이 발생합니다(예: 클라우드 공급자의 경우 지역 중단). SRE는 사고 해결 진행 상황을 알려주기 위해 후속 알림을 보냅니다.
  • 클러스터에서 보안 취약점, 보안 위반 또는 비정상적인 활동이 감지됩니다.
  • Red Hat은 변경 사항이 생성 중이거나 클러스터 불안정성을 초래할 수 있음을 감지합니다.
  • Red Hat은 워크로드가 클러스터에서 성능 저하 또는 불안정성을 초래하고 있음을 감지합니다.

2.2.4. 사고 및 운영 관리

Red Hat은 기본 플랫폼 네트워킹에 필요한 서비스 구성 요소를 감독할 책임이 있습니다. AWS는 AWS Cloud에서 제공하는 모든 서비스를 실행하는 하드웨어 인프라를 보호할 책임이 있습니다. 고객은 고객 애플리케이션 데이터의 사고 및 운영 관리 및 고객이 클러스터 네트워크 또는 가상 네트워크에 대해 구성한 사용자 지정 네트워킹을 담당합니다.

Expand
리소스서비스 역할고객 역할

애플리케이션 네트워킹

Red Hat

  • 기본 OpenShift 라우터 서비스를 모니터링하고 경고에 응답합니다.
  • 애플리케이션 경로의 상태 및 그 뒤에 있는 끝점을 모니터링합니다.
  • Red Hat 및 AWS에 중단을 보고합니다.

클러스터 네트워킹

Red Hat

  • 클러스터 DNS, 클러스터 구성 요소 간 네트워크 플러그인 연결 및 기본 Ingress 컨트롤러와 관련된 사고를 모니터링, 경고 및 해결합니다.
  • 선택적 Ingress 컨트롤러, 소프트웨어 카탈로그를 통해 설치된 추가 Operator 및 기본 OpenShift CNI 플러그인을 대체하는 네트워크 플러그인과 관련된 사고를 모니터링하고 해결합니다.

가상 네트워킹 관리

Red Hat

  • 기본 플랫폼 네트워킹에 필요한 AWS 로드 밸런서, Amazon VPC 서브넷 및 AWS 서비스 구성 요소를 모니터링합니다. 경고에 응답합니다.
  • AWS 로드 밸런서 끝점의 상태를 모니터링합니다.
  • 잠재적인 문제 또는 보안 위협을 위해 Amazon VPC-to-VPC 연결, AWS VPN 연결 또는 AWS Direct Connect를 통해 선택적으로 구성된 네트워크 트래픽을 모니터링합니다.

가상 스토리지 관리

Red Hat

  • ROSA 서비스의 내장 컨테이너 이미지 레지스트리에 사용되는 클러스터 노드와 Amazon S3 버킷에 연결된 Amazon EBS 볼륨을 모니터링합니다. 경고에 응답합니다.
  • 애플리케이션 데이터의 상태를 모니터링합니다.
  • 고객이 관리하는 AWS KMS 키를 사용하는 경우 Amazon EBS 암호화의 주요 라이프사이클 및 주요 정책을 생성하고 제어합니다.

플랫폼 모니터링

Red Hat

  • 모든 ROSA 클러스터 구성 요소, 사이트 안정성 엔지니어(SRE) 서비스 및 기본 AWS 계정에 대해 중앙 집중식 모니터링 및 경고 시스템을 유지 관리합니다.
 

사고 관리

Red Hat

  • 알려진 문제를 제기하고 관리합니다.
  • RCA(root cause analysis) 초안을 고객과 공유합니다.
  • 지원 케이스를 통해 알려진 문제를 발생시킵니다.

인프라 및 데이터 복원력

Red Hat

  • STS를 사용하여 ROSA 클러스터에 사용할 수 있는 Red Hat 제공 백업 방법은 없습니다.
  • Red Hat은 RRPO(복구 지점 목표) 또는 복구 시간 목표(RTO)를 커밋하지 않습니다.
  • 정기적으로 데이터 백업을 수행하고 Kubernetes 모범 사례를 따르는 워크로드와 함께 다중 AZ 클러스터를 배포하여 리전 내 고가용성을 보장합니다.
  • 전체 클라우드 리전을 사용할 수 없는 경우 다른 지역에 새 클러스터를 설치하고 백업 데이터를 사용하여 앱을 복원합니다.

클러스터 용량

Red Hat

  • 클러스터의 모든 컨트롤 플레인 및 인프라 노드의 용량을 관리합니다.
  • 업그레이드 중 클러스터 용량을 평가하고 클러스터 경고에 대한 응답으로 평가합니다.
 

AWS 소프트웨어 (공용 AWS 서비스)

AWS

  • 고객 계정에서 AWS 리소스의 상태를 모니터링합니다.
  • IAM 툴을 사용하여 고객 계정의 AWS 리소스에 적절한 권한을 적용합니다.

하드웨어/AWS 글로벌 인프라

AWS

  • 고객 애플리케이션 및 데이터를 구성, 관리 및 모니터링하여 애플리케이션 및 데이터 보안 제어가 제대로 적용되도록 합니다.
2.2.4.1. 플랫폼 모니터링

플랫폼 감사 로그는 중앙 집중식 보안 정보 및 이벤트 모니터링(SIEM) 시스템으로 안전하게 전달됩니다. 여기서 Red Hat SRE 팀에 구성된 경고를 트리거할 수 있으며 수동 검토가 적용됩니다. 감사 로그는 1년 동안 SIEM 시스템에서 유지됩니다. 클러스터가 삭제될 때 지정된 클러스터의 감사 로그는 삭제되지 않습니다.

2.2.4.2. 사고 관리

사고는 하나 이상의 Red Hat 서비스의 성능 저하 또는 중단을 초래하는 이벤트입니다.

고객 또는 CEE(Customer Experience and Engagement) 멤버, 중앙 집중식 모니터링 및 경고 시스템에 의해 직접 또는 SRE 팀의 구성원에 의해 직접 사고가 발생할 수 있습니다.

서비스 및 고객에 미치는 영향에 따라 이 문제는 심각도 별로 분류됩니다.

Red Hat은 새로운 사고를 관리할 때 다음과 같은 일반적인 워크플로를 사용합니다.

  1. SRE 첫 번째 대응자가 새로운 사고에 대해 경고하고 초기 조사를 시작합니다.
  2. 초기 조사 후 이 사고에는 복구 노력을 조정하는 사고 주도가 할당됩니다.
  3. 사고 리더는 관련 알림 및 지원 케이스 업데이트를 포함하여 복구 관련 모든 통신 및 조정을 관리합니다.
  4. 문제가 해결되면 사고에 대한 간략한 요약이 고객의 지원 티켓에 제공됩니다. 이 요약은 고객이 사고와 해결 방법을 더 자세히 이해하는 데 도움이 됩니다.

고객이 지원 티켓에 제공되는 내용 외에 자세한 정보가 필요한 경우 다음 워크플로우를 요청할 수 있습니다.

  1. 고객은 사고 해결 후 5일 이내에 추가 정보를 요청해야 합니다.
  2. 사고의 심각도에 따라 Red Hat은 근본 원인 요약 또는 지원 티켓에서 RCA(root cause analysis)를 고객에게 제공할 수 있습니다. 추가 정보는 근본 원인 요약 및 사고 해결의 근본 원인 분석을 위해 30일 이내에 제공됩니다.

Red Hat은 지원 케이스를 통해 발생하는 고객 사고도 지원합니다. Red Hat은 다음을 포함하되 이에 국한되지 않는 활동을 지원할 수 있습니다.

  • 가상 컴퓨팅 격리를 포함한 포렌식 수집
  • 컴퓨팅 이미지 컬렉션 안내
  • 수집된 감사 로그 제공
2.2.4.3. 클러스터 용량

클러스터 업그레이드 용량의 영향은 업그레이드 테스트 프로세스의 일부로 평가되어 클러스터에 새로운 추가 기능의 영향을 받지 않도록 합니다. 클러스터 업그레이드 중에 업그레이드 프로세스 중에 총 클러스터 용량이 유지되도록 추가 작업자 노드가 추가됩니다.

Red Hat SRE 직원의 용량 평가는 특정 기간 동안 사용량 임계값을 초과한 후 클러스터의 경고에 따라 수행됩니다. 이러한 경고는 또한 고객에게 알림을 초래할 수 있습니다.

2.2.5. 변경 관리

이 섹션에서는 클러스터 및 구성 변경 사항, 패치 및 릴리스를 관리하는 방법에 대해 설명합니다.

Red Hat은 고객이 제어할 클러스터 인프라 및 서비스를 변경하고 컨트롤 플레인 노드, 인프라 노드 및 서비스 및 작업자 노드의 버전을 유지 관리해야 합니다. AWS는 AWS Cloud에서 제공하는 모든 서비스를 실행하는 하드웨어 인프라를 보호할 책임이 있습니다. 고객은 인프라 변경 요청을 시작하고 클러스터에서 선택적 서비스 및 네트워킹 구성을 설치 및 유지 관리하고 고객 데이터 및 고객 애플리케이션에 대한 모든 변경 사항을 담당합니다.

2.2.5.1. 고객 시작 변경

클러스터 배포, 작업자 노드 확장 또는 클러스터 삭제와 같은 셀프 서비스 기능을 사용하여 변경을 시작할 수 있습니다.

변경 내역은 OpenShift Cluster Manager 개요 탭 의 클러스터 기록 섹션에 캡처되며 사용자가 볼 수 있습니다. 변경 기록에는 다음 변경 사항의 로그가 포함되어 있지만 이에 국한되지는 않습니다.

  • ID 공급자 추가 또는 제거
  • dedicated-admins 그룹에 사용자 추가 또는 제거
  • 클러스터 컴퓨팅 노드 확장
  • 클러스터 로드 밸런서 확장
  • 클러스터 영구 스토리지 스케일링
  • 클러스터 업그레이드

다음 구성 요소에 대해 OpenShift Cluster Manager의 변경을 방지하여 유지 관리 제외를 구현할 수 있습니다.

  • 클러스터 삭제
  • ID 공급자 추가, 수정 또는 제거
  • 승격된 그룹에서 사용자 추가, 수정 또는 제거
  • 애드온 설치 또는 제거
  • 클러스터 네트워킹 구성 수정
  • 머신 풀 추가, 수정 또는 제거
  • 사용자 워크로드 모니터링 활성화 또는 비활성화
  • 업그레이드 시작
중요

유지 관리 제외를 적용하려면 시스템 풀 자동 스케일링 또는 자동 업그레이드 정책이 비활성화되었는지 확인합니다. 유지 관리 제외가 해제된 후 필요에 따라 머신 풀 자동 스케일링 또는 자동 업그레이드 정책을 활성화합니다.

2.2.5.2. Red Hat 시작 변경 사항

Red Hat SRE(사이트 안정성 엔지니어링)는 GitOps 워크플로우 및 완전히 자동화된 CI/CD 파이프라인을 사용하여 AWS 클래식 아키텍처에서 Red Hat OpenShift Service의 인프라, 코드 및 구성을 관리합니다. 이러한 프로세스를 통해 Red Hat은 고객에게 부정적인 영향을 주지 않고 지속적으로 서비스 개선을 안전하게 도입할 수 있습니다.

제안된 모든 변경 사항은 체크인 시 즉시 일련의 자동화된 검증을 거칩니다. 그런 다음 자동화된 통합 테스트를 수행한 스테이징 환경에 변경 사항이 배포됩니다. 마지막으로 변경 사항이 프로덕션 환경에 배포됩니다. 각 단계는 완전히 자동화됩니다.

승인된 Red Hat SRE 검토자는 각 단계에 대한 진행 사항을 승인해야 합니다. 검토자는 변경을 제안한 개인과 같을 수 없습니다. 모든 변경 사항 및 승인은 GitOps 워크플로우의 일부로 완전히 감사할 수 있습니다.

일부 변경 사항은 기능 플래그를 사용하여 개인 또는 공용 프리뷰와 같은 지정된 클러스터 또는 고객에 대한 새로운 기능의 가용성을 제어하여 프로덕션에 점진적으로 릴리스됩니다.

2.2.5.3. 패치 관리

OpenShift Container Platform 소프트웨어 및 기본 변경 불가능한 RHCOS(Red Hat CoreOS) 운영 체제 이미지가 일반 z-stream 업그레이드의 버그 및 취약점에 패치됩니다. OpenShift Container Platform 설명서에서 RHCOS 아키텍처에 대해 자세히 알아보십시오.

2.2.5.4. 릴리스 관리

Red Hat은 클러스터를 자동으로 업그레이드하지 않습니다. OpenShift Cluster Manager 웹 콘솔을 사용하여 정기적으로 클러스터를 업그레이드(재개 업그레이드) 또는 한 번만(개인 업그레이드)하도록 예약할 수 있습니다. Red Hat은 클러스터가 심각한 영향을 미치는 CVE의 영향을 받는 경우에만 클러스터를 새로운 z-stream 버전으로 강제 업그레이드할 수 있습니다.

참고

필요한 권한은 y-stream 릴리스 간에 변경될 수 있으므로 업그레이드를 수행하기 전에 AWS 관리 정책이 자동으로 업데이트됩니다.

OpenShift Cluster Manager 웹 콘솔에서 모든 클러스터 업그레이드 이벤트 기록을 검토할 수 있습니다. 릴리스에 대한 자세한 내용은 라이프 사이클 정책을 참조하십시오.

2.2.5.5. 서비스 및 고객 리소스 담당

다음 표에서는 클러스터 리소스에 대한 책임을 정의합니다.

Expand
리소스서비스 역할고객 역할

로깅

Red Hat

  • 플랫폼 감사 로그를 중앙 집중식으로 집계 및 모니터링합니다.
  • 고객이 기본 애플리케이션 로깅을 위해 로깅 스택을 배포할 수 있도록 로깅 Operator를 제공하고 유지 관리합니다.
  • 고객 요청 시 감사 로그를 제공합니다.
  • 클러스터에 선택적 기본 애플리케이션 로깅 Operator를 설치합니다.
  • 사이드카 컨테이너 또는 타사 로깅 애플리케이션과 같은 선택적 애플리케이션 로깅 솔루션을 설치, 구성 및 유지 관리합니다.
  • 로깅 스택 또는 클러스터의 안정성에 영향을 미치는 경우 고객 애플리케이션에서 생성되는 애플리케이션 로그의 크기와 빈도를 조정합니다.
  • 특정 문제를 조사하기 위한 지원 케이스를 통해 플랫폼 감사 로그를 요청합니다.

애플리케이션 네트워킹

Red Hat

  • 공용 로드 밸런서를 설정합니다. 필요한 경우 프라이빗 로드 밸런서와 최대 하나의 추가 로드 밸런서를 설정하는 기능을 제공합니다.
  • 기본 OpenShift 라우터 서비스를 설정합니다. 라우터를 개인용으로 설정하고 하나의 추가 라우터 shard에 추가하는 기능을 제공합니다.
  • 기본 내부 pod 트래픽에 대해 OVN-Kubernetes 구성 요소를 설치, 구성 및 유지 관리합니다.
  • 고객이 NetworkPolicyEgressNetworkPolicy (firewall) 오브젝트를 관리할 수 있는 기능을 제공합니다.
  • NetworkPolicy 오브젝트를 사용하여 프로젝트 및 Pod 네트워크, Pod 인그레스 및 Pod 송신에 대한 기본이 아닌 Pod 네트워크 권한을 구성합니다.
  • OpenShift Cluster Manager를 사용하여 기본 애플리케이션 경로에 대한 프라이빗 로드 밸런서를 요청합니다.
  • OpenShift Cluster Manager를 사용하여 하나의 추가 퍼블릭 또는 프라이빗 라우터 shard 및 해당 로드 밸런서를 구성합니다.
  • 특정 서비스에 대한 추가 서비스 로드 밸런서를 요청 및 구성합니다.
  • 필요한 DNS 전달 규칙을 구성합니다.

클러스터 네트워킹

Red Hat

  • 퍼블릭 또는 프라이빗 서비스 엔드 포인트와 같은 클러스터 관리 구성 요소와 Amazon VPC 구성 요소와의 통합이 필요합니다.
  • 작업자 클러스터와 컨트롤 플레인 간의 내부 클러스터 통신에 필요한 내부 네트워킹 구성 요소를 설정합니다.
  • 클러스터를 프로비저닝하기 전에 필요한 OpenShift 및 AWS 도메인 및 포트에 대한 액세스 권한을 부여하도록 방화벽을 구성합니다. 자세한 내용은 "AWS 방화벽 사전 요구 사항"을 참조하십시오.
  • 클러스터가 프로비저닝될 때 OpenShift Cluster Manager를 통해 필요한 경우 시스템 CIDR, 서비스 CIDR, 포드 CIDR에 대한 기본이 아닌 IP 주소 범위를 제공합니다.
  • 클러스터 생성 시 또는 OpenShift Cluster Manager를 통해 클러스터 생성 시 API 서비스 엔드포인트를 공용 또는 비공개로 설정하도록 요청합니다.
  • 추가 Ingress 컨트롤러를 생성하여 추가 애플리케이션 경로를 게시합니다.
  • 기본 OpenShift CNI 플러그인 없이 클러스터가 설치된 경우 선택적 CNI 플러그인을 설치, 구성 및 업그레이드합니다.

가상 네트워킹 관리

Red Hat

  • 서브넷, 로드 밸런서, 인터넷 게이트웨이 및 NAT 게이트웨이와 같은 클러스터를 프로비저닝하는 데 필요한 Amazon VPC 구성 요소를 설정하고 구성합니다.
  • 고객이 OpenShift Cluster Manager를 통해 필요에 따라 온프레미스 리소스, Amazon VPC-to-VPC 연결 및 AWS Direct Connect와 함께 AWS VPN 연결을 관리할 수 있는 기능을 제공합니다.
  • 고객이 서비스 로드 밸런서와 함께 사용할 AWS 로드 밸런서를 생성하고 배포할 수 있습니다.
  • Amazon VPC-to-VPC 연결, AWS VPN 연결 또는 AWS Direct Connect와 같은 선택적 Amazon VPC 구성 요소를 설정하고 유지 관리합니다.
  • 특정 서비스에 대한 추가 서비스 로드 밸런서를 요청 및 구성합니다.

가상 컴퓨팅 관리

Red Hat

  • 클러스터 컴퓨팅에 Amazon EC2 인스턴스를 사용하도록 ROSA 컨트롤 플레인 및 데이터 플레인을 설정하고 구성합니다.
  • 클러스터에서 Amazon EC2 컨트롤 플레인 및 인프라 노드 배포를 모니터링하고 관리합니다.
  • OpenShift Cluster Manager 또는 ROSA CLI(rosa)를 사용하여 머신 풀을 생성하여 Amazon EC2 작업자 노드를 모니터링하고 관리합니다.
  • 고객이 배포한 애플리케이션 및 애플리케이션 데이터에 대한 변경 사항을 관리합니다.

클러스터 버전

Red Hat

  • 업그레이드 예약 프로세스를 활성화합니다.
  • 업그레이드 진행 상황을 모니터링하고 발생한 모든 문제를 해결합니다.
  • 패치 릴리스 업그레이드에 대한 변경 로그 및 릴리스 노트를 게시합니다.
  • 자동 업그레이드를 설정하거나 즉시 또는 향후 패치 릴리스 업그레이드를 예약합니다.
  • 마이너 버전 업그레이드를 확인하고 예약합니다.
  • 패치 릴리스에서 고객 애플리케이션을 테스트하여 호환성을 보장합니다.

용량 관리

Red Hat

  • 컨트롤 플레인 사용을 모니터링합니다. 컨트롤 플레인에는 컨트롤 플레인 노드 및 인프라 노드가 포함됩니다.
  • 서비스 품질을 유지하기 위해 컨트롤 플레인을 확장하고 크기를 조정합니다.
  • 작업자 노드 사용률을 모니터링하고 필요한 경우 자동 확장 기능을 활성화합니다.
  • 클러스터의 스케일링 전략을 결정합니다. 머신 풀에 대한 자세한 내용은 추가 리소스를 참조하십시오.
  • 필요에 따라 제공된 OpenShift Cluster Manager 컨트롤을 사용하여 추가 작업자 노드를 추가하거나 제거합니다.
  • 클러스터 리소스 요구 사항에 대한 Red Hat 알림에 응답합니다.

가상 스토리지 관리

Red Hat

  • 클러스터의 로컬 노드 스토리지 및 영구 볼륨 스토리지를 프로비저닝하도록 Amazon EBS를 설정하고 구성합니다.
  • Amazon S3 버킷 스토리지를 사용하도록 기본 제공 이미지 레지스트리를 설정하고 구성합니다. [1]
  • Amazon S3에서 이미지 레지스트리 리소스를 정기적으로 정리하여 Amazon S3 사용 및 클러스터 성능을 최적화합니다. [2]
  • 필요한 경우 클러스터에서 영구 볼륨을 프로비저닝하도록 Amazon EBS CSI 드라이버 또는 Amazon EFS CSI 드라이버를 구성합니다.

AWS 소프트웨어 (공용 AWS 서비스)

AWS

컴퓨팅: ROSA 관련 리소스에 사용되는 Amazon EC2 서비스를 제공합니다.

스토리지: ROSA에서 클러스터의 로컬 노드 스토리지 및 영구 볼륨 스토리지를 프로비저닝하는 데 사용하는 Amazon EBS를 제공합니다.

스토리지: ROSA 내장 이미지 레지스트리에 사용되는 Amazon S3를 제공합니다.

네트워킹: ROSA가 가상 네트워킹 인프라 요구 사항을 충족하는 데 사용하는 다음 AWS 클라우드 서비스를 제공합니다.

  • Amazon VPC
  • Elastic Load Balancing
  • AWS IAM
  • AWS STS

네트워킹: 고객은 선택적으로 ROSA와 통합할 수 있는 다음 AWS 서비스를 제공합니다.

  • AWS VPN
  • AWS Direct Connect
  • AWS PrivateLink
  • AWS Transit Gateway
  • IAM 주체 또는 STS 임시 보안 인증 정보와 연결된 액세스 키 ID 및 시크릿 액세스 키를 사용하여 요청에 서명합니다.
  • 클러스터 생성 중에 사용할 클러스터의 VPC 서브넷을 지정합니다.
  • 선택적으로 ROSA 클러스터와 함께 사용할 고객 관리 VPC를 구성합니다(privateLink 및 HCP 클러스터의 경우 필수).

하드웨어/AWS 글로벌 인프라

AWS

  • AWS 데이터 센터의 관리 제어에 대한 자세한 내용은 AWS Cloud Security 페이지에서 당사의 제어 기능을 참조하십시오.
  • 변경 관리 모범 사례에 대한 자세한 내용은 AWS Solutions Library 에서 AWS 변경 관리 지침을 참조하십시오.
  • AWS 클라우드에서 호스팅되는 고객 애플리케이션 및 데이터에 대한 변경 관리 모범 사례를 구현합니다.
  1. AWS STS의 인증 흐름에 대한 자세한 내용은 AWS STS의 인증 흐름을 참조하십시오.
  2. 이미지 정리에 대한 자세한 내용은 자동으로 이미지 정리를 참조하십시오.

2.2.6. 보안 및 규정 준수

다음 표에서는 보안 및 규정 준수와 관련된 책임을 간략하게 설명합니다.

Expand
리소스서비스 역할고객 역할

로깅

Red Hat

  • 클러스터 감사 로그를 Red Hat SIEM으로 보내 보안 이벤트를 분석합니다. 법의학 분석을 지원하기 위해 정의된 기간 동안 감사 로그를 유지합니다.
  • 보안 이벤트를 위해 애플리케이션 로그를 분석합니다.
  • 기본 로깅 스택에서 제공하는 것보다 긴 보존이 필요한 경우 로깅 사이드카 컨테이너 또는 타사 로깅 애플리케이션을 통해 애플리케이션 로그를 외부 끝점으로 보냅니다.

가상 네트워킹 관리

Red Hat

  • 가상 네트워킹 구성 요소를 모니터링하여 잠재적인 문제 및 보안 위협을 모니터링합니다.
  • 추가 모니터링 및 보호를 위해 공용 AWS 툴을 사용합니다.
  • 잠재적인 문제 및 보안 위협을 확인하려면 선택적 구성된 가상 네트워킹 구성 요소를 모니터링합니다.
  • 필요한 방화벽 규칙 또는 고객 데이터 센터 보호를 필요에 따라 구성합니다.

가상 스토리지 관리

Red Hat

  • 잠재적인 문제 및 보안 위협에 대해 가상 스토리지 구성 요소를 모니터링합니다.
  • 추가 모니터링 및 보호를 위해 공용 AWS 툴을 사용합니다.
  • Amazon EBS에서 제공하는 AWS 관리 KMS(Key Management Service) 키를 사용하여 기본적으로 컨트롤 플레인, 인프라 및 작업자 노드 볼륨 데이터를 암호화하도록 ROSA 서비스를 구성합니다.
  • 기본 스토리지 클래스를 Amazon EBS에서 제공하는 AWS 관리 KMS 키와 함께 사용하는 고객 영구 볼륨을 암호화하도록 ROSA 서비스를 구성합니다.
  • 고객이 고객 관리 AWS KMS 키를 사용하여 영구 볼륨을 암호화할 수 있는 기능을 제공합니다.
  • Amazon S3 관리 키(SSE-3)와 함께 서버 측 암호화를 사용하여 미사용 이미지 레지스트리 데이터를 암호화하도록 컨테이너 이미지 레지스트리를 구성합니다.
  • 고객이 공용 또는 프라이빗 Amazon S3 이미지 레지스트리를 생성하여 컨테이너 이미지를 무단 사용자 액세스로부터 보호할 수 있는 기능을 제공합니다.
  • Amazon EBS 볼륨을 프로비저닝합니다.
  • ROSA에서 볼륨으로 마운트하기에 충분한 스토리지를 사용할 수 있도록 Amazon EBS 볼륨 스토리지를 관리합니다.
  • 영구 볼륨 클레임을 생성하고 OpenShift Cluster Manager를 통해 영구 볼륨을 생성합니다.

가상 컴퓨팅 관리

Red Hat

  • 잠재적인 문제 및 보안 위협에 대해 가상 컴퓨팅 구성 요소를 모니터링합니다.
  • 추가 모니터링 및 보호를 위해 공용 AWS 툴을 사용합니다.
  • 잠재적인 문제 및 보안 위협을 확인하려면 선택적 구성된 가상 네트워킹 구성 요소를 모니터링합니다.
  • 필요한 방화벽 규칙 또는 고객 데이터 센터 보호를 필요에 따라 구성합니다.

AWS 소프트웨어 (공용 AWS 서비스)

AWS

컴퓨팅: ROSA 컨트롤 플레인, 인프라 및 작업자 노드에 사용되는 ROSA에 사용되는 Amazon EC2 보안 자세한 내용은 Amazon EC2 사용자 가이드 의 Amazon EC2의 인프라 보안 을 참조하십시오.

스토리지: ROSA 컨트롤 플레인, 인프라 및 작업자 노드 볼륨 및 Kubernetes 영구 볼륨에 사용되는 Amazon EBS(Elastic Block Store)를 보호합니다. 자세한 내용은 Amazon EC2 사용자 가이드 의 Amazon EC2의 데이터 보호를 참조하십시오.

스토리지: ROSA가 컨트롤 플레인, 인프라, 작업자 노드 볼륨 및 영구 볼륨을 암호화하는 데 사용하는 AWS KMS를 제공합니다. 자세한 내용은 Amazon EC2 사용자 가이드의 Amazon EBS 암호화를 참조하십시오.

스토리지: ROSA 서비스의 내장 컨테이너 이미지 레지스트리에 사용되는 Amazon S3 보안 자세한 내용은 S3 사용자 가이드의 Amazon S3 보안 을 참조하십시오.

네트워킹: Amazon VPC에 내장된 네트워크 방화벽, 프라이빗 또는 전용 네트워크 연결, AWS 글로벌 및 지역 네트워크 간의 모든 트래픽 자동 암호화를 포함하여 AWS 글로벌 인프라에서 개인 정보 보호 및 네트워크 액세스를 강화하기 위한 보안 기능과 서비스를 제공합니다. 자세한 내용은 AWS Security 소개 백서에서 AWS Shared Responsibility Model and Infrastructure 보안 을 참조하십시오.

  • Amazon EC2 인스턴스의 데이터를 보호하기 위해 보안 모범 사례 및 최소 권한 원칙을 따르십시오. 자세한 내용은 Amazon EC2 의 인프라 보안 및 Amazon EC2 의 데이터 보호를 참조하십시오.
  • 잠재적인 문제 및 보안 위협을 확인하려면 선택적 구성된 가상 네트워킹 구성 요소를 모니터링합니다.
  • 필요한 방화벽 규칙 또는 고객 데이터 센터 보호를 필요에 따라 구성합니다.
  • 선택적 고객 관리 KMS 키를 생성하고 KMS 키를 사용하여 Amazon EBS 영구 볼륨을 암호화합니다.
  • 가상 스토리지의 고객 데이터를 모니터링하여 잠재적인 문제 및 보안 위협을 확인합니다. 자세한 내용은 공유 역할 모델을 참조하십시오.

하드웨어/AWS 글로벌 인프라

AWS

  • ROSA가 서비스 기능을 제공하는 데 사용하는 AWS 글로벌 인프라를 제공합니다. AWS 보안 제어에 대한 자세한 내용은 AWS 백서에서 AWS 인프라의 보안 을 참조하십시오.
  • AWS Artifact 및 AWS Security Hub와 같은 툴을 사용하여 고객이 규정 준수 요구 사항을 관리하고 AWS에서 보안 상태를 확인할 수 있는 문서를 제공합니다. 자세한 내용은 ROSA 사용자 가이드의 ROSA에 대한 규정 준수 검증을 참조하십시오.
  • 고객 애플리케이션 및 데이터를 구성, 관리 및 모니터링하여 애플리케이션 및 데이터 보안 제어가 제대로 적용되도록 합니다.
  • IAM 툴을 사용하여 고객 계정의 AWS 리소스에 적절한 권한을 적용합니다.

2.2.7. 재해 복구

재해 복구에는 데이터 및 구성 백업, 재해 복구 환경에 대한 데이터 및 구성 복제, 재해 이벤트 장애 조치(failover)가 포함됩니다.

Red Hat OpenShift Service on AWS 클래식 아키텍처(ROSA)는 Pod, 노드 및 가용성 영역 수준에서 발생하는 장애에 대한 재해 복구 기능을 제공합니다.

모든 재해 복구를 위해서는 고객이 원하는 가용성 수준을 고려하여 여러 가용성 영역에 여러 머신 풀과 같은 고가용성 애플리케이션, 스토리지 및 클러스터 아키텍처를 배포하는 데 모범 사례를 사용해야 합니다.

단일 머신 풀이 있는 한 클러스터는 가용성 영역 또는 지역 중단 시 재해 방지 또는 복구를 제공하지 않습니다. 고객이 유지 관리하는 장애 조치가 있는 단일 머신 풀이 있는 여러 클러스터는 영역 또는 지역 수준에서 중단을 설명할 수 있습니다.

여러 가용 영역에 걸쳐 여러 머신 풀이 있는 하나의 클러스터는 전체 지역 중단 시 재해 방지 또는 복구를 제공하지 않습니다. 고객이 유지 관리하는 장애 조치(failover)가 있는 두 개 이상의 가용성 영역에 여러 머신 풀이 있는 여러 리전의 클러스터는 지역 수준에서 중단을 초래할 수 있습니다.

Expand
리소스서비스 역할고객 역할

가상 네트워킹 관리

Red Hat

  • 플랫폼이 작동하는 데 필요한 영향을 받는 가상 네트워크 구성 요소를 다시 생성합니다.
  • 퍼블릭 클라우드 공급자가 권장하는 대로 중단을 방지할 수 있는 터널을 두 개 이상 사용하여 가상 네트워킹 연결을 구성합니다.
  • 여러 클러스터에서 글로벌 로드 밸런서를 사용하는 경우 장애 조치 DNS 및 로드 밸런싱을 유지 관리합니다.

가상 스토리지 관리

Red Hat - IAM 사용자 인증 정보를 사용하여 생성된 ROSA 클러스터의 경우 클러스터의 모든 Kubernetes 오브젝트를 시간별, 일별, 주간 볼륨 스냅샷을 통해 백업합니다. 시간별 백업은 24시간(1일), 일일 백업은 168 hrs(1주) 동안 유지되며, 주 백업은 720 hrs (30일) 동안 유지됩니다.

  • 고객 애플리케이션 및 애플리케이션 데이터를 백업합니다.

가상 컴퓨팅 관리

Red Hat - 클러스터를 모니터링하고 실패한 Amazon EC2 컨트롤 플레인 또는 인프라 노드를 교체합니다. - 고객이 실패한 작업자 노드를 수동으로 또는 자동으로 교체할 수 있는 기능을 제공합니다.

  • OpenShift Cluster Manager 또는 ROSA CLI를 통해 머신 풀 구성을 편집하여 실패한 Amazon EC2 작업자 노드를 교체합니다.

AWS 소프트웨어 (공용 AWS 서비스)

AWS

컴퓨팅: Amazon EBS 스냅샷 및 Amazon EC2 자동 확장과 같은 데이터 복원력을 지원하는 Amazon EC2 기능을 제공합니다. 자세한 내용은 EC2 사용자 가이드 의 Amazon EC2의 Resilience 를 참조하십시오.

스토리지: ROSA 서비스와 고객이 Amazon EBS 볼륨 스냅샷을 통해 클러스터의 Amazon EBS 볼륨을 백업할 수 있는 기능을 제공합니다.

스토리지: 데이터 복원력을 지원하는 Amazon S3 기능에 대한 자세한 내용은 Amazon S3의 복원을 참조하십시오.

네트워킹: 데이터 복원력을 지원하는 Amazon VPC 기능에 대한 자세한 내용은 Amazon VPC 사용자 가이드의 Amazon Virtual Private Cloud Resilience 를 참조하십시오.

  • 내결함성 및 클러스터 가용성을 개선하도록 여러 가용성 영역에서 여러 머신 풀로 ROSA 클러스터를 구성합니다.
  • 볼륨 스냅샷을 활성화하기 위해 Amazon EBS CSI 드라이버를 사용하여 영구 볼륨을 프로비저닝합니다.
  • Amazon EBS 영구 볼륨의 CSI 볼륨 스냅샷을 생성합니다.

하드웨어/AWS 글로벌 인프라

AWS

  • ROSA가 컨트롤 플레인, 인프라 및 작업자 노드를 가용성 영역에서 확장할 수 있는 AWS 글로벌 인프라를 제공합니다. 이러한 기능을 통해 ROSA는 중단 없이 영역 간의 자동 페일오버를 오케스트레이션할 수 있습니다.
  • 재해 복구 모범 사례에 대한 자세한 내용은 AWS Cryostat-Architected Framework 의 클라우드의 재해 복구 옵션을 참조하십시오.
  • 내결함성 및 클러스터 가용성을 개선하도록 여러 가용성 영역에서 여러 머신 풀로 ROSA 클러스터를 구성합니다.

2.2.8. Red Hat 관리 리소스

2.2.8.1. 개요

다음은 SRE-P(Service Reliability Engineering Platform) 팀에서 관리하거나 보호하는 AWS 클래식 아키텍처 리소스의 모든 Red Hat OpenShift Service를 다룹니다. 이로 인해 클러스터 불안정성이 발생할 수 있으므로 고객은 이러한 리소스를 변경하지 않아야 합니다.

2.2.8.2. 관리 리소스

다음 목록에는 중앙 집중식 플릿 구성 관리 시스템인 OpenShift Hive에서 관리하는 AWS 클래식 아키텍처 리소스의 Red Hat OpenShift Service가 표시되어 있습니다. 이러한 리소스는 설치 중에 생성된 OpenShift/ROSA 플랫폼 리소스에 추가됩니다. OpenShift Hive는 AWS 클래식 아키텍처 클러스터의 모든 Red Hat OpenShift Service에서 일관성을 지속적으로 조정합니다. AWS 클래식 아키텍처 리소스의 Red Hat OpenShift Service는 OpenShift Cluster Manager 및 Hive가 동기화되도록 OpenShift Cluster Manager를 통해 변경해야 합니다. OpenShift Cluster Manager에서 해당 리소스 수정을 지원하지 않는 경우 ocm-feedback@redhat.com 에 문의하십시오.

Red Hat 관리 리소스 목록

(다음은 ROSA 클러스터에 표시되지 않을 수 있습니다)

Resources:
  ConfigMap:
  - namespace: openshift-config
    name: rosa-brand-logo
  - namespace: openshift-console
    name: custom-logo
  - namespace: openshift-deployment-validation-operator
    name: deployment-validation-operator-config
  - namespace: openshift-file-integrity
    name: fr-aide-conf
  - namespace: openshift-managed-upgrade-operator
    name: managed-upgrade-operator-config
  - namespace: openshift-monitoring
    name: cluster-monitoring-config
  - namespace: openshift-monitoring
    name: managed-namespaces
  - namespace: openshift-monitoring
    name: ocp-namespaces
  - namespace: openshift-monitoring
    name: osd-rebalance-infra-nodes
  - namespace: openshift-monitoring
    name: sre-dns-latency-exporter-code
  - namespace: openshift-monitoring
    name: sre-dns-latency-exporter-trusted-ca-bundle
  - namespace: openshift-monitoring
    name: sre-ebs-iops-reporter-code
  - namespace: openshift-monitoring
    name: sre-ebs-iops-reporter-trusted-ca-bundle
  - namespace: openshift-monitoring
    name: sre-stuck-ebs-vols-code
  - namespace: openshift-monitoring
    name: sre-stuck-ebs-vols-trusted-ca-bundle
  - namespace: openshift-security
    name: osd-audit-policy
  - namespace: openshift-validation-webhook
    name: webhook-cert
  - namespace: openshift
    name: motd
  Endpoints:
  - namespace: openshift-deployment-validation-operator
    name: deployment-validation-operator-metrics
  - namespace: openshift-monitoring
    name: sre-dns-latency-exporter
  - namespace: openshift-monitoring
    name: sre-ebs-iops-reporter
  - namespace: openshift-monitoring
    name: sre-stuck-ebs-vols
  - namespace: openshift-scanning
    name: loggerservice
  - namespace: openshift-security
    name: audit-exporter
  - namespace: openshift-validation-webhook
    name: validation-webhook
  Namespace:
  - name: dedicated-admin
  - name: openshift-addon-operator
  - name: openshift-aqua
  - name: openshift-aws-vpce-operator
  - name: openshift-backplane
  - name: openshift-backplane-cee
  - name: openshift-backplane-csa
  - name: openshift-backplane-cse
  - name: openshift-backplane-csm
  - name: openshift-backplane-managed-scripts
  - name: openshift-backplane-mobb
  - name: openshift-backplane-srep
  - name: openshift-backplane-tam
  - name: openshift-cloud-ingress-operator
  - name: openshift-codeready-workspaces
  - name: openshift-compliance
  - name: openshift-compliance-monkey
  - name: openshift-container-security
  - name: openshift-custom-domains-operator
  - name: openshift-customer-monitoring
  - name: openshift-deployment-validation-operator
  - name: openshift-managed-node-metadata-operator
  - name: openshift-file-integrity
  - name: openshift-logging
  - name: openshift-managed-upgrade-operator
  - name: openshift-must-gather-operator
  - name: openshift-observability-operator
  - name: openshift-ocm-agent-operator
  - name: openshift-operators-redhat
  - name: openshift-osd-metrics
  - name: openshift-rbac-permissions
  - name: openshift-route-monitor-operator
  - name: openshift-scanning
  - name: openshift-security
  - name: openshift-splunk-forwarder-operator
  - name: openshift-sre-pruning
  - name: openshift-suricata
  - name: openshift-validation-webhook
  - name: openshift-velero
  - name: openshift-monitoring
  - name: openshift
  - name: openshift-cluster-version
  - name: keycloak
  - name: goalert
  - name: configure-goalert-operator
  ReplicationController:
  - namespace: openshift-monitoring
    name: sre-ebs-iops-reporter-1
  - namespace: openshift-monitoring
    name: sre-stuck-ebs-vols-1
  Secret:
  - namespace: openshift-authentication
    name: v4-0-config-user-idp-0-file-data
  - namespace: openshift-authentication
    name: v4-0-config-user-template-error
  - namespace: openshift-authentication
    name: v4-0-config-user-template-login
  - namespace: openshift-authentication
    name: v4-0-config-user-template-provider-selection
  - namespace: openshift-config
    name: htpasswd-secret
  - namespace: openshift-config
    name: osd-oauth-templates-errors
  - namespace: openshift-config
    name: osd-oauth-templates-login
  - namespace: openshift-config
    name: osd-oauth-templates-providers
  - namespace: openshift-config
    name: rosa-oauth-templates-errors
  - namespace: openshift-config
    name: rosa-oauth-templates-login
  - namespace: openshift-config
    name: rosa-oauth-templates-providers
  - namespace: openshift-config
    name: support
  - namespace: openshift-config
    name: tony-devlab-primary-cert-bundle-secret
  - namespace: openshift-ingress
    name: tony-devlab-primary-cert-bundle-secret
  - namespace: openshift-kube-apiserver
    name: user-serving-cert-000
  - namespace: openshift-kube-apiserver
    name: user-serving-cert-001
  - namespace: openshift-monitoring
    name: dms-secret
  - namespace: openshift-monitoring
    name: observatorium-credentials
  - namespace: openshift-monitoring
    name: pd-secret
  - namespace: openshift-scanning
    name: clam-secrets
  - namespace: openshift-scanning
    name: logger-secrets
  - namespace: openshift-security
    name: splunk-auth
  ServiceAccount:
  - namespace: openshift-backplane-managed-scripts
    name: osd-backplane
  - namespace: openshift-backplane-srep
    name: 6804d07fb268b8285b023bcf65392f0e
  - namespace: openshift-backplane-srep
    name: osd-delete-ownerrefs-serviceaccounts
  - namespace: openshift-backplane
    name: osd-delete-backplane-serviceaccounts
  - namespace: openshift-cloud-ingress-operator
    name: cloud-ingress-operator
  - namespace: openshift-custom-domains-operator
    name: custom-domains-operator
  - namespace: openshift-managed-upgrade-operator
    name: managed-upgrade-operator
  - namespace: openshift-machine-api
    name: osd-disable-cpms
  - namespace: openshift-marketplace
    name: osd-patch-subscription-source
  - namespace: openshift-monitoring
    name: configure-alertmanager-operator
  - namespace: openshift-monitoring
    name: osd-cluster-ready
  - namespace: openshift-monitoring
    name: osd-rebalance-infra-nodes
  - namespace: openshift-monitoring
    name: sre-dns-latency-exporter
  - namespace: openshift-monitoring
    name: sre-ebs-iops-reporter
  - namespace: openshift-monitoring
    name: sre-stuck-ebs-vols
  - namespace: openshift-network-diagnostics
    name: sre-pod-network-connectivity-check-pruner
  - namespace: openshift-ocm-agent-operator
    name: ocm-agent-operator
  - namespace: openshift-rbac-permissions
    name: rbac-permissions-operator
  - namespace: openshift-splunk-forwarder-operator
    name: splunk-forwarder-operator
  - namespace: openshift-sre-pruning
    name: bz1980755
  - namespace: openshift-scanning
    name: logger-sa
  - namespace: openshift-scanning
    name: scanner-sa
  - namespace: openshift-sre-pruning
    name: sre-pruner-sa
  - namespace: openshift-suricata
    name: suricata-sa
  - namespace: openshift-validation-webhook
    name: validation-webhook
  - namespace: openshift-velero
    name: managed-velero-operator
  - namespace: openshift-velero
    name: velero
  - namespace: openshift-backplane-srep
    name: UNIQUE_BACKPLANE_SERVICEACCOUNT_ID
  Service:
  - namespace: openshift-deployment-validation-operator
    name: deployment-validation-operator-metrics
  - namespace: openshift-monitoring
    name: sre-dns-latency-exporter
  - namespace: openshift-monitoring
    name: sre-ebs-iops-reporter
  - namespace: openshift-monitoring
    name: sre-stuck-ebs-vols
  - namespace: openshift-scanning
    name: loggerservice
  - namespace: openshift-security
    name: audit-exporter
  - namespace: openshift-validation-webhook
    name: validation-webhook
  AddonOperator:
  - name: addon-operator
  ValidatingWebhookConfiguration:
  - name: sre-hiveownership-validation
  - name: sre-namespace-validation
  - name: sre-pod-validation
  - name: sre-prometheusrule-validation
  - name: sre-regular-user-validation
  - name: sre-scc-validation
  - name: sre-techpreviewnoupgrade-validation
  DaemonSet:
  - namespace: openshift-monitoring
    name: sre-dns-latency-exporter
  - namespace: openshift-scanning
    name: logger
  - namespace: openshift-scanning
    name: scanner
  - namespace: openshift-security
    name: audit-exporter
  - namespace: openshift-suricata
    name: suricata
  - namespace: openshift-validation-webhook
    name: validation-webhook
  DeploymentConfig:
  - namespace: openshift-monitoring
    name: sre-ebs-iops-reporter
  - namespace: openshift-monitoring
    name: sre-stuck-ebs-vols
  ClusterRoleBinding:
  - name: aqua-scanner-binding
  - name: backplane-cluster-admin
  - name: backplane-impersonate-cluster-admin
  - name: bz1980755
  - name: configure-alertmanager-operator-prom
  - name: dedicated-admins-cluster
  - name: dedicated-admins-registry-cas-cluster
  - name: logger-clusterrolebinding
  - name: openshift-backplane-managed-scripts-reader
  - name: osd-cluster-admin
  - name: osd-cluster-ready
  - name: osd-delete-backplane-script-resources
  - name: osd-delete-ownerrefs-serviceaccounts
  - name: osd-patch-subscription-source
  - name: osd-rebalance-infra-nodes
  - name: pcap-dedicated-admins
  - name: splunk-forwarder-operator
  - name: splunk-forwarder-operator-clusterrolebinding
  - name: sre-pod-network-connectivity-check-pruner
  - name: sre-pruner-buildsdeploys-pruning
  - name: velero
  - name: webhook-validation
  ClusterRole:
  - name: backplane-cee-readers-cluster
  - name: backplane-impersonate-cluster-admin
  - name: backplane-readers-cluster
  - name: backplane-srep-admins-cluster
  - name: backplane-srep-admins-project
  - name: bz1980755
  - name: dedicated-admins-aggregate-cluster
  - name: dedicated-admins-aggregate-project
  - name: dedicated-admins-cluster
  - name: dedicated-admins-manage-operators
  - name: dedicated-admins-project
  - name: dedicated-admins-registry-cas-cluster
  - name: dedicated-readers
  - name: image-scanner
  - name: logger-clusterrole
  - name: openshift-backplane-managed-scripts-reader
  - name: openshift-splunk-forwarder-operator
  - name: osd-cluster-ready
  - name: osd-custom-domains-dedicated-admin-cluster
  - name: osd-delete-backplane-script-resources
  - name: osd-delete-backplane-serviceaccounts
  - name: osd-delete-ownerrefs-serviceaccounts
  - name: osd-get-namespace
  - name: osd-netnamespaces-dedicated-admin-cluster
  - name: osd-patch-subscription-source
  - name: osd-readers-aggregate
  - name: osd-rebalance-infra-nodes
  - name: osd-rebalance-infra-nodes-openshift-pod-rebalance
  - name: pcap-dedicated-admins
  - name: splunk-forwarder-operator
  - name: sre-allow-read-machine-info
  - name: sre-pruner-buildsdeploys-cr
  - name: webhook-validation-cr
  RoleBinding:
  - namespace: kube-system
    name: cloud-ingress-operator-cluster-config-v1-reader
  - namespace: kube-system
    name: managed-velero-operator-cluster-config-v1-reader
  - namespace: openshift-aqua
    name: dedicated-admins-openshift-aqua
  - namespace: openshift-backplane-managed-scripts
    name: backplane-cee-mustgather
  - namespace: openshift-backplane-managed-scripts
    name: backplane-srep-mustgather
  - namespace: openshift-backplane-managed-scripts
    name: osd-delete-backplane-script-resources
  - namespace: openshift-cloud-ingress-operator
    name: osd-rebalance-infra-nodes-openshift-pod-rebalance
  - namespace: openshift-codeready-workspaces
    name: dedicated-admins-openshift-codeready-workspaces
  - namespace: openshift-config
    name: dedicated-admins-project-request
  - namespace: openshift-config
    name: dedicated-admins-registry-cas-project
  - namespace: openshift-config
    name: muo-pullsecret-reader
  - namespace: openshift-config
    name: oao-openshiftconfig-reader
  - namespace: openshift-config
    name: osd-cluster-ready
  - namespace: openshift-custom-domains-operator
    name: osd-rebalance-infra-nodes-openshift-pod-rebalance
  - namespace: openshift-customer-monitoring
    name: dedicated-admins-openshift-customer-monitoring
  - namespace: openshift-customer-monitoring
    name: prometheus-k8s-openshift-customer-monitoring
  - namespace: openshift-dns
    name: dedicated-admins-openshift-dns
  - namespace: openshift-dns
    name: osd-rebalance-infra-nodes-openshift-dns
  - namespace: openshift-image-registry
    name: osd-rebalance-infra-nodes-openshift-pod-rebalance
  - namespace: openshift-ingress-operator
    name: cloud-ingress-operator
  - namespace: openshift-ingress
    name: cloud-ingress-operator
  - namespace: openshift-kube-apiserver
    name: cloud-ingress-operator
  - namespace: openshift-machine-api
    name: cloud-ingress-operator
  - namespace: openshift-logging
    name: admin-dedicated-admins
  - namespace: openshift-logging
    name: admin-system:serviceaccounts:dedicated-admin
  - namespace: openshift-logging
    name: openshift-logging-dedicated-admins
  - namespace: openshift-logging
    name: openshift-logging:serviceaccounts:dedicated-admin
  - namespace: openshift-machine-api
    name: osd-cluster-ready
  - namespace: openshift-machine-api
    name: sre-ebs-iops-reporter-read-machine-info
  - namespace: openshift-machine-api
    name: sre-stuck-ebs-vols-read-machine-info
  - namespace: openshift-managed-node-metadata-operator
    name: osd-rebalance-infra-nodes-openshift-pod-rebalance
  - namespace: openshift-machine-api
    name: osd-disable-cpms
  - namespace: openshift-marketplace
    name: dedicated-admins-openshift-marketplace
  - namespace: openshift-monitoring
    name: backplane-cee
  - namespace: openshift-monitoring
    name: muo-monitoring-reader
  - namespace: openshift-monitoring
    name: oao-monitoring-manager
  - namespace: openshift-monitoring
    name: osd-cluster-ready
  - namespace: openshift-monitoring
    name: osd-rebalance-infra-nodes-openshift-monitoring
  - namespace: openshift-monitoring
    name: osd-rebalance-infra-nodes-openshift-pod-rebalance
  - namespace: openshift-monitoring
    name: sre-dns-latency-exporter
  - namespace: openshift-monitoring
    name: sre-ebs-iops-reporter
  - namespace: openshift-monitoring
    name: sre-stuck-ebs-vols
  - namespace: openshift-must-gather-operator
    name: backplane-cee-mustgather
  - namespace: openshift-must-gather-operator
    name: backplane-srep-mustgather
  - namespace: openshift-must-gather-operator
    name: osd-rebalance-infra-nodes-openshift-pod-rebalance
  - namespace: openshift-network-diagnostics
    name: sre-pod-network-connectivity-check-pruner
  - namespace: openshift-network-operator
    name: osd-rebalance-infra-nodes-openshift-pod-rebalance
  - namespace: openshift-ocm-agent-operator
    name: osd-rebalance-infra-nodes-openshift-pod-rebalance
  - namespace: openshift-operators-redhat
    name: admin-dedicated-admins
  - namespace: openshift-operators-redhat
    name: admin-system:serviceaccounts:dedicated-admin
  - namespace: openshift-operators-redhat
    name: openshift-operators-redhat-dedicated-admins
  - namespace: openshift-operators-redhat
    name: openshift-operators-redhat:serviceaccounts:dedicated-admin
  - namespace: openshift-operators
    name: dedicated-admins-openshift-operators
  - namespace: openshift-osd-metrics
    name: osd-rebalance-infra-nodes-openshift-pod-rebalance
  - namespace: openshift-osd-metrics
    name: prometheus-k8s
  - namespace: openshift-rbac-permissions
    name: osd-rebalance-infra-nodes-openshift-pod-rebalance
  - namespace: openshift-rbac-permissions
    name: prometheus-k8s
  - namespace: openshift-route-monitor-operator
    name: osd-rebalance-infra-nodes-openshift-pod-rebalance
  - namespace: openshift-scanning
    name: scanner-rolebinding
  - namespace: openshift-security
    name: osd-rebalance-infra-nodes-openshift-security
  - namespace: openshift-security
    name: prometheus-k8s
  - namespace: openshift-splunk-forwarder-operator
    name: osd-rebalance-infra-nodes-openshift-pod-rebalance
  - namespace: openshift-suricata
    name: suricata-rolebinding
  - namespace: openshift-user-workload-monitoring
    name: dedicated-admins-uwm-config-create
  - namespace: openshift-user-workload-monitoring
    name: dedicated-admins-uwm-config-edit
  - namespace: openshift-user-workload-monitoring
    name: dedicated-admins-uwm-managed-am-secret
  - namespace: openshift-user-workload-monitoring
    name: osd-rebalance-infra-nodes-openshift-user-workload-monitoring
  - namespace: openshift-velero
    name: osd-rebalance-infra-nodes-openshift-pod-rebalance
  - namespace: openshift-velero
    name: prometheus-k8s
  Role:
  - namespace: kube-system
    name: cluster-config-v1-reader
  - namespace: kube-system
    name: cluster-config-v1-reader-cio
  - namespace: openshift-aqua
    name: dedicated-admins-openshift-aqua
  - namespace: openshift-backplane-managed-scripts
    name: backplane-cee-pcap-collector
  - namespace: openshift-backplane-managed-scripts
    name: backplane-srep-pcap-collector
  - namespace: openshift-backplane-managed-scripts
    name: osd-delete-backplane-script-resources
  - namespace: openshift-codeready-workspaces
    name: dedicated-admins-openshift-codeready-workspaces
  - namespace: openshift-config
    name: dedicated-admins-project-request
  - namespace: openshift-config
    name: dedicated-admins-registry-cas-project
  - namespace: openshift-config
    name: muo-pullsecret-reader
  - namespace: openshift-config
    name: oao-openshiftconfig-reader
  - namespace: openshift-config
    name: osd-cluster-ready
  - namespace: openshift-customer-monitoring
    name: dedicated-admins-openshift-customer-monitoring
  - namespace: openshift-customer-monitoring
    name: prometheus-k8s-openshift-customer-monitoring
  - namespace: openshift-dns
    name: dedicated-admins-openshift-dns
  - namespace: openshift-dns
    name: osd-rebalance-infra-nodes-openshift-dns
  - namespace: openshift-ingress-operator
    name: cloud-ingress-operator
  - namespace: openshift-ingress
    name: cloud-ingress-operator
  - namespace: openshift-kube-apiserver
    name: cloud-ingress-operator
  - namespace: openshift-machine-api
    name: cloud-ingress-operator
  - namespace: openshift-logging
    name: dedicated-admins-openshift-logging
  - namespace: openshift-machine-api
    name: osd-cluster-ready
  - namespace: openshift-machine-api
    name: osd-disable-cpms
  - namespace: openshift-marketplace
    name: dedicated-admins-openshift-marketplace
  - namespace: openshift-monitoring
    name: backplane-cee
  - namespace: openshift-monitoring
    name: muo-monitoring-reader
  - namespace: openshift-monitoring
    name: oao-monitoring-manager
  - namespace: openshift-monitoring
    name: osd-cluster-ready
  - namespace: openshift-monitoring
    name: osd-rebalance-infra-nodes-openshift-monitoring
  - namespace: openshift-must-gather-operator
    name: backplane-cee-mustgather
  - namespace: openshift-must-gather-operator
    name: backplane-srep-mustgather
  - namespace: openshift-network-diagnostics
    name: sre-pod-network-connectivity-check-pruner
  - namespace: openshift-operators
    name: dedicated-admins-openshift-operators
  - namespace: openshift-osd-metrics
    name: prometheus-k8s
  - namespace: openshift-rbac-permissions
    name: prometheus-k8s
  - namespace: openshift-scanning
    name: scanner-role
  - namespace: openshift-security
    name: osd-rebalance-infra-nodes-openshift-security
  - namespace: openshift-security
    name: prometheus-k8s
  - namespace: openshift-suricata
    name: suricata-role
  - namespace: openshift-user-workload-monitoring
    name: dedicated-admins-user-workload-monitoring-create-cm
  - namespace: openshift-user-workload-monitoring
    name: dedicated-admins-user-workload-monitoring-manage-am-secret
  - namespace: openshift-user-workload-monitoring
    name: osd-rebalance-infra-nodes-openshift-user-workload-monitoring
  - namespace: openshift-velero
    name: prometheus-k8s
  CronJob:
  - namespace: openshift-backplane-managed-scripts
    name: osd-delete-backplane-script-resources
  - namespace: openshift-backplane-srep
    name: osd-delete-ownerrefs-serviceaccounts
  - namespace: openshift-backplane
    name: osd-delete-backplane-serviceaccounts
  - namespace: openshift-machine-api
    name: osd-disable-cpms
  - namespace: openshift-marketplace
    name: osd-patch-subscription-source
  - namespace: openshift-monitoring
    name: osd-rebalance-infra-nodes
  - namespace: openshift-network-diagnostics
    name: sre-pod-network-connectivity-check-pruner
  - namespace: openshift-sre-pruning
    name: builds-pruner
  - namespace: openshift-sre-pruning
    name: bz1980755
  - namespace: openshift-sre-pruning
    name: deployments-pruner
  Job:
  - namespace: openshift-monitoring
    name: osd-cluster-ready
  CredentialsRequest:
  - namespace: openshift-cloud-ingress-operator
    name: cloud-ingress-operator-credentials-aws
  - namespace: openshift-cloud-ingress-operator
    name: cloud-ingress-operator-credentials-gcp
  - namespace: openshift-monitoring
    name: sre-ebs-iops-reporter-aws-credentials
  - namespace: openshift-monitoring
    name: sre-stuck-ebs-vols-aws-credentials
  - namespace: openshift-velero
    name: managed-velero-operator-iam-credentials-aws
  - namespace: openshift-velero
    name: managed-velero-operator-iam-credentials-gcp
  APIScheme:
  - namespace: openshift-cloud-ingress-operator
    name: rh-api
  PublishingStrategy:
  - namespace: openshift-cloud-ingress-operator
    name: publishingstrategy
  ScanSettingBinding:
  - namespace: openshift-compliance
    name: fedramp-high-ocp
  - namespace: openshift-compliance
    name: fedramp-high-rhcos
  ScanSetting:
  - namespace: openshift-compliance
    name: osd
  TailoredProfile:
  - namespace: openshift-compliance
    name: rhcos4-high-rosa
  OAuth:
  - name: cluster
  EndpointSlice:
  - namespace: openshift-deployment-validation-operator
    name: deployment-validation-operator-metrics-rhtwg
  - namespace: openshift-monitoring
    name: sre-dns-latency-exporter-4cw9r
  - namespace: openshift-monitoring
    name: sre-ebs-iops-reporter-6tx5g
  - namespace: openshift-monitoring
    name: sre-stuck-ebs-vols-gmdhs
  - namespace: openshift-scanning
    name: loggerservice-zprbq
  - namespace: openshift-security
    name: audit-exporter-nqfdk
  - namespace: openshift-validation-webhook
    name: validation-webhook-97b8t
  FileIntegrity:
  - namespace: openshift-file-integrity
    name: osd-fileintegrity
  MachineHealthCheck:
  - namespace: openshift-machine-api
    name: srep-infra-healthcheck
  - namespace: openshift-machine-api
    name: srep-metal-worker-healthcheck
  - namespace: openshift-machine-api
    name: srep-worker-healthcheck
  MachineSet:
  - namespace: openshift-machine-api
    name: sbasabat-mc-qhqkn-infra-us-east-1a
  - namespace: openshift-machine-api
    name: sbasabat-mc-qhqkn-worker-us-east-1a
  ContainerRuntimeConfig:
  - name: custom-crio
  KubeletConfig:
  - name: custom-kubelet
  MachineConfig:
  - name: 00-master-chrony
  - name: 00-worker-chrony
  SubjectPermission:
  - namespace: openshift-rbac-permissions
    name: backplane-cee
  - namespace: openshift-rbac-permissions
    name: backplane-csa
  - namespace: openshift-rbac-permissions
    name: backplane-cse
  - namespace: openshift-rbac-permissions
    name: backplane-csm
  - namespace: openshift-rbac-permissions
    name: backplane-mobb
  - namespace: openshift-rbac-permissions
    name: backplane-srep
  - namespace: openshift-rbac-permissions
    name: backplane-tam
  - namespace: openshift-rbac-permissions
    name: dedicated-admin-serviceaccounts
  - namespace: openshift-rbac-permissions
    name: dedicated-admin-serviceaccounts-core-ns
  - namespace: openshift-rbac-permissions
    name: dedicated-admins
  - namespace: openshift-rbac-permissions
    name: dedicated-admins-alert-routing-edit
  - namespace: openshift-rbac-permissions
    name: dedicated-admins-core-ns
  - namespace: openshift-rbac-permissions
    name: dedicated-admins-customer-monitoring
  - namespace: openshift-rbac-permissions
    name: osd-delete-backplane-serviceaccounts
  VeleroInstall:
  - namespace: openshift-velero
    name: cluster
  PrometheusRule:
  - namespace: openshift-monitoring
    name: rhmi-sre-cluster-admins
  - namespace: openshift-monitoring
    name: rhoam-sre-cluster-admins
  - namespace: openshift-monitoring
    name: sre-alertmanager-silences-active
  - namespace: openshift-monitoring
    name: sre-alerts-stuck-builds
  - namespace: openshift-monitoring
    name: sre-alerts-stuck-volumes
  - namespace: openshift-monitoring
    name: sre-cloud-ingress-operator-offline-alerts
  - namespace: openshift-monitoring
    name: sre-avo-pendingacceptance
  - namespace: openshift-monitoring
    name: sre-configure-alertmanager-operator-offline-alerts
  - namespace: openshift-monitoring
    name: sre-control-plane-resizing-alerts
  - namespace: openshift-monitoring
    name: sre-dns-alerts
  - namespace: openshift-monitoring
    name: sre-ebs-iops-burstbalance
  - namespace: openshift-monitoring
    name: sre-elasticsearch-jobs
  - namespace: openshift-monitoring
    name: sre-elasticsearch-managed-notification-alerts
  - namespace: openshift-monitoring
    name: sre-excessive-memory
  - namespace: openshift-monitoring
    name: sre-fr-alerts-low-disk-space
  - namespace: openshift-monitoring
    name: sre-haproxy-reload-fail
  - namespace: openshift-monitoring
    name: sre-internal-slo-recording-rules
  - namespace: openshift-monitoring
    name: sre-kubequotaexceeded
  - namespace: openshift-monitoring
    name: sre-leader-election-master-status-alerts
  - namespace: openshift-monitoring
    name: sre-managed-kube-apiserver-missing-on-node
  - namespace: openshift-monitoring
    name: sre-managed-kube-controller-manager-missing-on-node
  - namespace: openshift-monitoring
    name: sre-managed-kube-scheduler-missing-on-node
  - namespace: openshift-monitoring
    name: sre-managed-node-metadata-operator-alerts
  - namespace: openshift-monitoring
    name: sre-managed-notification-alerts
  - namespace: openshift-monitoring
    name: sre-managed-upgrade-operator-alerts
  - namespace: openshift-monitoring
    name: sre-managed-velero-operator-alerts
  - namespace: openshift-monitoring
    name: sre-node-unschedulable
  - namespace: openshift-monitoring
    name: sre-oauth-server
  - namespace: openshift-monitoring
    name: sre-pending-csr-alert
  - namespace: openshift-monitoring
    name: sre-proxy-managed-notification-alerts
  - namespace: openshift-monitoring
    name: sre-pruning
  - namespace: openshift-monitoring
    name: sre-pv
  - namespace: openshift-monitoring
    name: sre-router-health
  - namespace: openshift-monitoring
    name: sre-runaway-sdn-preventing-container-creation
  - namespace: openshift-monitoring
    name: sre-slo-recording-rules
  - namespace: openshift-monitoring
    name: sre-telemeter-client
  - namespace: openshift-monitoring
    name: sre-telemetry-managed-labels-recording-rules
  - namespace: openshift-monitoring
    name: sre-upgrade-send-managed-notification-alerts
  - namespace: openshift-monitoring
    name: sre-uptime-sla
  ServiceMonitor:
  - namespace: openshift-monitoring
    name: sre-dns-latency-exporter
  - namespace: openshift-monitoring
    name: sre-ebs-iops-reporter
  - namespace: openshift-monitoring
    name: sre-stuck-ebs-vols
  ClusterUrlMonitor:
  - namespace: openshift-route-monitor-operator
    name: api
  RouteMonitor:
  - namespace: openshift-route-monitor-operator
    name: console
  NetworkPolicy:
  - namespace: openshift-deployment-validation-operator
    name: allow-from-openshift-insights
  - namespace: openshift-deployment-validation-operator
    name: allow-from-openshift-olm
  ManagedNotification:
  - namespace: openshift-ocm-agent-operator
    name: sre-elasticsearch-managed-notifications
  - namespace: openshift-ocm-agent-operator
    name: sre-managed-notifications
  - namespace: openshift-ocm-agent-operator
    name: sre-proxy-managed-notifications
  - namespace: openshift-ocm-agent-operator
    name: sre-upgrade-managed-notifications
  OcmAgent:
  - namespace: openshift-ocm-agent-operator
    name: ocmagent
  - namespace: openshift-security
    name: audit-exporter
  Console:
  - name: cluster
  CatalogSource:
  - namespace: openshift-addon-operator
    name: addon-operator-catalog
  - namespace: openshift-cloud-ingress-operator
    name: cloud-ingress-operator-registry
  - namespace: openshift-compliance
    name: compliance-operator-registry
  - namespace: openshift-container-security
    name: container-security-operator-registry
  - namespace: openshift-custom-domains-operator
    name: custom-domains-operator-registry
  - namespace: openshift-deployment-validation-operator
    name: deployment-validation-operator-catalog
  - namespace: openshift-managed-node-metadata-operator
    name: managed-node-metadata-operator-registry
  - namespace: openshift-file-integrity
    name: file-integrity-operator-registry
  - namespace: openshift-managed-upgrade-operator
    name: managed-upgrade-operator-catalog
  - namespace: openshift-monitoring
    name: configure-alertmanager-operator-registry
  - namespace: openshift-must-gather-operator
    name: must-gather-operator-registry
  - namespace: openshift-observability-operator
    name: observability-operator-catalog
  - namespace: openshift-ocm-agent-operator
    name: ocm-agent-operator-registry
  - namespace: openshift-osd-metrics
    name: osd-metrics-exporter-registry
  - namespace: openshift-rbac-permissions
    name: rbac-permissions-operator-registry
  - namespace: openshift-route-monitor-operator
    name: route-monitor-operator-registry
  - namespace: openshift-splunk-forwarder-operator
    name: splunk-forwarder-operator-catalog
  - namespace: openshift-velero
    name: managed-velero-operator-registry
  OperatorGroup:
  - namespace: openshift-addon-operator
    name: addon-operator-og
  - namespace: openshift-aqua
    name: openshift-aqua
  - namespace: openshift-cloud-ingress-operator
    name: cloud-ingress-operator
  - namespace: openshift-codeready-workspaces
    name: openshift-codeready-workspaces
  - namespace: openshift-compliance
    name: compliance-operator
  - namespace: openshift-container-security
    name: container-security-operator
  - namespace: openshift-custom-domains-operator
    name: custom-domains-operator
  - namespace: openshift-customer-monitoring
    name: openshift-customer-monitoring
  - namespace: openshift-deployment-validation-operator
    name: deployment-validation-operator-og
  - namespace: openshift-managed-node-metadata-operator
    name: managed-node-metadata-operator
  - namespace: openshift-file-integrity
    name: file-integrity-operator
  - namespace: openshift-logging
    name: openshift-logging
  - namespace: openshift-managed-upgrade-operator
    name: managed-upgrade-operator-og
  - namespace: openshift-must-gather-operator
    name: must-gather-operator
  - namespace: openshift-observability-operator
    name: observability-operator-og
  - namespace: openshift-ocm-agent-operator
    name: ocm-agent-operator-og
  - namespace: openshift-osd-metrics
    name: osd-metrics-exporter
  - namespace: openshift-rbac-permissions
    name: rbac-permissions-operator
  - namespace: openshift-route-monitor-operator
    name: route-monitor-operator
  - namespace: openshift-splunk-forwarder-operator
    name: splunk-forwarder-operator-og
  - namespace: openshift-velero
    name: managed-velero-operator
  Subscription:
  - namespace: openshift-addon-operator
    name: addon-operator
  - namespace: openshift-cloud-ingress-operator
    name: cloud-ingress-operator
  - namespace: openshift-compliance
    name: compliance-operator-sub
  - namespace: openshift-container-security
    name: container-security-operator-sub
  - namespace: openshift-custom-domains-operator
    name: custom-domains-operator
  - namespace: openshift-deployment-validation-operator
    name: deployment-validation-operator
  - namespace: openshift-managed-node-metadata-operator
    name: managed-node-metadata-operator
  - namespace: openshift-file-integrity
    name: file-integrity-operator-sub
  - namespace: openshift-managed-upgrade-operator
    name: managed-upgrade-operator
  - namespace: openshift-monitoring
    name: configure-alertmanager-operator
  - namespace: openshift-must-gather-operator
    name: must-gather-operator
  - namespace: openshift-observability-operator
    name: observability-operator
  - namespace: openshift-ocm-agent-operator
    name: ocm-agent-operator
  - namespace: openshift-osd-metrics
    name: osd-metrics-exporter
  - namespace: openshift-rbac-permissions
    name: rbac-permissions-operator
  - namespace: openshift-route-monitor-operator
    name: route-monitor-operator
  - namespace: openshift-splunk-forwarder-operator
    name: openshift-splunk-forwarder-operator
  - namespace: openshift-velero
    name: managed-velero-operator
  PackageManifest:
  - namespace: openshift-splunk-forwarder-operator
    name: splunk-forwarder-operator
  - namespace: openshift-addon-operator
    name: addon-operator
  - namespace: openshift-rbac-permissions
    name: rbac-permissions-operator
  - namespace: openshift-cloud-ingress-operator
    name: cloud-ingress-operator
  - namespace: openshift-managed-node-metadata-operator
    name: managed-node-metadata-operator
  - namespace: openshift-velero
    name: managed-velero-operator
  - namespace: openshift-deployment-validation-operator
    name: managed-upgrade-operator
  - namespace: openshift-managed-upgrade-operator
    name: managed-upgrade-operator
  - namespace: openshift-container-security
    name: container-security-operator
  - namespace: openshift-route-monitor-operator
    name: route-monitor-operator
  - namespace: openshift-file-integrity
    name: file-integrity-operator
  - namespace: openshift-custom-domains-operator
    name: managed-node-metadata-operator
  - namespace: openshift-route-monitor-operator
    name: custom-domains-operator
  - namespace: openshift-managed-upgrade-operator
    name: managed-upgrade-operator
  - namespace: openshift-ocm-agent-operator
    name: ocm-agent-operator
  - namespace: openshift-observability-operator
    name: observability-operator
  - namespace: openshift-monitoring
    name: configure-alertmanager-operator
  - namespace: openshift-must-gather-operator
    name: deployment-validation-operator
  - namespace: openshift-osd-metrics
    name: osd-metrics-exporter
  - namespace: openshift-compliance
    name: compliance-operator
  - namespace: openshift-rbac-permissions
    name: rbac-permissions-operator
  Status:
  - {}
  Project:
  - name: dedicated-admin
  - name: openshift-addon-operator
  - name: openshift-aqua
  - name: openshift-backplane
  - name: openshift-backplane-cee
  - name: openshift-backplane-csa
  - name: openshift-backplane-cse
  - name: openshift-backplane-csm
  - name: openshift-backplane-managed-scripts
  - name: openshift-backplane-mobb
  - name: openshift-backplane-srep
  - name: openshift-backplane-tam
  - name: openshift-cloud-ingress-operator
  - name: openshift-codeready-workspaces
  - name: openshift-compliance
  - name: openshift-container-security
  - name: openshift-custom-domains-operator
  - name: openshift-customer-monitoring
  - name: openshift-deployment-validation-operator
  - name: openshift-managed-node-metadata-operator
  - name: openshift-file-integrity
  - name: openshift-logging
  - name: openshift-managed-upgrade-operator
  - name: openshift-must-gather-operator
  - name: openshift-observability-operator
  - name: openshift-ocm-agent-operator
  - name: openshift-operators-redhat
  - name: openshift-osd-metrics
  - name: openshift-rbac-permissions
  - name: openshift-route-monitor-operator
  - name: openshift-scanning
  - name: openshift-security
  - name: openshift-splunk-forwarder-operator
  - name: openshift-sre-pruning
  - name: openshift-suricata
  - name: openshift-validation-webhook
  - name: openshift-velero
  ClusterResourceQuota:
  - name: loadbalancer-quota
  - name: persistent-volume-quota
  SecurityContextConstraints:
  - name: osd-scanning-scc
  - name: osd-suricata-scc
  - name: pcap-dedicated-admins
  - name: splunkforwarder
  SplunkForwarder:
  - namespace: openshift-security
    name: splunkforwarder
  Group:
  - name: cluster-admins
  - name: dedicated-admins
  User:
  - name: backplane-cluster-admin
  Backup:
  - namespace: openshift-velero
    name: daily-full-backup-20221123112305
  - namespace: openshift-velero
    name: daily-full-backup-20221125042537
  - namespace: openshift-velero
    name: daily-full-backup-20221126010038
  - namespace: openshift-velero
    name: daily-full-backup-20221127010039
  - namespace: openshift-velero
    name: daily-full-backup-20221128010040
  - namespace: openshift-velero
    name: daily-full-backup-20221129050847
  - namespace: openshift-velero
    name: hourly-object-backup-20221128051740
  - namespace: openshift-velero
    name: hourly-object-backup-20221128061740
  - namespace: openshift-velero
    name: hourly-object-backup-20221128071740
  - namespace: openshift-velero
    name: hourly-object-backup-20221128081740
  - namespace: openshift-velero
    name: hourly-object-backup-20221128091740
  - namespace: openshift-velero
    name: hourly-object-backup-20221129050852
  - namespace: openshift-velero
    name: hourly-object-backup-20221129051747
  - namespace: openshift-velero
    name: weekly-full-backup-20221116184315
  - namespace: openshift-velero
    name: weekly-full-backup-20221121033854
  - namespace: openshift-velero
    name: weekly-full-backup-20221128020040
  Schedule:
  - namespace: openshift-velero
    name: daily-full-backup
  - namespace: openshift-velero
    name: hourly-object-backup
  - namespace: openshift-velero
    name: weekly-full-backup
Copy to Clipboard Toggle word wrap
2.2.8.3. AWS 클래식 아키텍처 핵심 네임스페이스의 Red Hat OpenShift Service

AWS의 Red Hat OpenShift Service on AWS 클래식 아키텍처 코어 네임스페이스는 클러스터 설치 중에 기본적으로 설치됩니다.

코어 네임스페이스 목록

(다음은 ROSA 클러스터에 표시되지 않을 수 있습니다)

apiVersion: v1
kind: ConfigMap
metadata:
  name: ocp-namespaces
  namespace: openshift-monitoring
data:
  managed_namespaces.yaml: |
    Resources:
      Namespace:
      - name: kube-system
      - name: openshift-apiserver
      - name: openshift-apiserver-operator
      - name: openshift-authentication
      - name: openshift-authentication-operator
      - name: openshift-cloud-controller-manager
      - name: openshift-cloud-controller-manager-operator
      - name: openshift-cloud-credential-operator
      - name: openshift-cloud-network-config-controller
      - name: openshift-cluster-api
      - name: openshift-cluster-csi-drivers
      - name: openshift-cluster-machine-approver
      - name: openshift-cluster-node-tuning-operator
      - name: openshift-cluster-samples-operator
      - name: openshift-cluster-storage-operator
      - name: openshift-config
      - name: openshift-config-managed
      - name: openshift-config-operator
      - name: openshift-console
      - name: openshift-console-operator
      - name: openshift-console-user-settings
      - name: openshift-controller-manager
      - name: openshift-controller-manager-operator
      - name: openshift-dns
      - name: openshift-dns-operator
      - name: openshift-etcd
      - name: openshift-etcd-operator
      - name: openshift-host-network
      - name: openshift-image-registry
      - name: openshift-ingress
      - name: openshift-ingress-canary
      - name: openshift-ingress-operator
      - name: openshift-insights
      - name: openshift-kni-infra
      - name: openshift-kube-apiserver
      - name: openshift-kube-apiserver-operator
      - name: openshift-kube-controller-manager
      - name: openshift-kube-controller-manager-operator
      - name: openshift-kube-scheduler
      - name: openshift-kube-scheduler-operator
      - name: openshift-kube-storage-version-migrator
      - name: openshift-kube-storage-version-migrator-operator
      - name: openshift-machine-api
      - name: openshift-machine-config-operator
      - name: openshift-marketplace
      - name: openshift-monitoring
      - name: openshift-multus
      - name: openshift-network-diagnostics
      - name: openshift-network-operator
      - name: openshift-nutanix-infra
      - name: openshift-oauth-apiserver
      - name: openshift-openstack-infra
      - name: openshift-operator-lifecycle-manager
      - name: openshift-operators
      - name: openshift-ovirt-infra
      - name: openshift-sdn
      - name: openshift-ovn-kubernetes
      - name: openshift-platform-operators
      - name: openshift-route-controller-manager
      - name: openshift-service-ca
      - name: openshift-service-ca-operator
      - name: openshift-user-workload-monitoring
      - name: openshift-vsphere-infra
Copy to Clipboard Toggle word wrap

AWS의 Red Hat OpenShift Service on AWS 클래식 아키텍처 애드온은 클러스터 설치 후 설치에 사용할 수 있는 서비스입니다. 이러한 추가 서비스에는 Red Hat OpenShift Dev Spaces, Red Hat OpenShift API Management 및 Cluster Logging Operator가 포함됩니다. 다음 네임스페이스 내의 리소스에 대한 모든 변경 사항은 업그레이드 중에 애드온으로 재정의할 수 있으므로 추가 기능에 대해 지원되지 않는 구성이 발생할 수 있습니다.

예 2.1. 애드온 관리 네임스페이스 목록

addon-namespaces:
  ocs-converged-dev: openshift-storage
  managed-api-service-internal: redhat-rhoami-operator
  codeready-workspaces-operator: codeready-workspaces-operator
  managed-odh: redhat-ods-operator
  codeready-workspaces-operator-qe: codeready-workspaces-operator-qe
  integreatly-operator: redhat-rhmi-operator
  nvidia-gpu-addon: redhat-nvidia-gpu-addon
  integreatly-operator-internal: redhat-rhmi-operator
  rhoams: redhat-rhoam-operator
  ocs-converged: openshift-storage
  addon-operator: redhat-addon-operator
  prow-operator: prow
  cluster-logging-operator: openshift-logging
  advanced-cluster-management: redhat-open-cluster-management
  cert-manager-operator: redhat-cert-manager-operator
  dba-operator: addon-dba-operator
  reference-addon: redhat-reference-addon
  ocm-addon-test-operator: redhat-ocm-addon-test-operator
Copy to Clipboard Toggle word wrap
2.2.8.5. Red Hat OpenShift Service on AWS 클래식 아키텍처 검증 Webhook

AWS 클래식 아키텍처 검증 웹 후크의 Red Hat OpenShift Service는 OpenShift SRE 팀에서 유지 관리하는 동적 승인 제어 집합입니다. 클러스터의 안정성을 보장하기 위해 다양한 유형의 요청에 대해 Webhook라고도 하는 이러한 HTTP 콜백이 호출됩니다. 다음 목록에서는 제어되는 등록된 작업 및 리소스가 포함된 규칙이 포함된 다양한 Webhook에 대해 설명합니다. 이러한 검증 웹 후크를 우회하려고 하면 클러스터의 안정성 및 지원 가능성에 영향을 미칠 수 있습니다.

예 2.2. 검증 Webhook 목록

[
  {
    "webhookName": "clusterlogging-validation",
    "rules": [
      {
        "operations": [
          "CREATE",
          "UPDATE"
        ],
        "apiGroups": [
          "logging.openshift.io"
        ],
        "apiVersions": [
          "v1"
        ],
        "resources": [
          "clusterloggings"
        ],
        "scope": "Namespaced"
      }
    ],
    "documentString": "Managed OpenShift Customers may set log retention outside the allowed range of 0-7 days"
  },
  {
    "webhookName": "clusterrolebindings-validation",
    "rules": [
      {
        "operations": [
          "DELETE"
        ],
        "apiGroups": [
          "rbac.authorization.k8s.io"
        ],
        "apiVersions": [
          "v1"
        ],
        "resources": [
          "clusterrolebindings"
        ],
        "scope": "Cluster"
      }
    ],
    "documentString": "Managed OpenShift Customers may not delete the cluster role bindings under the managed namespaces: (^openshift-.*|kube-system)"
  },
  {
    "webhookName": "clusterroles-validation",
    "rules": [
      {
        "operations": [
          "DELETE"
        ],
        "apiGroups": [
          "rbac.authorization.k8s.io"
        ],
        "apiVersions": [
          "v1"
        ],
        "resources": [
          "clusterroles"
        ],
        "scope": "Cluster"
      }
    ],
    "documentString": "Managed OpenShift Customers may not delete protected ClusterRoles including cluster-admin, view, edit, admin, specific system roles (system:admin, system:node, system:node-proxier, system:kube-scheduler, system:kube-controller-manager), and backplane-* roles"
  },
  {
    "webhookName": "customresourcedefinitions-validation",
    "rules": [
      {
        "operations": [
          "CREATE",
          "UPDATE",
          "DELETE"
        ],
        "apiGroups": [
          "apiextensions.k8s.io"
        ],
        "apiVersions": [
          "*"
        ],
        "resources": [
          "customresourcedefinitions"
        ],
        "scope": "Cluster"
      }
    ],
    "documentString": "Managed OpenShift Customers may not change CustomResourceDefinitions managed by Red Hat."
  },
  {
    "webhookName": "hiveownership-validation",
    "rules": [
      {
        "operations": [
          "UPDATE",
          "DELETE"
        ],
        "apiGroups": [
          "quota.openshift.io"
        ],
        "apiVersions": [
          "*"
        ],
        "resources": [
          "clusterresourcequotas"
        ],
        "scope": "Cluster"
      }
    ],
    "webhookObjectSelector": {
      "matchLabels": {
        "hive.openshift.io/managed": "true"
      }
    },
    "documentString": "Managed OpenShift customers may not edit certain managed resources. A managed resource has a \"hive.openshift.io/managed\": \"true\" label."
  },
  {
    "webhookName": "imagecontentpolicies-validation",
    "rules": [
      {
        "operations": [
          "CREATE",
          "UPDATE"
        ],
        "apiGroups": [
          "config.openshift.io"
        ],
        "apiVersions": [
          "*"
        ],
        "resources": [
          "imagedigestmirrorsets",
          "imagetagmirrorsets"
        ],
        "scope": "Cluster"
      },
      {
        "operations": [
          "CREATE",
          "UPDATE"
        ],
        "apiGroups": [
          "operator.openshift.io"
        ],
        "apiVersions": [
          "*"
        ],
        "resources": [
          "imagecontentsourcepolicies"
        ],
        "scope": "Cluster"
      }
    ],
    "documentString": "Managed OpenShift customers may not create ImageContentSourcePolicy, ImageDigestMirrorSet, or ImageTagMirrorSet resources that configure mirrors that would conflict with system registries (e.g. quay.io, registry.redhat.io, registry.access.redhat.com, etc). For more details, see https://docs.openshift.com/"
  },
  {
    "webhookName": "ingress-config-validation",
    "rules": [
      {
        "operations": [
          "CREATE",
          "UPDATE",
          "DELETE"
        ],
        "apiGroups": [
          "config.openshift.io"
        ],
        "apiVersions": [
          "*"
        ],
        "resources": [
          "ingresses"
        ],
        "scope": "Cluster"
      }
    ],
    "documentString": "Managed OpenShift customers may not modify ingress config resources because it can can degrade cluster operators and can interfere with OpenShift SRE monitoring."
  },
  {
    "webhookName": "ingresscontroller-validation",
    "rules": [
      {
        "operations": [
          "CREATE",
          "UPDATE"
        ],
        "apiGroups": [
          "operator.openshift.io"
        ],
        "apiVersions": [
          "*"
        ],
        "resources": [
          "ingresscontroller",
          "ingresscontrollers"
        ],
        "scope": "Namespaced"
      }
    ],
    "documentString": "Managed OpenShift Customer may create IngressControllers without necessary taints. This can cause those workloads to be provisioned on master nodes."
  },
  {
    "webhookName": "namespace-validation",
    "rules": [
      {
        "operations": [
          "CREATE",
          "UPDATE",
          "DELETE"
        ],
        "apiGroups": [
          ""
        ],
        "apiVersions": [
          "*"
        ],
        "resources": [
          "namespaces"
        ],
        "scope": "Cluster"
      }
    ],
    "documentString": "Managed OpenShift Customers may not modify namespaces specified in the [openshift-monitoring/managed-namespaces openshift-monitoring/ocp-namespaces] ConfigMaps because customer workloads should be placed in customer-created namespaces. Customers may not create namespaces identified by this regular expression (^com$|^io$|^in$) because it could interfere with critical DNS resolution. Additionally, customers may not set or change the values of these Namespace labels [managed.openshift.io/storage-pv-quota-exempt managed.openshift.io/service-lb-quota-exempt]."
  },
  {
    "webhookName": "networkpolicies-validation",
    "rules": [
      {
        "operations": [
          "CREATE",
          "UPDATE",
          "DELETE"
        ],
        "apiGroups": [
          "networking.k8s.io"
        ],
        "apiVersions": [
          "*"
        ],
        "resources": [
          "networkpolicies"
        ],
        "scope": "Namespaced"
      }
    ],
    "documentString": "Managed OpenShift Customers may not create NetworkPolicies in namespaces managed by Red Hat."
  },
  {
    "webhookName": "node-validation-osd",
    "rules": [
      {
        "operations": [
          "CREATE",
          "UPDATE",
          "DELETE"
        ],
        "apiGroups": [
          ""
        ],
        "apiVersions": [
          "*"
        ],
        "resources": [
          "nodes",
          "nodes/*"
        ],
        "scope": "*"
      }
    ],
    "documentString": "Managed OpenShift customers may not alter Node objects."
  },
  {
    "webhookName": "pod-validation",
    "rules": [
      {
        "operations": [
          "*"
        ],
        "apiGroups": [
          "v1"
        ],
        "apiVersions": [
          "*"
        ],
        "resources": [
          "pods"
        ],
        "scope": "Namespaced"
      }
    ],
    "documentString": "Managed OpenShift Customers may use tolerations on Pods that could cause those Pods to be scheduled on infra or master nodes."
  },
  {
    "webhookName": "podimagespec-mutation",
    "rules": [
      {
        "operations": [
          "CREATE"
        ],
        "apiGroups": [
          ""
        ],
        "apiVersions": [
          "v1"
        ],
        "resources": [
          "pods"
        ],
        "scope": "Namespaced"
      }
    ],
    "documentString": "OpenShift debugging tools on Managed OpenShift clusters must be available even if internal image registry is removed."
  },
  {
    "webhookName": "prometheusrule-validation",
    "rules": [
      {
        "operations": [
          "CREATE",
          "UPDATE",
          "DELETE"
        ],
        "apiGroups": [
          "monitoring.coreos.com"
        ],
        "apiVersions": [
          "*"
        ],
        "resources": [
          "prometheusrules"
        ],
        "scope": "Namespaced"
      }
    ],
    "documentString": "Managed OpenShift Customers may not create PrometheusRule in namespaces managed by Red Hat."
  },
  {
    "webhookName": "regular-user-validation",
    "rules": [
      {
        "operations": [
          "*"
        ],
        "apiGroups": [
          "cloudcredential.openshift.io",
          "machine.openshift.io",
          "admissionregistration.k8s.io",
          "addons.managed.openshift.io",
          "cloudingress.managed.openshift.io",
          "managed.openshift.io",
          "ocmagent.managed.openshift.io",
          "splunkforwarder.managed.openshift.io",
          "upgrade.managed.openshift.io"
        ],
        "apiVersions": [
          "*"
        ],
        "resources": [
          "*/*"
        ],
        "scope": "*"
      },
      {
        "operations": [
          "*"
        ],
        "apiGroups": [
          "autoscaling.openshift.io"
        ],
        "apiVersions": [
          "*"
        ],
        "resources": [
          "clusterautoscalers",
          "machineautoscalers"
        ],
        "scope": "*"
      },
      {
        "operations": [
          "*"
        ],
        "apiGroups": [
          "config.openshift.io"
        ],
        "apiVersions": [
          "*"
        ],
        "resources": [
          "clusterversions",
          "clusterversions/status",
          "schedulers",
          "apiservers",
          "proxies"
        ],
        "scope": "*"
      },
      {
        "operations": [
          "CREATE",
          "UPDATE",
          "DELETE"
        ],
        "apiGroups": [
          ""
        ],
        "apiVersions": [
          "*"
        ],
        "resources": [
          "configmaps"
        ],
        "scope": "*"
      },
      {
        "operations": [
          "*"
        ],
        "apiGroups": [
          "machineconfiguration.openshift.io"
        ],
        "apiVersions": [
          "*"
        ],
        "resources": [
          "machineconfigs",
          "machineconfigpools"
        ],
        "scope": "*"
      },
      {
        "operations": [
          "*"
        ],
        "apiGroups": [
          "operator.openshift.io"
        ],
        "apiVersions": [
          "*"
        ],
        "resources": [
          "kubeapiservers",
          "openshiftapiservers"
        ],
        "scope": "*"
      },
      {
        "operations": [
          "*"
        ],
        "apiGroups": [
          "managed.openshift.io"
        ],
        "apiVersions": [
          "*"
        ],
        "resources": [
          "subjectpermissions",
          "subjectpermissions/*"
        ],
        "scope": "*"
      },
      {
        "operations": [
          "*"
        ],
        "apiGroups": [
          "network.openshift.io"
        ],
        "apiVersions": [
          "*"
        ],
        "resources": [
          "netnamespaces",
          "netnamespaces/*"
        ],
        "scope": "*"
      }
    ],
    "documentString": "Managed OpenShift customers may not manage any objects in the following APIGroups [splunkforwarder.managed.openshift.io autoscaling.openshift.io ocmagent.managed.openshift.io upgrade.managed.openshift.io config.openshift.io machineconfiguration.openshift.io operator.openshift.io network.openshift.io cloudcredential.openshift.io machine.openshift.io admissionregistration.k8s.io addons.managed.openshift.io cloudingress.managed.openshift.io managed.openshift.io], nor may Managed OpenShift customers alter the APIServer, KubeAPIServer, OpenShiftAPIServer, ClusterVersion, Proxy or SubjectPermission objects."
  },
  {
    "webhookName": "scc-validation",
    "rules": [
      {
        "operations": [
          "UPDATE",
          "DELETE"
        ],
        "apiGroups": [
          "security.openshift.io"
        ],
        "apiVersions": [
          "*"
        ],
        "resources": [
          "securitycontextconstraints"
        ],
        "scope": "Cluster"
      }
    ],
    "documentString": "Managed OpenShift Customers may not modify the following default SCCs: [anyuid hostaccess hostmount-anyuid hostnetwork hostnetwork-v2 node-exporter nonroot nonroot-v2 privileged restricted restricted-v2]"
  },
  {
    "webhookName": "sdn-migration-validation",
    "rules": [
      {
        "operations": [
          "UPDATE"
        ],
        "apiGroups": [
          "config.openshift.io"
        ],
        "apiVersions": [
          "*"
        ],
        "resources": [
          "networks"
        ],
        "scope": "Cluster"
      }
    ],
    "documentString": "Managed OpenShift customers may not modify the network config type because it can can degrade cluster operators and can interfere with OpenShift SRE monitoring."
  },
  {
    "webhookName": "service-mutation",
    "rules": [
      {
        "operations": [
          "CREATE",
          "UPDATE"
        ],
        "apiGroups": [
          ""
        ],
        "apiVersions": [
          "v1"
        ],
        "resources": [
          "services"
        ],
        "scope": "Namespaced"
      }
    ],
    "documentString": "LoadBalancer-type services on Managed OpenShift clusters must contain an additional annotation for managed policy compliance."
  },
  {
    "webhookName": "serviceaccount-validation",
    "rules": [
      {
        "operations": [
          "DELETE"
        ],
        "apiGroups": [
          ""
        ],
        "apiVersions": [
          "v1"
        ],
        "resources": [
          "serviceaccounts"
        ],
        "scope": "Namespaced"
      }
    ],
    "documentString": "Managed OpenShift Customers may not delete the service accounts under the managed namespaces。"
  },
  {
    "webhookName": "techpreviewnoupgrade-validation",
    "rules": [
      {
        "operations": [
          "CREATE",
          "UPDATE"
        ],
        "apiGroups": [
          "config.openshift.io"
        ],
        "apiVersions": [
          "*"
        ],
        "resources": [
          "featuregates"
        ],
        "scope": "Cluster"
      }
    ],
    "documentString": "Managed OpenShift Customers may not use TechPreviewNoUpgrade FeatureGate that could prevent any future ability to do a y-stream upgrade to their clusters."
  }
]
Copy to Clipboard Toggle word wrap

2.2.9. 데이터 및 애플리케이션에 대한 추가 고객 책임이

고객은 AWS의 Red Hat OpenShift Service에 배포하는 애플리케이션, 워크로드 및 데이터를 담당합니다. 그러나 Red Hat과 AWS는 고객이 플랫폼에서 데이터 및 애플리케이션을 관리하는 데 도움이 되는 다양한 툴을 제공합니다.

Expand
리소스Red Hat 및 AWS고객 역할

고객 데이터

Red Hat

  • 업계 보안 및 규정 준수 표준에 정의된 데이터 암호화에 대한 플랫폼 수준 표준을 유지 관리합니다.
  • 애플리케이션 데이터를 관리하는 데 도움이 되는 OpenShift 구성 요소를 제공합니다(예: 시크릿).
  • Amazon RDS와 같은 데이터 서비스와의 통합을 활성화하여 클러스터 및/또는 AWS 외부의 데이터를 저장하고 관리합니다.

AWS

  • 고객이 클러스터 및/또는 AWS 외부에서 데이터를 저장하고 관리할 수 있도록 Amazon RDS를 제공합니다.
  • 플랫폼에 저장된 모든 고객 데이터와 고객 애플리케이션이 이 데이터를 소비하고 노출하는 방식에 대한 책임을 유지합니다.

고객 애플리케이션

Red Hat

  • 고객이 OpenShift 및 Kubernetes API에 액세스하여 컨테이너화된 애플리케이션을 배포하고 관리할 수 있도록 OpenShift 구성 요소를 사용하여 클러스터를 프로비저닝합니다.
  • 고객 배포에서 Red Hat Container Catalog 레지스트리에서 이미지를 가져올 수 있도록 이미지 풀 시크릿으로 클러스터를 생성합니다.
  • 고객이 커뮤니티, 타사 및 Red Hat 서비스를 클러스터에 추가하기 위해 Operator를 설정하는 데 사용할 수 있는 OpenShift API에 대한 액세스 권한을 제공합니다.
  • 고객 애플리케이션에 사용할 영구 볼륨을 지원하는 스토리지 클래스 및 플러그인을 제공합니다.
  • 고객이 애플리케이션을 배포 및 관리하기 위해 클러스터에 애플리케이션 컨테이너 이미지를 안전하게 저장할 수 있도록 컨테이너 이미지 레지스트리를 제공합니다.

AWS

  • 고객 애플리케이션에 사용할 영구 볼륨을 지원하기 위해 Amazon EBS를 제공합니다.
  • 컨테이너 이미지 레지스트리의 Red Hat 프로비저닝을 지원하는 Amazon S3를 제공합니다.
  • 고객 및 타사 애플리케이션, 데이터 및 전체 라이프사이클에 대한 책임을 유지합니다.
  • 고객이 Operator 또는 외부 이미지를 사용하여 Red Hat, 커뮤니티, 타사, 자체 또는 기타 서비스를 클러스터에 추가하는 경우 고객은 이러한 서비스와 Red Hat을 포함한 적절한 공급자와 협력하여 문제를 해결할 책임이 있습니다.
  • 제공된 툴과 기능을 사용하여 구성 및 배포, 최신 상태로 유지, 리소스 요청 및 제한을 설정하고, 리소스 요청 및 제한을 설정하고, 권한을 설정할 수 있는 클러스터 크기, 권한 설정, 기타 서비스와 통합, 고객이 배포하는 이미지 스트림 또는 템플릿을 관리하고, 외부 서비스, 외부 서비스 저장, 백업 및 복원 및 고가용성 및 복원 워크로드를 관리합니다.
  • 메트릭을 수집하고, 경고를 생성하고, 애플리케이션에서 시크릿을 보호하는 등 AWS 클래식 아키텍처의 Red Hat OpenShift Service에서 실행되는 애플리케이션을 모니터링할 책임이 있습니다.

2.3. Red Hat OpenShift Service on AWS 클래식 아키텍처 서비스 정의

이 문서에서는 AWS 클래식 아키텍처(ROSA) 관리형 서비스의 Red Hat OpenShift Service에 대한 서비스 정의에 대해 간단히 설명합니다.

2.3.1. 계정 관리

이 섹션에서는 AWS 클래식 아키텍처 계정 관리에서 Red Hat OpenShift Service의 서비스 정의에 대해 설명합니다.

2.3.1.1. 청구 및 가격

AWS 클래식 아키텍처의 Red Hat OpenShift Service는 AWS(Amazon Web Services) 계정에 직접 청구됩니다. ROSA 가격은 더 큰 할인을 위해 연간 약정 또는 3년의 약정과 함께 소비를 기반으로 합니다. ROSA의 총 비용은 두 가지 요소로 구성됩니다.

  • ROSA 서비스 요금
  • AWS 인프라 비용

자세한 내용은 AWS 웹 사이트의 AWS 클래식 아키텍처 가격 책정 페이지를 참조하십시오.

2.3.1.2. 클러스터 셀프 서비스

고객은 다음을 포함하여 클러스터를 셀프 서비스할 수 있습니다.

  • 클러스터 생성
  • 클러스터 삭제
  • ID 공급자 추가 또는 제거
  • 승격된 그룹에서 사용자 추가 또는 제거
  • 클러스터 개인 정보 보호 구성
  • 머신 풀 추가 또는 제거 및 자동 스케일링 구성
  • 업그레이드 정책 정의

ROSA(AWS 클래식 아키텍처) CLI, rosa 에서 Red Hat OpenShift Service를 사용하여 이러한 셀프 서비스 작업을 수행할 수 있습니다.

2.3.1.3. 인스턴스 유형

단일 가용성 영역 클러스터에는 최소 3개의 컨트롤 플레인 노드, 2개의 인프라 노드 및 단일 가용성 영역에 배포된 작업자 노드 2개가 필요합니다.

여러 가용성 영역 클러스터에는 최소 3개의 컨트롤 플레인 노드, 3개의 인프라 노드 및 3개의 작업자 노드가 필요합니다.

워크로드를 배포하고 관리할 때 다음 제한 사항을 고려하십시오.

  • AWS 클래식 아키텍처 머신 풀에서 Red Hat OpenShift Service를 사용하여 클러스터에 존재하는 작업자 노드에 워크로드를 배포해야 합니다.
  • 컨트롤 플레인 및 인프라 노드에 필수적으로 간주하는 워크로드를 데몬 세트로 실행합니다.
  • API 서버 가용성에 대한 SLA(Service Level Agreement)가 영향을 받지 않도록 이러한 노드에서 실행되는 모든 워크로드가 안전하고 확장 가능하며 AWS 클래식 아키텍처의 Red Hat OpenShift Service 버전과 호환되는지 확인해야 합니다.

AWS 클래식 아키텍처 구성 요소의 Red Hat OpenShift Service가 영향을 받는 경우 Red Hat은 컨트롤 플레인 또는 인프라 노드의 크기를 지정하고 크기를 조정할 수 있습니다.

컨트롤 플레인 및 인프라 노드는 Red Hat에서 배포 및 관리합니다. 이러한 노드는 리소스 사용량에 따라 자동으로 크기가 조정됩니다. 클러스터 요구 사항을 충족하기 위해 이러한 노드의 크기를 조정해야 하는 경우 지원 케이스를 작성하십시오.

주의

클라우드 공급자 콘솔을 통해 기본 인프라를 종료하는 것은 지원되지 않으며 데이터 손실이 발생할 수 있습니다.

작업자 노드에 배포해야 하는 Red Hat 워크로드에 대한 자세한 내용은 다음 Red Hat Operator 지원 섹션을 참조하십시오.

참고

약 1개의 vCPU 코어 및 1GiB의 메모리는 각 작업자 노드에 예약되고 할당 가능한 리소스에서 제거됩니다. 기본 플랫폼에 필요한 프로세스를 실행하려면 이러한 리소스 예약이 필요합니다. 이러한 프로세스에는 udev, kubelet 및 컨테이너 런타임과 같은 시스템 데몬이 포함됩니다. 예약된 리소스는 커널 예약을 고려합니다.

감사 로그 집계, 메트릭 수집, DNS, 이미지 레지스트리, CNI/OVN-Kubernetes 등과 같은 OpenShift/ROSA 핵심 시스템은 클러스터의 안정성과 유지 관리를 유지하기 위해 추가 할당 가능한 리소스를 사용할 수 있습니다. 소비된 추가 리소스는 사용량에 따라 다를 수 있습니다.

자세한 내용은 Kubernetes 설명서 를 참조하십시오.

2.3.1.4. 지역 및 가용성 영역

다음 AWS 리전은 현재 Red Hat OpenShift 4에서 사용할 수 있으며 AWS 클래식 아키텍처의 Red Hat OpenShift Service에서 지원됩니다.

참고

OpenShift Container Platform 지원에 관계없이 중국 리전은 지원되지 않습니다.

참고

GovCloud (US) 리전의 경우 AWS (ROSA) FedRAMP에서 Red Hat OpenShift Service에 대한 액세스 요청을 제출해야 합니다.

Expand
표 2.1. AWS 리전
리전위치ROSA 최소 버전 필요AWS 옵트인 필요

us-east-1

N. 버지니아

4.14

없음

us-east-2

Eelio

4.14

없음

us-west-1

N. California

4.14

없음

us-west-2

Oregon

4.14

없음

af-south-1

Cape Town

4.14

제공됨

ap-east-1

홍콩

4.14

제공됨

ap-south-2

Hyderabad

4.14

제공됨

ap-southeast-3

Jakarta

4.14

제공됨

ap-southeast-4

멜버른

4.14

제공됨

ap-south-1

뭄바이

4.14

없음

ap-northeast-3

오사카

4.14

없음

ap-northeast-2

Seoul

4.14

없음

ap-southeast-1

싱가포르

4.14

없음

ap-southeast-2

시드니

4.14

없음

ap-northeast-1

Cryostat

4.14

없음

ca-central-1

중앙 캐나다

4.14

없음

eu-central-1

프랑크푸르트

4.14

없음

eu-north-1

gRPCholm

4.14

없음

eu-west-1

Ireland

4.14

없음

eu-west-2

번네일

4.14

없음

eu-south-1

Milan

4.14

제공됨

eu-west-3

파키스탄

4.14

없음

eu-south-2

스페인

4.14

제공됨

eu-central-2

취리히

4.14

제공됨

me-south-1

Bahrain

4.14

제공됨

me-central-1

UAE

4.14

제공됨

sa-east-1

개인 정보 보호 정책

4.14

없음

il-central-1

Tel Aviv

4.15

제공됨

ca-west-1

Calgary

4.14

제공됨

us-gov-east-1

AWS GovCloud - US-East

4.14

없음

us-gov-west-1

AWS GovCloud - US-West

4.14

없음

클러스터는 가용성 영역이 3개 이상인 리전에만 배포할 수 있습니다. 자세한 내용은 AWS 문서의 리전 및 가용 영역 섹션을 참조하십시오.

AWS 클래식 아키텍처 클러스터의 새로운 Red Hat OpenShift Service는 단일 리전의 설치 관리자 또는 기존 VPC(Virtual Private Cloud) 내에 설치되며, 옵션은 단일 가용성 영역(Single-AZ)에 배포하거나 여러 가용 영역(Multi-AZ)에 배포할 수 있습니다. 이를 통해 클러스터 수준 네트워크 및 리소스 격리를 제공하고 VPN 연결 및 VPC 피어링과 같은 클라우드 공급자 VPC 설정을 활성화합니다. PV(영구 볼륨)는 Amazon EBS(Elastic Block Storage)에서 지원하며, 프로비저닝된 가용성 영역에 고유합니다. PVC(영구 볼륨 클레임)는 스케줄링할 수 없는 Pod를 방지하기 위해 관련 Pod 리소스가 특정 가용성 영역에 할당될 때까지 볼륨에 바인딩되지 않습니다. 가용성 영역별 리소스는 동일한 가용성 영역의 리소스에서만 사용할 수 있습니다.

주의

단일 또는 여러 가용성 영역의 리전과 선택 사항은 클러스터를 배포한 후에는 변경할 수 없습니다.

2.3.1.5. 로컬 영역

AWS 클래식 아키텍처의 Red Hat OpenShift Service는 고객이 대기 시간에 민감한 애플리케이션 워크로드를 배치할 수 있는 metropolis-centralized 가용성 영역인 AWS Local Zones의 사용을 지원합니다. 로컬 영역은 자체 인터넷 연결이 있는 AWS 리전의 확장입니다. AWS 로컬 영역에 대한 자세한 내용은 AWS 문서 로컬 영역 작동 방식을 참조하십시오.

2.3.1.6. SLA(서비스 수준 계약)

서비스 자체에 대한 SLA는 Red Hat Enterprise Agreement 부록 4(Online Subscription Services)의 부록 4 에 정의되어 있습니다.

2.3.1.7. 제한된 지원 상태

클러스터가 제한된 지원 상태로 전환되면 Red Hat은 더 이상 클러스터를 사전 모니터링하지 않으며 SLA는 더 이상 적용되지 않으며 SLA에 대해 요청된 크레딧이 거부됩니다. 더 이상 제품 지원이 없다는 의미는 아닙니다. 위반 요소를 수정하는 경우 클러스터가 완전히 지원되는 상태로 돌아갈 수 있습니다. 그러나 다른 경우에는 클러스터를 삭제하고 다시 생성해야 할 수 있습니다.

클러스터는 다음 시나리오를 포함하여 여러 가지 이유로 제한된 지원 상태로 이동할 수 있습니다.

만료일 이전에 클러스터를 지원되는 버전으로 업그레이드하지 않는 경우

Red Hat은 라이프 사이클 종료일 이후 버전에 대해 런타임 또는 SLA를 보장하지 않습니다. 지속적인 지원을 받으려면 라이프 사이클 종료일 이전에 클러스터를 지원되는 버전으로 업그레이드합니다. 수명 종료일 이전에 클러스터를 업그레이드하지 않으면 지원되는 버전으로 업그레이드할 때까지 클러스터는 제한된 지원 상태로 전환됩니다.

Red Hat은 지원되지 않는 버전에서 지원되는 버전으로 업그레이드하기 위해 상업적으로 합리적인 지원을 제공합니다. 그러나 지원되는 업그레이드 경로를 더 이상 사용할 수 없는 경우 새 클러스터를 생성하고 워크로드를 마이그레이션해야 할 수 있습니다.

AWS 클래식 아키텍처 구성 요소 또는 Red Hat에서 설치 및 관리하는 기타 구성 요소에서 기본 Red Hat OpenShift Service를 제거하거나 교체하는 경우
클러스터 관리자 권한이 사용된 경우 Red Hat은 인프라 서비스, 서비스 가용성 또는 데이터 손실에 영향을 미치는 사용자를 포함하여 인증된 사용자의 작업에 대해 책임을 지지 않습니다. Red Hat이 이러한 작업을 감지하면 클러스터가 제한된 지원 상태로 전환될 수 있습니다. Red Hat은 상태 변경 사항을 사용자에게 알려주며 클러스터를 삭제하고 다시 생성해야 하는 수정 단계를 살펴보기 위해 작업을 되돌리거나 지원 케이스를 생성해야 합니다.

클러스터가 제한된 지원 상태로 이동하거나 추가 지원이 필요할 수 있는 특정 작업에 대해 질문이 있는 경우 지원 티켓을 여십시오.

2.3.1.8. 지원

AWS 클래식 아키텍처의 Red Hat OpenShift Service에는 Red Hat 고객 포털을 사용하여 액세스할 수 있는 Red Hat Premium 지원이 포함되어 있습니다.

지원 응답 시간은 Red Hat 제품 지원 약관 을 참조하십시오.

AWS 지원은 고객의 AWS와의 기존 지원 계약이 적용됩니다.

2.3.2. 로깅

AWS 클래식 아키텍처의 Red Hat OpenShift Service는 AWS(Amazon) CloudMonitor에 선택적 통합 로그 전달 기능을 제공합니다.

2.3.2.1. 클러스터 감사 로깅

통합이 활성화된 경우 AWS CloudMonitor를 통해 클러스터 감사 로그를 사용할 수 있습니다. 통합이 활성화되지 않은 경우 지원 케이스를 열어 감사 로그를 요청할 수 있습니다.

2.3.2.2. 애플리케이션 로깅

STDOUT 으로 전송된 애플리케이션 로그는 Fluentd에서 수집하고 설치된 경우 클러스터 로깅 스택을 통해 AWS CloudMonitor로 전달됩니다.

2.3.3. 모니터링

이 섹션에서는 AWS 클래식 아키텍처 모니터링에서 Red Hat OpenShift Service의 서비스 정의에 대해 설명합니다.

2.3.3.1. 클러스터 메트릭

AWS 클래식 아키텍처 클러스터의 Red Hat OpenShift Service에는 CPU, 메모리 및 네트워크 기반 메트릭을 포함한 클러스터 모니터링을 위한 통합 Prometheus 스택이 제공됩니다. 웹 콘솔을 통해 액세스할 수 있습니다. 이러한 메트릭을 사용하면 ROSA 사용자가 제공하는 CPU 또는 메모리 메트릭을 기반으로 수평 Pod 자동 스케일링을 수행할 수 있습니다.

2.3.3.2. 클러스터 알림

클러스터 알림(서비스 로그라고도 함)은 클러스터의 상태, 상태 또는 성능에 대한 메시지입니다.

클러스터 알림은 Red Hat site Reliability Engineering(SRE)이 관리형 클러스터의 상태에 대해 귀하와 통신하는 기본 방법입니다. Red Hat SRE는 클러스터 알림을 사용하여 클러스터 문제를 해결하거나 방지하기 위해 작업을 수행하도록 요청할 수도 있습니다.

클러스터 소유자 및 관리자는 클러스터가 정상 상태로 유지되고 지원되는지 확인하기 위해 클러스터 알림을 정기적으로 검토하고 조치를 취해야 합니다.

클러스터의 클러스터 기록 탭에서 Red Hat Hybrid Cloud Console에서 클러스터 알림을 볼 수 있습니다. 기본적으로 클러스터 소유자만 이메일로 클러스터 알림을 수신합니다. 다른 사용자가 클러스터 알림 이메일을 수신해야 하는 경우 각 사용자를 클러스터에 대한 알림 연락처로 추가합니다.

2.3.4. 네트워킹

이 섹션에서는 ROSA 네트워킹의 서비스 정의에 대한 정보를 제공합니다.

2.3.4.1. 애플리케이션 사용자 정의 도메인
주의

AWS 클래식 아키텍처 4.14에서 Red Hat OpenShift Service부터 Custom Domain Operator는 더 이상 사용되지 않습니다. ROSA 4.14 이상에서 Ingress를 관리하려면 Ingress Operator를 사용합니다.

경로에 사용자 지정 호스트 이름을 사용하려면 정식 이름(CNAME) 레코드를 생성하여 DNS 공급자를 업데이트해야 합니다. CNAME 레코드는 OpenShift 정식 라우터 호스트 이름을 사용자 지정 도메인에 매핑해야 합니다. OpenShift 표준 라우터 호스트 이름은 경로를 생성한 후 경로 세부 정보 페이지에 표시됩니다. 또는 지정된 호스트 이름의 모든 하위 도메인을 클러스터의 라우터에 라우팅하기 위해 와일드카드 CNAME 레코드를 한 번 생성할 수 있습니다.

2.3.4.2. 도메인 검증 인증서

ROSA에는 클러스터의 내부 및 외부 서비스에 모두 필요한 TLS 보안 인증서가 포함되어 있습니다. 외부 경로의 경우 각 클러스터에 제공 및 설치된 두 개의 별도의 TLS 와일드카드 인증서가 있습니다. 하나는 웹 콘솔과 경로 기본 호스트 이름용이고 다른 하나는 API 끝점에 사용됩니다. Let's Encrypt는 인증서에 사용되는 인증 기관입니다. 내부 API 끝점 과 같은 클러스터 내 경로는 클러스터의 기본 제공 인증 기관에서 서명한 TLS 인증서를 사용하며 TLS 인증서를 신뢰하기 위해 모든 Pod에서 CA 번들을 사용할 수 있어야 합니다.

2.3.4.3. 빌드에 대한 사용자 정의 인증 기관

ROSA는 이미지 레지스트리에서 이미지를 가져올 때 빌드에서 신뢰하는 사용자 정의 인증 기관 사용을 지원합니다.

2.3.4.4. 로드 밸런서

AWS 클래식 아키텍처의 Red Hat OpenShift Service는 최대 5개의 로드 밸런서를 사용합니다.

  • 클러스터 내부이고 내부 클러스터 통신을 위한 트래픽 균형을 조정하는 데 사용되는 내부 컨트롤 플레인 로드 밸런서입니다.
  • OpenShift 및 Kubernetes API에 액세스하는 데 사용되는 외부 컨트롤 플레인 로드 밸런서입니다. 이 로드 밸런서는 OpenShift Cluster Manager에서 비활성화할 수 있습니다. 이 로드 밸런서가 비활성화된 경우 Red Hat은 내부 컨트롤 플레인 로드 밸런서를 가리키도록 API DNS를 재구성합니다.
  • Red Hat의 클러스터 관리를 위해 예약된 Red Hat의 외부 컨트롤 플레인 로드 밸런서입니다. 액세스는 엄격하게 제어되며 허용 목록에 있는 bastion 호스트에서만 통신이 가능합니다.
  • 기본 애플리케이션 로드 밸런서인 기본 외부 라우터/ingress 로드 밸런서는 URL의 앱으로 표시됩니다. 기본 로드 밸런서는 OpenShift Cluster Manager에서 인터넷을 통해 공개적으로 액세스 가능하거나 기존 개인 연결을 통해 개인용으로만 액세스할 수 있도록 구성할 수 있습니다. 클러스터의 모든 애플리케이션 경로는 로깅 UI, 메트릭 API 및 레지스트리와 같은 클러스터 서비스를 포함하여 이 기본 라우터 로드 밸런서에 노출됩니다.
  • 선택 사항: 보조 애플리케이션 로드 밸런서인 보조 라우터/ingress 로드 밸런서이며 URL에서 apps2 로 표시됩니다. 보조 로드 밸런서는 OpenShift Cluster Manager에서 인터넷을 통해 공개적으로 액세스 가능하거나 기존 개인 연결을 통해 비공개적으로만 액세스할 수 있도록 구성할 수 있습니다. 이 라우터 로드 밸런서에 대해 라벨 일치 가 구성된 경우 이 라벨과 일치하는 애플리케이션 경로만 이 라우터 로드 밸런서에 노출됩니다. 그렇지 않으면 모든 애플리케이션 경로도 이 라우터 로드 밸런서에 노출됩니다.
  • 선택사항: 서비스용 로드 밸런서입니다. 서비스에 대해 비HTTP/SNI 트래픽 및 비표준 포트를 활성화합니다. 이러한 로드 밸런서는 비HTTP/SNI 트래픽 또는 비표준 포트 사용과 같은 고급 인그레스 기능을 활성화하기 위해 AWS 클래식 아키텍처의 Red Hat OpenShift Service에서 실행되는 서비스에 매핑될 수 있습니다. 각 AWS 계정에는 각 클러스터 내에서 사용할 수 있는 Classic Load Balancer 수를 제한하는 할당량이 있습니다.
2.3.4.5. 클러스터 인그레스

프로젝트 관리자는 IP 허용 목록을 통한 수신 제어를 포함하여 다양한 목적으로 경로 주석을 추가할 수 있습니다.

ovs-networkpolicy 플러그인을 활용하는 NetworkPolicy 오브젝트를 사용하여 Ingress 정책을 변경할 수도 있습니다. 이를 통해 동일한 클러스터와 동일한 네임스페이스에 있는 Pod를 포함하여 Pod 수준까지 수신 네트워크 정책을 완전히 제어할 수 있습니다.

모든 클러스터 인그레스 트래픽은 정의된 로드 밸런서를 통과합니다. 모든 노드에 대한 직접 액세스는 클라우드 구성에 의해 차단됩니다.

2.3.4.6. 클러스터 송신

EgressNetworkPolicy 오브젝트를 통한 Pod 송신 트래픽 제어를 사용하여 AWS 클래식 아키텍처의 Red Hat OpenShift Service의 아웃바운드 트래픽을 방지하거나 제한할 수 있습니다.

컨트롤 플레인 및 인프라 노드의 공용 아웃 바운드 트래픽이 필요하며 클러스터 이미지 보안 및 클러스터 모니터링을 유지 관리하는 데 필요합니다. 이를 위해서는 0.0.0.0/0 경로가 인터넷 게이트웨이에만 속해야 합니다. 이 범위는 개인 연결을 통해 라우팅할 수 없습니다.

OpenShift 4 클러스터는 NAT 게이트웨이를 사용하여 클러스터를 나가는 모든 공용 아웃바운드 트래픽에 대해 공용 고정 IP를 제공합니다. 클러스터가 배포된 각 가용성 영역은 고유한 NAT 게이트웨이를 수신하므로 클러스터 송신 트래픽에 대해 최대 3개의 고유한 고정 IP 주소가 존재할 수 있습니다. 클러스터 내부 또는 공용 인터넷으로 이동하지 않는 모든 트래픽은 NAT 게이트웨이를 통과하지 않고 트래픽이 시작된 노드에 소스 IP 주소를 보유합니다. 노드 IP 주소는 동적이므로 개인 리소스에 액세스할 때 개별 IP 주소를 허용 목록에 추가해서는 안 됩니다.

고객은 클러스터에서 Pod를 실행한 다음 외부 서비스를 쿼리하여 공용 고정 IP 주소를 확인할 수 있습니다. 예를 들면 다음과 같습니다.

$ oc run ip-lookup --image=busybox -i -t --restart=Never --rm -- /bin/sh -c "/bin/nslookup -type=a myip.opendns.com resolver1.opendns.com | grep -E 'Address: [0-9.]+'"
Copy to Clipboard Toggle word wrap
2.3.4.7. 클라우드 네트워크 구성

Red Hat OpenShift Service on AWS 클래식 아키텍처를 사용하면 다음과 같은 AWS 관리 기술을 통해 프라이빗 네트워크 연결을 구성할 수 있습니다.

  • VPN 연결
  • VPC 피어링
  • 전송 게이트웨이
  • 직접 연결
중요

Red Hat 사이트 안정성 엔지니어(SRE)는 사설 네트워크 연결을 모니터링하지 않습니다. 이러한 연결 모니터링은 고객의 책임이 있습니다.

2.3.4.8. DNS 전달

프라이빗 클라우드 네트워크 구성이 있는 ROSA 클러스터의 경우 고객은 명시적으로 제공된 도메인에 대해 쿼리해야 하는 프라이빗 연결에서 사용할 수 있는 내부 DNS 서버를 지정할 수 있습니다.

2.3.4.9. 네트워크 확인

ROSA 클러스터를 기존 VPC(Virtual Private Cloud)에 배포하거나 클러스터에 새로 추가된 서브넷을 사용하여 추가 머신 풀을 생성할 때 네트워크 확인 검사가 자동으로 실행됩니다. 검사를 통해 네트워크 구성을 확인하고 오류를 강조 표시하여 배포 전에 구성 문제를 해결할 수 있습니다.

네트워크 확인 검사를 수동으로 실행하여 기존 클러스터의 구성을 확인할 수도 있습니다.

2.3.5. 스토리지

이 섹션에서는 AWS 클래식 아키텍처 스토리지에서 Red Hat OpenShift Service의 서비스 정의에 대해 설명합니다.

2.3.5.1. encrypted-at-rest OS 및 노드 스토리지

컨트롤 플레인, 인프라 및 작업자 노드는 encrypted-at-rest Amazon EBS(Elastic Block Store) 스토리지를 사용합니다.

2.3.5.2. encrypted-at-rest PV

PV에 사용되는 EBS 볼륨은 기본적으로 암호화되어 있습니다.

2.3.5.3. 블록 스토리지(RWO)

PV(영구 볼륨)는 Amazon EBS(Elastic Block Store)가 Read-Write-Once인 Amazon EBS에서 지원합니다.

PV는 한 번에 단일 노드에만 연결할 수 있으며 프로비저닝된 가용성 영역에 고유합니다. 그러나 PV는 가용성 영역의 모든 노드에 연결할 수 있습니다.

각 클라우드 공급자에는 단일 노드에 연결할 수 있는 PV 수에 대한 자체 제한이 있습니다. 자세한 내용은 AWS 인스턴스 유형 제한을 참조하십시오.

2.3.5.4. 공유 스토리지(RWX)

AWS CSI 드라이버는 AWS 클래식 아키텍처에서 Red Hat OpenShift Service에 대한 RWX 지원을 제공하는 데 사용할 수 있습니다. 설정을 단순화하기 위해 커뮤니티 Operator가 제공됩니다. 자세한 내용은 Amazon Elastic File Storage Setup for Red Hat OpenShift Service on AWS 에서 참조하십시오.

2.3.6. 플랫폼

이 섹션에서는 AWS 클래식 아키텍처(ROSA) 플랫폼의 Red Hat OpenShift Service에 대한 서비스 정의에 대해 설명합니다.

2.3.6.1. 자동 확장

노드 자동 스케일링은 AWS 클래식 아키텍처의 Red Hat OpenShift Service에서 사용할 수 있습니다. 클러스터의 머신 수를 자동으로 확장하도록 자동 스케일러 옵션을 구성할 수 있습니다.

2.3.6.2. DaemonSets

고객은 AWS 클래식 아키텍처에서 Red Hat OpenShift Service에서 데몬 세트를 생성하고 실행할 수 있습니다. 데몬 세트를 작업자 노드에서만 실행되도록 제한하려면 다음 nodeSelector 를 사용합니다.

spec:
  nodeSelector:
    role: worker
Copy to Clipboard Toggle word wrap
2.3.6.3. 여러 가용성 영역

여러 가용성 영역 클러스터에서 컨트롤 플레인 노드는 가용성 영역에 분산되며 각 가용성 영역에 하나 이상의 작업자 노드가 필요합니다.

2.3.6.4. 노드 라벨

사용자 지정 노드 레이블은 노드 생성 중에 Red Hat에서 생성하며 현재 AWS 클래식 아키텍처 클러스터의 Red Hat OpenShift Service에서 변경할 수 없습니다. 그러나 새 머신 풀을 생성할 때 사용자 지정 레이블이 지원됩니다.

2.3.6.5. 노드 라이프사이클

작업자 노드는 수명이 보장되지 않으며 OpenShift의 정상적인 작동 및 관리의 일부로 언제든지 교체될 수 있습니다.

다음과 같은 상황에서 작업자 노드를 교체할 수 있습니다.

  • 클러스터의 원활한 운영을 위해 NotReady 상태의 작업자 노드가 교체되도록 머신 상태 점검이 배포 및 구성됩니다.
  • AWS EC2 인스턴스는 AWS가 인스턴스를 호스팅하는 기본 하드웨어의 복구 가능한 오류를 감지하면 종료될 수 있습니다.
  • 업그레이드하는 동안 업그레이드 프로세스 중 클러스터 리소스 손실을 고려하여 새 노드가 먼저 프로비저닝됩니다. 이 새 노드가 이전에 설명한 자동 상태 점검을 통해 클러스터에 성공적으로 통합되면 이전 노드가 클러스터에서 제거됩니다.

Kubernetes 기반 시스템에서 실행되는 모든 컨테이너화된 워크로드의 경우 노드 교체에 탄력적으로 애플리케이션을 구성하는 것이 좋습니다.

2.3.6.6. 클러스터 백업 정책

Red Hat은 ROSA 클러스터에 대해 오브젝트 수준 백업 솔루션을 권장합니다. OADP(OpenShift API for Data Protection)는 OpenShift에 포함되어 있지만 기본적으로 활성화되어 있지 않습니다. 고객은 오브젝트 수준 백업 및 복원 기능을 달성하도록 클러스터에서 OADP를 구성할 수 있습니다.

Red Hat은 고객 애플리케이션 또는 애플리케이션 데이터를 백업하지 않습니다. 고객은 애플리케이션 및 데이터에 대한 전적인 책임이 있으며 자체 백업 및 복원 기능을 배치해야 합니다.

주의

고객은 애플리케이션 및 애플리케이션 데이터를 백업 및 복원하는 전적인 책임이 있습니다. 고객 역할에 대한 자세한 내용은 "Shared responsibility matrix"를 참조하십시오.

2.3.6.7. OpenShift version

AWS 클래식 아키텍처의 Red Hat OpenShift Service는 서비스로 실행되며 최신 OpenShift Container Platform 버전으로 최신 상태로 유지됩니다. 최신 버전으로의 업그레이드 일정을 사용할 수 있습니다.

2.3.6.8. 업그레이드

ROSA CLI, rosa 또는 OpenShift Cluster Manager를 사용하여 업그레이드를 예약할 수 있습니다.

업그레이드 정책 및 절차에 대한 자세한 내용은 AWS 클래식 아키텍처 라이프 사이클의 Red Hat OpenShift Service 를 참조하십시오.

2.3.6.9. Windows 컨테이너

현재 Windows Containers 용 Red Hat OpenShift 지원은 AWS 클래식 아키텍처의 Red Hat OpenShift Service에서 제공되지 않습니다.

2.3.6.10. 컨테이너 엔진

AWS 클래식 아키텍처의 Red Hat OpenShift Service는 OpenShift 4에서 실행되며 사용 가능한 유일한 컨테이너 엔진으로 CRI-O 를 사용합니다.

2.3.6.11. 운영 체제

AWS 클래식 아키텍처의 Red Hat OpenShift Service는 OpenShift 4에서 실행되며 모든 클러스터 노드의 운영 체제로 RHCOS(Red Hat CoreOS)를 사용합니다.

2.3.6.12. Red Hat Operator 지원

Red Hat 워크로드는 일반적으로 Operator Hub를 통해 제공되는 Red Hat 제공 Operator를 참조합니다. Red Hat 워크로드는 Red Hat SRE 팀에서 관리하지 않으며 작업자 노드에 배포해야 합니다. 이러한 Operator에는 추가 Red Hat 서브스크립션이 필요할 수 있으며 추가 클라우드 인프라 비용이 발생할 수 있습니다. Red Hat 제공 Operator의 예는 다음과 같습니다.

  • Red Hat Quay
  • Red Hat Advanced Cluster Management
  • Red Hat Advanced Cluster Security
  • Red Hat OpenShift Service Mesh
  • OpenShift Serverless
  • Red Hat OpenShift Logging
  • Red Hat OpenShift Pipelines
  • OpenShift Virtualization
2.3.6.13. Kubernetes Operator 지원

소프트웨어 카탈로그 마켓플레이스에 나열된 모든 Operator를 설치할 수 있어야 합니다. 이러한 Operator는 고객 워크로드로 간주되며 Red Hat SRE에서 모니터링하거나 관리하지 않습니다. Red Hat에서 작성한 Operator는 Red Hat에서 지원합니다.

2.3.7. 보안

이 섹션에서는 AWS 클래식 아키텍처 보안에서 Red Hat OpenShift Service의 서비스 정의에 대해 설명합니다.

2.3.7.1. 인증 공급자

클러스터의 인증은 OpenShift Cluster Manager 또는 클러스터 생성 프로세스를 사용하거나 ROSA CLI인 rosa 를 사용하여 구성할 수 있습니다. ROSA는 ID 공급자가 아니며 클러스터에 대한 모든 액세스는 고객이 통합 솔루션의 일부로 관리해야 합니다. 동시에 프로비저닝된 여러 ID 공급자 사용이 지원됩니다. 지원되는 ID 공급자는 다음과 같습니다.

  • GitHub 또는 GitHub Enterprise
  • GitLab
  • Google
  • LDAP
  • OpenID Connect
  • htpasswd
2.3.7.2. 권한이 있는 컨테이너

cluster-admin 역할의 사용자가 권한 있는 컨테이너를 사용할 수 있습니다. cluster-admin 으로 권한 있는 컨테이너 사용은 Red Hat Enterprise Agreement 부록 4 (Online Subscription Services)의 책임이 적용됩니다.

2.3.7.3. 고객 관리자 사용자

일반 사용자 외에도 AWS 클래식 아키텍처의 Red Hat OpenShift Service는 dedicated-admin 이라는 ROSA별 그룹에 액세스할 수 있습니다. dedicated-admin 그룹의 멤버인 클러스터의 모든 사용자:

  • 클러스터의 모든 고객이 생성한 프로젝트에 대한 관리자 액세스 권한이 있어야 합니다.
  • 클러스터의 리소스 할당량 및 제한을 관리할 수 있습니다.
  • NetworkPolicy 오브젝트를 추가하고 관리할 수 있습니다.
  • 스케줄러 정보를 포함하여 클러스터의 특정 노드 및 PV에 대한 정보를 볼 수 있습니다.
  • 클러스터의 예약된 dedicated-admin 프로젝트에 액세스할 수 있으므로 승격된 권한으로 서비스 계정을 생성할 수 있으며 클러스터의 기본 제한 및 할당량을 업데이트할 수 있습니다.
  • 소프트웨어 카탈로그에서 Operator를 설치하고 모든 *.operators.coreos.com API 그룹에서 모든 동사를 수행할 수 있습니다.
2.3.7.4. 클러스터 관리 역할

AWS 클래식 아키텍처에서 Red Hat OpenShift Service의 관리자는 조직 클러스터의 cluster-admin 역할에 대한 기본 액세스 권한을 갖습니다. cluster-admin 역할을 사용하여 계정에 로그인하는 동안 사용자는 권한 있는 보안 컨텍스트를 실행할 수 있는 권한이 증가했습니다.

2.3.7.5. 프로젝트 셀프 서비스

기본적으로 모든 사용자는 프로젝트를 생성, 업데이트 및 삭제할 수 있습니다. dedicated-admin 그룹의 멤버가 인증된 사용자로부터 self-provisioner 역할을 제거하는 경우 이를 제한할 수 있습니다.

$ oc adm policy remove-cluster-role-from-group self-provisioner system:authenticated:oauth
Copy to Clipboard Toggle word wrap

다음을 적용하여 제한 사항을 되돌릴 수 있습니다.

$ oc adm policy add-cluster-role-to-group self-provisioner system:authenticated:oauth
Copy to Clipboard Toggle word wrap
2.3.7.6. 규정 준수

최신 규정 준수 정보는 ROSA의 프로세스 및 보안 이해 의 규정 준수 표를 참조하십시오.

2.3.7.7. 네트워크 보안

AWS 클래식 아키텍처의 Red Hat OpenShift Service를 사용하면 AWS Shield라는 모든 로드 밸런서에서 표준 DDoS 보호 기능을 제공합니다. 이를 통해 ROSA에 사용되는 모든 공개 대립 로드 밸런서에서 가장 일반적으로 사용되는 레벨 3 및 4 공격에 대해 95% 보호 기능을 제공합니다. haproxy 라우터로 들어오는 HTTP 요청에 대해 10초의 시간 초과가 추가되어 응답을 수신하거나 추가 보호를 제공하기 위해 연결이 닫힙니다.

2.3.7.8. etcd 암호화

AWS 클래식 아키텍처의 Red Hat OpenShift Service에서 컨트롤 플레인 스토리지는 etcd 볼륨 암호화를 포함하여 기본적으로 암호화됩니다. 이 스토리지 수준 암호화는 클라우드 공급자의 스토리지 계층을 통해 제공됩니다.

etcd의 키 값을 암호화하지만 키는 암호화하지 않는 etcd 암호화를 활성화할 수도 있습니다. etcd 암호화를 활성화하면 다음 Kubernetes API 서버 및 OpenShift API 서버 리소스가 암호화됩니다.

  • 보안
  • 구성 맵
  • 라우트
  • OAuth 액세스 토큰
  • OAuth 승인 토큰

etcd 암호화 기능은 기본적으로 활성화되어 있지 않으며 클러스터 설치 시에만 활성화할 수 있습니다. etcd 암호화가 활성화된 경우에도 컨트롤 플레인 노드 또는 cluster-admin 권한에 액세스할 수 있는 모든 사용자가 etcd 키 값에 액세스할 수 있습니다.

중요

etcd의 키 값에 대해 etcd 암호화를 활성화하면 약 20%의 성능 오버헤드가 발생합니다. 오버헤드는 etcd 볼륨을 암호화하는 기본 컨트롤 플레인 스토리지 암호화 외에도 이 두 번째 암호화 계층을 도입한 결과입니다. 사용 사례에 특별히 필요한 경우에만 etcd 암호화를 활성화하는 것이 좋습니다.

2.4. Red Hat OpenShift Service on AWS 클래식 아키텍처 인스턴스 유형

AWS 클래식 아키텍처의 Red Hat OpenShift Service는 다음과 같은 작업자 노드 인스턴스 유형과 크기를 제공합니다.

2.4.1. AWS x86 기반 인스턴스 유형

예 2.3. 일반 목적

  • m5.xlarge (4 vCPU, 16GiB)
  • m5.2xlarge (8 vCPU, 32GiB)
  • m5.4xlarge (16 vCPU, 64GiB)
  • m5.8xlarge(32 vCPU, 128GiB)
  • m5.12xlarge (48 vCPU, 192GiB)
  • m5.16xlarge (64 vCPU, 256GiB)
  • m5.24xlarge (96 vCPU, 384GiB)
  • m5.metal (96 Cryostat vCPU, 384GiB)
  • m5a.xlarge (4 vCPU, 16GiB)
  • m5a.2xlarge (8 vCPU, 32GiB)
  • m5a.4xlarge (16 vCPU, 64GiB)
  • m5a.8xlarge(32 vCPU, 128GiB)
  • m5a.12xlarge (48 vCPU, 192GiB)
  • m5a.16xlarge (64 vCPU, 256GiB)
  • m5a.24xlarge (96 vCPU, 384GiB)
  • m5dn.metal (96 vCPU, 384GiB)
  • m5zn.metal (48 vCPU, 192GiB)
  • m5d.metal (96 Cryostat vCPU, 384GiB)
  • m5n.metal (96 vCPU, 384GiB)
  • m6a.xlarge (4 vCPU, 16GiB)
  • m6a.2xlarge (8 vCPU, 32GiB)
  • m6a.4xlarge (16 vCPU, 64GiB)
  • m6a.8xlarge(32 vCPU, 128GiB)
  • m6a.12xlarge (48 vCPU, 192GiB)
  • m6a.16xlarge (64 vCPU, 256GiB)
  • m6a.24xlarge (96 vCPU, 384GiB)
  • m6a.32xlarge(128 vCPU, 512GiB)
  • m6a.48xlarge (192 vCPU, 768GiB)
  • m6a.metal (192 vCPU, 768GiB)
  • m6i.xlarge (4 vCPU, 16GiB)
  • m6i.2xlarge (8 vCPU, 32GiB)
  • m6i.4xlarge (16 vCPU, 64GiB)
  • m6i.8xlarge(32 vCPU, 128GiB)
  • m6i.12xlarge (48 vCPU, 192GiB)
  • m6i.16xlarge (64 vCPU, 256GiB)
  • m6i.24xlarge (96 vCPU, 384GiB)
  • m6i.32xlarge(128 vCPU, 512GiB)
  • m6i.metal(128 vCPU, 512GiB)
  • m6id.xlarge (4 vCPU, 16GiB)
  • m6id.2xlarge (8 vCPU, 32GiB)
  • m6id.4xlarge (16 vCPU, 64GiB)
  • m6id.8xlarge(32 vCPU, 128GiB)
  • m6id.12xlarge (48 vCPU, 192GiB)
  • m6id.16xlarge (64 vCPU, 256GiB)
  • m6id.24xlarge (96 vCPU, 384GiB)
  • m6id.32xlarge(128 vCPU, 512GiB)
  • m6id.metal(128 vCPU, 512GiB)
  • m6idn.xlarge (4 vCPU, 16GiB)
  • m6idn.2xlarge (8 vCPU, 32GiB)
  • m6idn.4xlarge (16 vCPU, 64GiB)
  • m6idn.8xlarge(32 vCPU, 128GiB)
  • m6idn.12xlarge (48 vCPU, 192GiB)
  • m6idn.16xlarge (64 vCPU, 256GiB)
  • m6idn.24xlarge (96 vCPU, 384GiB)
  • m6idn.32xlarge(128 vCPU, 512GiB)
  • m6in.xlarge (4 vCPU, 16GiB)
  • m6in.2xlarge (8 vCPU, 32GiB)
  • m6in.4xlarge (16 vCPU, 64GiB)
  • m6in.8xlarge(32 vCPU, 128GiB)
  • m6in.12xlarge (48 vCPU, 192GiB)
  • m6in.16xlarge (64 vCPU, 256GiB)
  • m6in.24xlarge (96 vCPU, 384GiB)
  • m6in.32xlarge(128 vCPU, 512GiB)
  • m7a.xlarge (4 vCPU, 16GiB)
  • m7a.2xlarge (8 vCPU, 32GiB)
  • m7a.4xlarge (16 vCPU, 64GiB)
  • m7a.8xlarge(32 vCPU, 128GiB)
  • m7a.12xlarge (48 vCPU, 192GiB)
  • m7a.16xlarge (64 vCPU, 256GiB)
  • m7a.24xlarge (96 vCPU, 384GiB)
  • m7a.32xlarge(128 vCPU, 512GiB)
  • m7a.48xlarge (192 vCPU, 768GiB)
  • m7a.metal-48xl (192 vCPU, 768GiB)
  • m7i-flex.2xlarge (8 vCPU, 32GiB)
  • m7i-flex.4xlarge (16 vCPU, 64GiB)
  • m7i-flex.8xlarge(32 vCPU, 128GiB)
  • m7i-flex.xlarge (4 vCPU, 16GiB)
  • m7i.xlarge (4 vCPU, 16GiB)
  • m7i.2xlarge (8 vCPU, 32GiB)
  • m7i.4xlarge (16 vCPU, 64GiB)
  • m7i.8xlarge(32 vCPU, 128GiB)
  • m7i.12xlarge (48 vCPU, 192GiB)
  • m7i.16xlarge (64 vCPU, 256GiB)
  • m7i.24xlarge (96 vCPU, 384GiB)
  • m7i.48xlarge (192 vCPU, 768GiB)
  • m7i.metal-24xl (96 vCPU, 384GiB)
  • m7i.metal-48xl (192 vCPU, 768GiB)

이러한 인스턴스 유형은 48개의 물리적 코어에 96 논리 프로세서를 제공합니다. 두 개의 물리적 Intel 소켓이 있는 단일 서버에서 실행됩니다.

예 2.4. Burstable 일반 목적

  • t3.xlarge (4 vCPU, 16GiB)
  • t3.2xlarge (8 vCPU, 32GiB)
  • t3a.xlarge (4 vCPU, 16GiB)
  • t3a.2xlarge (8 vCPU, 32GiB)

예 2.5. 메모리 집약적

  • u7i-6tb.112xlarge (448 vCPU, 6,144GiB)
  • u7i-8tb.112xlarge (448 vCPU, 6,144GiB)
  • u7i-12tb.224xlarge (896 vCPU, 12,288GiB)
  • u7in-16tb.224xlarge (896 vCPU, 16,384GiB)
  • u7in-24tb.224xlarge (896 vCPU, 24,576GiB)
  • u7in-32tb.224xlarge (896 vCPU, 32,768GiB)
  • u7inh-32tb.480xlarge 1920 vCPU, 32,768GiB)
  • x1.16xlarge (64 vCPU, 976GiB)
  • x1.32xlarge(128 vCPU, 1,952GiB)
  • x1e.xlarge (4 vCPU, 122GiB)
  • x1e.2xlarge (8 vCPU, 244GiB)
  • x1e.4xlarge (16 vCPU, 488GiB)
  • x1e.8xlarge(32 vCPU, 976GiB)
  • x1e.16xlarge (64 vCPU, 1,952GiB)
  • x1e.32xlarge(128 vCPU, 3,904GiB)
  • x2idn.16xlarge (64 vCPU, 1,024GiB)
  • x2idn.24xlarge (96 vCPU, 1,536GiB)
  • x2idn.32xlarge(128 vCPU, 2,048GiB)
  • x2iedn.xlarge (4 vCPU, 128GiB)
  • x2iedn.2xlarge (8 vCPU, 256GiB)
  • x2iedn.4xlarge (16 vCPU, 512GiB)
  • x2iedn.8xlarge(32 vCPU, 1,024GiB)
  • x2iedn.16xlarge (64 vCPU, 2,048GiB)
  • x2iedn.24xlarge (96 vCPU, 3,072GiB)
  • x2iedn.32xlarge(128 vCPU, 4,096GiB)
  • x2iezn.2xlarge (8 vCPU, 256GiB)
  • x2iezn.4xlarge (16vCPU, 512GiB)
  • x2iezn.6xlarge (24vCPU, 768GiB)
  • x2iezn.8xlarge(32vCPU, 1,024GiB)
  • x2iezn.12xlarge (48vCPU, 1,536GiB)
  • x2iezn.metal (48 vCPU, 1,536GiB)
  • x2idn.metal(128vCPU, 2,048GiB)
  • x2iedn.metal (128vCPU, 4,096GiB)

예 2.6. 최적화된 메모리

  • r4.xlarge (4 vCPU, 30.5GiB)
  • r4.2xlarge (8 vCPU, 61GiB)
  • r4.4xlarge (16 vCPU, 122GiB)
  • r4.8xlarge(32 vCPU, 244GiB)
  • r4.16xlarge (64 vCPU, 488GiB)
  • r5.xlarge (4 vCPU, 32GiB)
  • r5.2xlarge (8 vCPU, 64GiB)
  • r5.4xlarge (16 vCPU, 128GiB)
  • r5.8xlarge(32 vCPU, 256GiB)
  • r5.12xlarge (48 vCPU, 384GiB)
  • r5.16xlarge (64 vCPU, 512GiB)
  • r5.24xlarge (96 vCPU, 768GiB)
  • r5.metal (96 Cryostat vCPU, 768GiB)
  • r5a.xlarge (4 vCPU, 32GiB)
  • r5a.2xlarge (8 vCPU, 64GiB)
  • r5a.4xlarge (16 vCPU, 128GiB)
  • r5a.8xlarge(32 vCPU, 256GiB)
  • r5a.12xlarge (48 vCPU, 384GiB)
  • r5a.16xlarge (64 vCPU, 512GiB)
  • r5a.24xlarge (96 vCPU, 768GiB)
  • r5ad.xlarge (4 vCPU, 32GiB)
  • r5ad.2xlarge (8 vCPU, 64GiB)
  • r5ad.4xlarge (16 vCPU, 128GiB)
  • r5ad.8xlarge(32 vCPU, 256GiB)
  • r5ad.12xlarge (48 vCPU, 384GiB)
  • r5ad.16xlarge (64 vCPU, 512GiB)
  • r5ad.24xlarge (96 vCPU, 768GiB)
  • r5b.xlarge (4 vCPU, 32GiB)
  • r5b.2xlarge (8 vCPU, 364GiB)
  • r5b.4xlarge (16 vCPU, 3,128GiB)
  • r5b.8xlarge(32 vCPU, 3,256GiB)
  • r5b.12xlarge (48 vCPU, 3,384GiB)
  • r5b.16xlarge (64 vCPU, 3,512GiB)
  • r5b.24xlarge (96 vCPU, 3,768GiB)
  • r5b.metal (96 768GiB)
  • r5d.xlarge (4 vCPU, 32GiB)
  • r5d.2xlarge (8 vCPU, 64GiB)
  • r5d.4xlarge (16 vCPU, 128GiB)
  • r5d.8xlarge(32 vCPU, 256GiB)
  • r5d.12xlarge (48 vCPU, 384GiB)
  • r5d.16xlarge (64 vCPU, 512GiB)
  • r5d.24xlarge (96 vCPU, 768GiB)
  • r5d.metal (96 Cryostat vCPU, 768GiB)
  • r5n.xlarge (4 vCPU, 32GiB)
  • r5n.2xlarge (8 vCPU, 64GiB)
  • r5n.4xlarge (16 vCPU, 128GiB)
  • r5n.8xlarge(32 vCPU, 256GiB)
  • r5n.12xlarge (48 vCPU, 384GiB)
  • r5n.16xlarge (64 vCPU, 512GiB)
  • r5n.24xlarge (96 vCPU, 768GiB)
  • r5n.metal (96 vCPU, 768GiB)
  • r5dn.xlarge (4 vCPU, 32GiB)
  • r5dn.2xlarge (8 vCPU, 64GiB)
  • r5dn.4xlarge (16 vCPU, 128GiB)
  • r5dn.8xlarge(32 vCPU, 256GiB)
  • r5dn.12xlarge (48 vCPU, 384GiB)
  • r5dn.16xlarge (64 vCPU, 512GiB)
  • r5dn.24xlarge (96 vCPU, 768GiB)
  • r5dn.metal (96 vCPU, 768GiB)
  • r6a.xlarge (4 vCPU, 32GiB)
  • r6a.2xlarge (8 vCPU, 64GiB)
  • r6a.4xlarge (16 vCPU, 128GiB)
  • r6a.8xlarge(32 vCPU, 256GiB)
  • r6a.12xlarge (48 vCPU, 384GiB)
  • r6a.16xlarge (64 vCPU, 512GiB)
  • r6a.24xlarge (96 vCPU, 768GiB)
  • r6a.32xlarge(128 vCPU, 1,024GiB)
  • r6a.48xlarge(192 vCPU, 1,536GiB)
  • r6a.metal (192 vCPU, 1,536GiB)
  • r6i.xlarge (4 vCPU, 32GiB)
  • r6i.2xlarge (8 vCPU, 64GiB)
  • r6i.4xlarge (16 vCPU, 128GiB)
  • r6i.8xlarge(32 vCPU, 256GiB)
  • r6i.12xlarge (48 vCPU, 384GiB)
  • r6i.16xlarge (64 vCPU, 512GiB)
  • r6i.24xlarge (96 vCPU, 768GiB)
  • r6i.32xlarge(128 vCPU, 1,024GiB)
  • r6i.metal(128 vCPU, 1,024GiB)
  • r6id.xlarge (4 vCPU, 32GiB)
  • r6id.2xlarge (8 vCPU, 64GiB)
  • r6id.4xlarge (16 vCPU, 128GiB)
  • r6id.8xlarge(32 vCPU, 256GiB)
  • r6id.12xlarge (48 vCPU, 384GiB)
  • r6id.16xlarge (64 vCPU, 512GiB)
  • r6id.24xlarge (96 vCPU, 768GiB)
  • r6id.32xlarge(128 vCPU, 1,024GiB)
  • r6id.metal(128 vCPU, 1,024GiB)
  • r6idn.12xlarge (48 vCPU, 384GiB)
  • r6idn.16xlarge (64 vCPU, 512GiB)
  • r6idn.24xlarge (96 vCPU, 768GiB)
  • r6idn.2xlarge (8 vCPU, 64GiB)
  • r6idn.32xlarge(128 vCPU, 1,024GiB)
  • r6idn.4xlarge (16 vCPU, 128GiB)
  • r6idn.8xlarge(32 vCPU, 256GiB)
  • r6idn.xlarge (4 vCPU, 32GiB)
  • r6in.12xlarge (48 vCPU, 384GiB)
  • r6in.16xlarge (64 vCPU, 512GiB)
  • r6in.24xlarge (96 vCPU, 768GiB)
  • r6in.2xlarge (8 vCPU, 64GiB)
  • r6in.32xlarge(128 vCPU, 1,024GiB)
  • r6in.4xlarge (16 vCPU, 128GiB)
  • r6in.8xlarge(32 vCPU, 256GiB)
  • r6in.xlarge (4 vCPU, 32GiB)
  • r7a.xlarge (4 vCPU, 32GiB)
  • r7a.2xlarge (8 vCPU, 64GiB)
  • r7a.4xlarge (16 vCPU, 128GiB)
  • r7a.8xlarge(32 vCPU, 256GiB)
  • r7a.12xlarge (48 vCPU, 384GiB)
  • r7a.16xlarge (64 vCPU, 512GiB)
  • r7a.24xlarge (96 vCPU, 768GiB)
  • r7a.32xlarge(128 vCPU, 1024GiB)
  • r7a.48xlarge(192 vCPU, 1536GiB)
  • r7a.metal-48xl (192 vCPU, 1536GiB)
  • r7i.xlarge (4 vCPU, 32GiB)
  • r7i.2xlarge (8 vCPU, 64GiB)
  • r7i.4xlarge (16 vCPU, 128GiB)
  • r7i.8xlarge(32 vCPU, 256GiB)
  • r7i.12xlarge (48 vCPU, 384GiB)
  • r7i.16xlarge (64 vCPU, 512GiB)
  • r7i.24xlarge (96 vCPU, 768GiB)
  • r7i.metal-24xl (96 vCPU, 768GiB)
  • r7iz.xlarge (4 vCPU, 32GiB)
  • r7iz.2xlarge (8 vCPU, 64GiB)
  • r7iz.4xlarge (16 vCPU, 128GiB)
  • r7iz.8xlarge(32 vCPU, 256GiB)
  • r7iz.12xlarge (48 vCPU, 384GiB)
  • r7iz.16xlarge (64 vCPU, 512GiB)
  • r7iz.32xlarge(128 vCPU, 1024GiB)
  • r7iz.metal-16xl (64 vCPU, 512GiB)
  • r7iz.metal-32xl (128 vCPU, 1,024GiB)
  • z1d.xlarge (4 vCPU, 32GiB)
  • z1d.2xlarge (8 vCPU, 64GiB)
  • z1d.3xlarge (12 vCPU, 96GiB)
  • z1d.6xlarge (24 vCPU, 192GiB)
  • z1d.12xlarge (48 vCPU, 384GiB)
  • z1d.metal (48#159 vCPU, 384GiB)

이러한 인스턴스 유형은 48개의 물리적 코어에 96 논리 프로세서를 제공합니다. 두 개의 물리적 Intel 소켓이 있는 단일 서버에서 실행됩니다.

이 인스턴스 유형은 24개의 물리적 코어에 48개의 논리 프로세서를 제공합니다.

예 2.7. 가속화 컴퓨팅

  • p3.2xlarge (8 vCPU, 61GiB)
  • p3.8xlarge(32 vCPU, 244GiB)
  • p3.16xlarge (64 vCPU, 488GiB)
  • p3dn.24xlarge (96 vCPU, 768GiB)
  • p4d.24xlarge (96 vCPU, 1,152GiB)
  • p4de.24xlarge (96 vCPU, 1,152GiB)
  • p5.48xlarge(192 vCPU, 2,048GiB)
  • p5e.48xlarge(192 vCPU, 2,048GiB)
  • p5en.48xlarge(192 vCPU, 2,048GiB)
  • g4ad.xlarge (4 vCPU, 16GiB)
  • g4ad.2xlarge (8 vCPU, 32GiB)
  • g4ad.4xlarge (16 vCPU, 64GiB)
  • g4ad.8xlarge(32 vCPU, 128GiB)
  • g4ad.16xlarge (64 vCPU, 256GiB)
  • g4dn.xlarge (4 vCPU, 16GiB)
  • g4dn.2xlarge (8 vCPU, 32GiB)
  • g4dn.4xlarge (16 vCPU, 64GiB)
  • g4dn.8xlarge(32 vCPU, 128GiB)
  • g4dn.12xlarge (48 vCPU, 192GiB)
  • g4dn.16xlarge (64 vCPU, 256GiB)
  • g4dn.metal (96 vCPU, 384GiB)
  • g5.xlarge (4 vCPU, 16GiB)
  • g5.2xlarge (8 vCPU, 32GiB)
  • g5.4xlarge (16 vCPU, 64GiB)
  • g5.8xlarge(32 vCPU, 128GiB)
  • g5.16xlarge (64 vCPU, 256GiB)
  • g5.12xlarge (48 vCPU, 192GiB)
  • g5.24xlarge (96 vCPU, 384GiB)
  • g5.48xlarge (192 vCPU, 768GiB)
  • dl1.24xlarge (96 vCPU, 768GiB)
  • g6.xlarge (4 vCPU, 16GiB)
  • g6.2xlarge (8 vCPU, 32GiB)
  • g6.4xlarge (16 vCPU, 64GiB)
  • g6.8xlarge(32 vCPU, 128GiB)
  • g6.12xlarge (48 vCPU, 192GiB)
  • g6.16xlarge (64 vCPU, 256GiB)
  • g6.24xlarge (96 vCPU, 384GiB)
  • g6.48xlarge(192 vCPU, 768GiB)
  • g6e.xlarge (4 vCPU, 32GiB)
  • g6e.2xlarge (8 vCPU, 64GiB)
  • g6e.4xlarge (16 vCPU, 128GiB)
  • g6e.8xlarge(32 vCPU, 256GiB)
  • g6e.12xlarge (48 vCPU, 384GiB)
  • g6e.16xlarge (64 vCPU, 512GiB)
  • g6e.24xlarge (96 vCPU, 768GiB)
  • g6e.48xlarge(192 vCPU, 1,536GiB)
  • gr6.4xlarge (16 vCPU, 128GiB)
  • gr6.8xlarge(32 vCPU, 256GiB)
  • p6-b200.48xlarge (192 vCPU, 2,048GiB)

Intel 특정; Nvidia의 적용 대상이 아닙니다.

GPU 인스턴스 유형 소프트웨어 스택에 대한 지원은 AWS에서 제공합니다. AWS 서비스 할당량이 원하는 GPU 인스턴스 유형을 수용할 수 있는지 확인합니다.

예 2.8. 가속화 컴퓨팅 - AWS fillium 및 Inferentia

주의

AWS Cryostat 및 Inferentia 인스턴스 유형에 대한 자세한 내용은 ROSA의 Inferentia & Cryostatium 인스턴스를 참조하십시오.

  • trn1.2xlarge (8 vCPU, 32GiB)
  • trn1.32xlarge (128 vCPU, 512GiB)
  • trn1n.32xlarge (128 vCPU, 512GiB)
  • trn2.48xlarge (192 vCPU, 2048GiB)
  • trn2u.48xlarge (192 vCPU, 2048GiB)
  • inf1.xlarge (4 vCPU, 8GiB)
  • inf1.2xlarge (8 vCPU, 16GiB)
  • inf1.6xlarge (24 vCPU, 48GiB)
  • inf1.24xlarge (96 vCPU, 192GiB)
  • inf2.xlarge (4 vCPU, 16GiB)
  • inf2.8xlarge(32 vCPU, 128GiB)
  • inf2.24xlarge (96 vCPU, 384GiB)
  • inf2.48xlarge (192 vCPU, 768GiB)

예 2.9. 최적화된 컴퓨팅

  • c5.xlarge (4 vCPU, 8GiB)
  • c5.2xlarge (8 vCPU, 16GiB)
  • c5.4xlarge (16 vCPU, 32GiB)
  • c5.9xlarge (36 vCPU, 72GiB)
  • c5.12xlarge (48 vCPU, 96GiB)
  • c5.18xlarge (72 vCPU, 144GiB)
  • c5.24xlarge (96 vCPU, 192GiB)
  • c5.metal (96 vCPU, 192GiB)
  • c5d.xlarge (4 vCPU, 8GiB)
  • c5d.2xlarge (8 vCPU, 16GiB)
  • c5d.4xlarge (16 vCPU, 32GiB)
  • c5d.9xlarge (36 vCPU, 72GiB)
  • c5d.12xlarge (48 vCPU, 96GiB)
  • c5d.18xlarge (72 vCPU, 144GiB)
  • c5d.24xlarge (96 vCPU, 192GiB)
  • c5d.metal (96 vCPU, 192GiB)
  • c5a.xlarge (4 vCPU, 8GiB)
  • c5a.2xlarge (8 vCPU, 16GiB)
  • c5a.4xlarge (16 vCPU, 32GiB)
  • c5a.8xlarge(32 vCPU, 64GiB)
  • c5a.12xlarge (48 vCPU, 96GiB)
  • c5a.16xlarge (64 vCPU, 128GiB)
  • c5a.24xlarge (96 vCPU, 192GiB)
  • c5ad.xlarge (4 vCPU, 8GiB)
  • c5ad.2xlarge (8 vCPU, 16GiB)
  • c5ad.4xlarge (16 vCPU, 32GiB)
  • c5ad.8xlarge(32 vCPU, 64GiB)
  • c5ad.12xlarge (48 vCPU, 96GiB)
  • c5ad.16xlarge (64 vCPU, 128GiB)
  • c5ad.24xlarge (96 vCPU, 192GiB)
  • c5n.xlarge (4 vCPU, 10.5GiB)
  • c5n.2xlarge (8 vCPU, 21GiB)
  • c5n.4xlarge (16 vCPU, 42GiB)
  • c5n.9xlarge (36 vCPU, 96GiB)
  • c5n.18xlarge (72 vCPU, 192GiB)
  • c5n.metal (72 vCPU, 192GiB)
  • c6a.xlarge (4 vCPU, 8GiB)
  • c6a.2xlarge (8 vCPU, 16GiB)
  • c6a.4xlarge (16 vCPU, 32GiB)
  • c6a.8xlarge(32 vCPU, 64GiB)
  • c6a.12xlarge (48 vCPU, 96GiB)
  • c6a.16xlarge (64 vCPU, 128GiB)
  • c6a.24xlarge (96 vCPU, 192GiB)
  • c6a.32xlarge (128 vCPU, 256GiB)
  • c6a.48xlarge (192 vCPU, 384GiB)
  • c6a.metal (192 vCPU, 384GiB)
  • c6i.xlarge (4 vCPU, 8GiB)
  • c6i.2xlarge (8 vCPU, 16GiB)
  • c6i.4xlarge (16 vCPU, 32GiB)
  • c6i.8xlarge(32 vCPU, 64GiB)
  • c6i.12xlarge (48 vCPU, 96GiB)
  • c6i.16xlarge (64 vCPU, 128GiB)
  • c6i.24xlarge (96 vCPU, 192GiB)
  • c6i.32xlarge (128 vCPU, 256GiB)
  • c6i.metal (128 vCPU, 256GiB)
  • c6id.xlarge (4 vCPU, 8GiB)
  • c6id.2xlarge (8 vCPU, 16GiB)
  • c6id.4xlarge (16 vCPU, 32GiB)
  • c6id.8xlarge(32 vCPU, 64GiB)
  • c6id.12xlarge (48 vCPU, 96GiB)
  • c6id.16xlarge (64 vCPU, 128GiB)
  • c6id.24xlarge (96 vCPU, 192GiB)
  • c6id.32xlarge(128 vCPU, 256GiB)
  • c6id.metal (128 vCPU, 256GiB)
  • c6in.12xlarge (48 vCPU, 96GiB)
  • c6in.16xlarge (64 vCPU, 128GiB)
  • c6in.24xlarge (96 vCPU, 192GiB)
  • c6in.2xlarge (8 vCPU, 16GiB)
  • c6in.32xlarge (128 vCPU, 256GiB)
  • c6in.4xlarge (16 vCPU, 32GiB)
  • c6in.8xlarge(32 vCPU, 64GiB)
  • c6in.xlarge (4 vCPU, 8GiB)
  • c7a.xlarge (4 vCPU, 8GiB)
  • c7a.2xlarge (8 vCPU, 16GiB)
  • c7a.4xlarge (16 vCPU, 32GiB)
  • c7a.8xlarge(32 vCPU, 64GiB)
  • c7a.12xlarge (48 vCPU, 96GiB)
  • c7a.16xlarge (64 vCPU, 128GiB)
  • c7a.24xlarge (96 vCPU, 192GiB)
  • c7a.32xlarge(128 vCPU, 256GiB)
  • c7a.48xlarge(192 vCPU, 384GiB)
  • c7a.metal-48xl (192 vCPU, 384GiB)
  • c7i.xlarge (4 vCPU, 8GiB)
  • c7i.2xlarge (8 vCPU, 16GiB)
  • c7i.4xlarge (16 vCPU, 32GiB)
  • c7i.8xlarge(32 vCPU, 64GiB)
  • c7i.12xlarge (48 vCPU, 96GiB)
  • c7i.16xlarge (64 vCPU, 128GiB)
  • c7i.24xlarge (96 vCPU, 192GiB)
  • c7i.48xlarge(192 vCPU, 384GiB)
  • c7i-flex.xlarge (4 vCPU, 8GiB)
  • c7i-flex.2xlarge (8 vCPU, 16GiB)
  • c7i-flex.4xlarge (16 vCPU, 32GiB)
  • c7i-flex.8xlarge(32 vCPU, 64GiB)
  • c7i.metal-24xl (96 vCPU, 192GiB)
  • c7i.metal-48xl (192 vCPU, 384GiB)
  • hpc6a.48xlarge (96 vCPU, 384GiB)
  • hpc6id.32xlarge (64 vCPU, 1024GiB)
  • hpc7a.12xlarge (24 vCPU, 768GiB)
  • hpc7a.24xlarge (48 vCPU, 768GiB)
  • hpc7a.48xlarge (96 vCPU, 768GiB)
  • hpc7a.96xlarge (192 vCPU, 768GiB)
  • m5zn.12xlarge (48 vCPU, 192GiB)
  • m5zn.2xlarge (8 vCPU, 32GiB)
  • m5zn.3xlarge (16 vCPU, 48GiB)
  • m5zn.6xlarge(32 vCPU, 96GiB)
  • m5zn.xlarge (4 vCPU, 16GiB)

예 2.10. 최적화된 스토리지

  • c5ad.12xlarge (48 vCPU, 96GiB)
  • c5ad.16xlarge (64 vCPU, 128GiB)
  • c5ad.24xlarge (96 vCPU, 192GiB)
  • c5ad.2xlarge (8 vCPU, 16GiB)
  • c5ad.4xlarge (16 vCPU, 32GiB)
  • c5ad.8xlarge(32 vCPU, 64GiB)
  • c5ad.xlarge (4 vCPU, 8GiB)
  • i3.xlarge (4 vCPU, 30.5GiB)
  • i3.2xlarge (8 vCPU, 61GiB)
  • i3.4xlarge (16 vCPU, 122GiB)
  • i3.8xlarge(32 vCPU, 244GiB)
  • i3.16xlarge (64 vCPU, 488GiB)
  • i3.metal (72 Cryostat vCPU, 512GiB)
  • i3en.xlarge (4 vCPU, 32GiB)
  • i3en.2xlarge (8 vCPU, 64GiB)
  • i3en.3xlarge (12 vCPU, 96GiB)
  • i3en.6xlarge (24 vCPU, 192GiB)
  • i3en.12xlarge (48 vCPU, 384GiB)
  • i3en.24xlarge (96 vCPU, 768GiB)
  • i3en.metal (96 vCPU, 768GiB)
  • i4i.xlarge (4 vCPU, 32GiB)
  • i4i.2xlarge (8 vCPU, 64GiB)
  • i4i.4xlarge (16 vCPU, 128GiB)
  • i4i.8xlarge(32 vCPU, 256GiB)
  • i4i.12xlarge (48 vCPU, 384GiB)
  • i4i.16xlarge (64 vCPU, 512GiB)
  • i4i.24xlarge (96 vCPU, 768GiB)
  • i4i.32xlarge(128 vCPU, 1,024GiB)
  • i4i.metal(128 vCPU, 1,024GiB)
  • i7i.xlarge (4 vCPU, 32GiB)
  • i7i.2xlarge (8 vCPU, 64GiB)
  • i7i.4xlarge (16 vCPU, 128GiB)
  • i7i.8xlarge(32 vCPU, 256GiB)
  • i7i.12xlarge (48 vCPU, 384GiB)
  • i7i.16xlarge (64 vCPU, 512GiB)
  • i7i.24xlarge (96 vCPU, 768GiB)
  • i7i.48xlarge(192 vCPU, 1,536GiB)
  • i7i.metal-24xl (96 vCPU, 768GiB)
  • i7i.metal-48xl (192 vCPU, 1,536GiB)
  • i7ie.xlarge (4 vCPU, 32GiB)
  • i7ie.2xlarge (8 vCPU, 64GiB)
  • i7ie.3xlarge (12 vCPU, 96GiB)
  • i7ie.6xlarge (24 vCPU, 192GiB)
  • i7ie.12xlarge (48 vCPU, 384GiB)
  • i7ie.18xlarge (72 vCPU, 576GiB)
  • i7ie.24xlarge (96 vCPU, 768GiB)
  • i7ie.48xlarge(192 vCPU, 1,536GiB)
  • i7ie.metal-24xl (96 vCPU, 768GiB)
  • i7ie.metal-48xl (192 vCPU, 1,536GiB)
  • m5ad.xlarge (4 vCPU, 16GiB)
  • m5ad.2xlarge (8 vCPU, 32GiB)
  • m5ad.4xlarge (16 vCPU, 64GiB)
  • m5ad.8xlarge(32 vCPU, 128GiB)
  • m5ad.12xlarge (48 vCPU, 192GiB)
  • m5ad.16xlarge (64 vCPU, 256GiB)
  • m5ad.24xlarge (96 vCPU, 384GiB)
  • m5d.xlarge (4 vCPU, 16GiB)
  • m5d.2xlarge (8 vCPU, 32GiB)
  • m5d.4xlarge (16 vCPU, 64GiB)
  • m5d.8xlarge(32 vCPU, 28GiB)
  • m5d.12xlarge (48 vCPU, 192GiB)
  • m5d.16xlarge (64 vCPU, 256GiB)
  • m5d.24xlarge (96 vCPU, 384GiB)

이 인스턴스 유형은 36개의 물리적 코어에서 72개의 논리 프로세서를 제공합니다.

참고

가상 인스턴스 유형은 ".metal" 인스턴스 유형보다 빠르게 초기화됩니다.

예 2.11. 높은 메모리

  • U-3tb1.56xlarge (224 vCPU, 3,072GiB)
  • U-6tb1.56xlarge (224 vCPU, 6,144GiB)
  • U-6tb1.112xlarge (448 vCPU, 6,144GiB)
  • U-6tb1.metal (448 vCPU, 6,144GiB)
  • U-9tb1.112xlarge (448 vCPU, 9,216GiB)
  • U-9tb1.metal (448 vCPU, 9,216GiB)
  • U-12tb1.112xlarge (448 vCPU, 12,288GiB)
  • U-12tb1.metal (448 vCPU, 12,288GiB)
  • U-18tb1.metal (448 vCPU, 18,432GiB)
  • U-24tb1.metal (448 vCPU, 24,576GiB)
  • U-24tb1.112xlarge (448 vCPU, 24,576GiB)

예 2.12. Network Cryostatd

  • c5n.xlarge (4 vCPU, 10.5GiB)
  • c5n.2xlarge (8 vCPU, 21GiB)
  • c5n.4xlarge (16 vCPU, 42GiB)
  • c5n.9xlarge (36 vCPU, 96GiB)
  • c5n.18xlarge (72 vCPU, 192GiB)
  • m5dn.xlarge (4 vCPU, 16GiB)
  • m5dn.2xlarge (8 vCPU, 32GiB)
  • m5dn.4xlarge (16 vCPU, 64GiB)
  • m5dn.8xlarge(32 vCPU, 128GiB)
  • m5dn.12xlarge (48 vCPU, 192GiB)
  • m5dn.16xlarge (64 vCPU, 256GiB)
  • m5dn.24xlarge (96 vCPU, 384GiB)
  • m5n.12xlarge (48 vCPU, 192GiB)
  • m5n.16xlarge (64 vCPU, 256GiB)
  • m5n.24xlarge (96 vCPU, 384GiB)
  • m5n.xlarge (4 vCPU, 16GiB)
  • m5n.2xlarge (8 vCPU, 32GiB)
  • m5n.4xlarge (16 vCPU, 64GiB)
  • m5n.8xlarge(32 vCPU, 128GiB)

2.5.1. 개요

Red Hat은 고객 및 파트너사가 플랫폼에서 실행되는 애플리케이션을 효과적으로 계획, 배포 및 지원할 수 있도록 AWS 클래식 아키텍처의 Red Hat OpenShift Service의 라이프 사이클을 제공합니다. Red Hat은 투명성을 구현하기 위해 라이프 사이클을 공개하고 문제가 발생할 경우 이러한 정책에 예외가 있을 수 있습니다.

AWS 클래식 아키텍처의 Red Hat OpenShift Service는 Red Hat OpenShift의 관리형 배포이며 독립적인 릴리스 일정을 유지합니다. 관리형 오퍼링에 대한 자세한 내용은 AWS 클래식 아키텍처 서비스 정의의 Red Hat OpenShift Service에서 확인할 수 있습니다. 특정 버전에 대한 보안 권고 및 버그 수정 권고의 가용성은 Red Hat OpenShift Container Platform 라이프 사이클 정책에 따라 다르며 AWS 클래식 아키텍처 유지 관리 일정에 따라 Red Hat OpenShift Service가 적용됩니다.

2.5.2. 정의

Expand
표 2.2. 버전 참조
버전 형식major마이너패치Major.minor.patch
 

x

y

z

x.y.z

4

5

21

4.5.21

주요 릴리스 또는 X-release

주요 릴리스 또는 X-release(X.y.z)로만 참조됩니다.

  • "major release 5" → 5.y.z
  • "major release 4" → 4.y.z
  • "major release 3" → 3.y.z
마이너 릴리스 또는 Y-release

마이너 릴리스 또는 Y-release(x.Y.z)라고도 합니다.

  • "마이너 릴리스 4" → 4.4.z
  • "마이너 릴리스 5" → 4.5.z
  • "마이너 릴리스 6" → 4.6.z
패치 릴리스 또는 Z-release

패치 릴리스 또는 Z-release (x.y.Z)라고도 합니다.

  • "patch release 14 of minor release 5" → 4.5.14
  • "patch release 25 of minor release 5" → 4.5.25
  • "patch release 26 of minor release 6" → 4.6.26

2.5.3. 주요 버전 (X.y.z)

AWS 클래식 아키텍처의 Red Hat OpenShift Service의 주요 버전(예: 버전 4)은 후속 주요 버전 릴리스 또는 제품 종료 후 1년 동안 지원됩니다.

  • 1월 1일 AWS 클래식 아키텍처의 Red Hat OpenShift Service에서 버전 4를 사용할 수 있는 경우 12개월 동안 관리 클러스터에서 12개월까지 계속 실행할 수 있습니다. 이 시간 이후에는 클러스터를 업그레이드하거나 버전 5로 마이그레이션해야 합니다.

2.5.4. 마이너 버전 (x.Y.z)

Red Hat은 4.8 OpenShift Container Platform 마이너 버전부터는 지정된 마이너 버전의 정식 출시 후 최소 16개월 동안 모든 마이너 버전을 지원합니다. 패치 버전은 지원 기간의 영향을 받지 않습니다.

고객은 지원 기간이 종료 60일, 30일, 15일 전에 알림을 받습니다. 클러스터는 지원 기간이 종료되기 전에 지원되는 가장 오래된 마이너 버전의 최신 패치 버전으로 업그레이드해야 합니다. 그렇지 않으면 클러스터가 "제한된 지원" 상태가 됩니다.

  1. 고객의 클러스터는 현재 4.13.8에서 실행되고 있습니다. 4.13 마이너 버전은 2023년 5월 17일에 일반적으로 사용 가능하게 되었습니다.
  2. 7월 19일, 8월 16일, 2024년 9월 2일, 고객은 클러스터가 지원되는 마이너 버전으로 업그레이드되지 않은 경우 2024년 9월 17일 "제한된 지원" 상태를 입력한다는 통지를 받습니다.
  3. 클러스터는 2024년 9월 17일까지 4.14 이상으로 업그레이드해야 합니다.
  4. 업그레이드가 수행되지 않은 경우 클러스터는 "제한된 지원" 상태로 플래그가 지정됩니다.

2.5.5. 패치 버전 (x.y.Z)

마이너 버전이 지원되는 기간 동안 별도로 지정하지 않는 한 Red Hat은 모든 OpenShift Container Platform 패치 버전을 지원합니다.

플랫폼 보안 및 안정성의 이유로 패치 릴리스는 더 이상 사용되지 않을 수 있으므로 해당 릴리스의 설치를 방지하고 해당 릴리스에서 필수 업그레이드를 트리거할 수 있습니다.

  1. 4.7.6에는 중요한 CVE가 포함되어 있습니다.
  2. CVE의 영향을 받는 모든 릴리스는 지원되는 패치 릴리스 목록에서 제거됩니다. 또한 4.7.6을 실행하는 모든 클러스터는 48시간 이내에 자동 업그레이드를 위해 예약됩니다.

2.5.6. 제한된 지원 상태

클러스터가 제한된 지원 상태로 전환되면 Red Hat은 더 이상 클러스터를 사전 모니터링하지 않으며 SLA는 더 이상 적용되지 않으며 SLA에 대해 요청된 크레딧이 거부됩니다. 더 이상 제품 지원이 없다는 의미는 아닙니다. 위반 요소를 수정하는 경우 클러스터가 완전히 지원되는 상태로 돌아갈 수 있습니다. 그러나 다른 경우에는 클러스터를 삭제하고 다시 생성해야 할 수 있습니다.

클러스터는 다음 시나리오를 포함하여 여러 가지 이유로 제한된 지원 상태로 전환할 수 있습니다.

만료일 이전에 클러스터를 지원되는 버전으로 업그레이드하지 않는 경우

Red Hat은 라이프 사이클 종료일 이후 버전에 대해 런타임 또는 SLA를 보장하지 않습니다. 지속적인 지원을 받으려면 만료일 이전에 클러스터를 지원되는 버전으로 업그레이드합니다. 지원 기간이 만료되기 전에 클러스터를 업그레이드하지 않으면 클러스터가 지원되는 버전으로 업그레이드할 때까지 제한된 지원 상태로 전환됩니다.

Red Hat은 지원되지 않는 버전에서 지원되는 버전으로 업그레이드하기 위해 상업적으로 합리적인 지원을 제공합니다. 그러나 지원되는 업그레이드 경로를 더 이상 사용할 수 없는 경우 새 클러스터를 생성하고 워크로드를 마이그레이션해야 할 수 있습니다.

AWS 클래식 아키텍처 구성 요소 또는 Red Hat에서 설치 및 관리하는 기타 구성 요소에서 기본 Red Hat OpenShift Service를 제거하거나 교체하는 경우
클러스터 관리자 권한이 사용된 경우 Red Hat은 인프라 서비스, 서비스 가용성 또는 데이터 손실에 영향을 미치는 사용자를 포함하여 인증된 사용자의 작업에 대해 책임을 지지 않습니다. Red Hat이 이러한 작업을 감지하면 클러스터가 제한된 지원 상태로 전환될 수 있습니다. Red Hat은 상태 변경 사항을 사용자에게 알려주며 클러스터를 삭제하고 다시 생성해야 하는 수정 단계를 살펴보기 위해 작업을 되돌리거나 지원 케이스를 생성해야 합니다.

클러스터가 제한된 지원 상태로 전환되거나 추가 지원이 필요할 수 있는 특정 작업에 대해 질문이 있는 경우 지원 티켓을 작성하십시오.

2.5.7. 지원되는 버전 예외 정책

Red Hat은 새로운 버전 또는 기존 버전을 추가하거나 제거할 수 있는 권한을 보유하거나 향후 마이너 릴리스 버전을 지연할 수 있으며, 이는 사전 통지 없이 버그 또는 보안 문제에 영향을 미치는 하나 이상의 중요한 프로덕션에서 확인되었습니다.

2.5.8. 설치 정책

Red Hat은 최신 지원 릴리스를 설치하는 것이 좋지만 AWS 클래식 아키텍처의 Red Hat OpenShift Service는 이전 정책에서 적용되는 모든 지원 릴리스의 설치를 지원합니다.

2.5.9. 필수 업그레이드

심각하거나 중요한 CVE 또는 Red Hat에서 식별한 다른 버그가 클러스터의 보안 또는 안정성에 크게 영향을 미치는 경우 고객은 영업일 기준 2일 이내에 다음 지원 패치 릴리스로 업그레이드해야 합니다.

극단적인 상황에서 Red Hat은 환경에 대한 CVE의 심각성에 대한 평가에 따라 2 이내에 클러스터를 예약하거나 수동으로 업데이트하도록 고객에게 알립니다. 2 후 업데이트가 실행되지 않는 경우 Red Hat은 잠재적인 보안 위반 또는 불안정성을 완화하기 위해 클러스터를 최신 보안 패치 릴리스로 자동 업데이트합니다. Red Hat은 자체 재량에 따라 지원 케이스 를 통해 고객이 요청한 경우 자동 업데이트를 일시적으로 지연할 수 있습니다.

2.5.10. 라이프 사이클 날짜

Expand
버전정식 출시일 (GA)종료일

4.19

2025년 6월 16일

2026년 10월 21일

4.18

2025년 2월 26일

2026년 6월 21일

4.17

2024년 10월 14일

2026년 2월 14일

4.16[1]

2024년 7월 2일

2025년 12월 27일

4.15

2024년 2월 27일

2025년 8월 27일

  1. EUS (Extended Update Support) Term 1은 Red Hat OpenShift Service on AWS 클래식 아키텍처 고객에게 버전 4.16부터 시작하여 짝수 버전으로 출시됩니다. 이 연장 지원은 서브스크립션에 포함되어 있으며 4.16 버전의 표준 지원 기간이 종료되기 전에 제공됩니다. EUS 용어 1에 대한 자세한 내용은 확장 업데이트 지원 애드온 - 용어 1 을 참조하십시오.

2.6. AWS 클래식 아키텍처에서 Red Hat OpenShift Service에 대한 보안 이해

이 문서에서는 Red Hat, Amazon Web Services(AWS) 및 관리형 Red Hat OpenShift Service on AWS 클래식 아키텍처(ROSA)에 대한 고객 보안에 대해 자세히 설명합니다.

Acronyms 및 용어

  • AWS - Amazon Web Services
  • CEE - 고객 경험 및 참여(Red Hat 지원)
  • CI/CD - 지속적 통합/지속적 제공
  • CVE - 일반적인 취약점 및 노출
  • PVs - 영구 볼륨
  • ROSA - AWS 클래식 아키텍처의 Red Hat OpenShift Service
  • SRE - Red Hat 사이트 안정성 엔지니어링
  • VPC - 가상 프라이빗 클라우드

2.6.1. 보안 및 규정 준수

보안 및 규정 준수 준수에는 보안 제어 및 규정 준수 인증과 같은 작업이 포함됩니다.

2.6.1.1. 데이터 분류

Red Hat은 데이터 분류 표준을 정의하고 준수하여 데이터의 민감도를 결정하고 데이터를 수집, 사용, 전송, 저장 및 처리하는 동안 데이터의 기밀성과 무결성에 대한 고유 한 위험을 강조합니다. 고객 소유 데이터는 최고 수준의 민감도 및 처리 요구 사항으로 분류됩니다.

2.6.1.2. 데이터 관리

Red Hat OpenShift Service on AWS 클래식 아키텍처(ROSA)는 AWS KMS(Key Management Service)를 사용하여 암호화된 데이터의 키를 안전하게 관리할 수 있도록 지원합니다. 이러한 키는 기본적으로 암호화된 컨트롤 플레인, 인프라 및 작업자 데이터 볼륨에 사용됩니다. 고객 애플리케이션의 PV(영구 볼륨)도 키 관리에 AWS KMS를 사용합니다.

고객이 ROSA 클러스터를 삭제하면 컨트롤 플레인 데이터 볼륨 및 PV(영구 볼륨)와 같은 고객 애플리케이션 데이터 볼륨을 포함하여 모든 클러스터 데이터가 영구적으로 삭제됩니다.

2.6.1.3. 취약점 관리

Red Hat은 업계 표준 툴을 사용하여 ROSA의 주기적인 취약점 스캔을 수행합니다. 확인된 취약점은 심각도에 따라 타임라인에 따라 수정으로 추적됩니다. 취약점 검사 및 수정 작업은 규정 준수 인증 감사 과정에서 타사 평가자가 확인하기 위해 문서화됩니다.

2.6.1.4. 네트워크 보안
2.6.1.4.1. 방화벽 및 DDoS 보호

각 ROSA 클러스터는 AWS 보안 그룹의 방화벽 규칙을 사용하여 보안 네트워크 구성으로 보호됩니다. ROSA 고객은 AWS Shield Standard 를 사용하여 DDoS 공격으로부터도 보호됩니다.

2.6.1.4.2. 프라이빗 클러스터 및 네트워크 연결

고객은 선택적으로 웹 콘솔, API 및 애플리케이션 라우터와 같은 ROSA 클러스터 끝점을 개인용으로 설정하여 인터넷에서 클러스터 컨트롤 플레인 및 애플리케이션에 액세스할 수 없도록 할 수 있습니다. Red Hat SRE에는 여전히 IP 허용 목록으로 보호되는 인터넷 액세스 가능한 엔드포인트가 필요합니다.

AWS 고객은 AWS VPC 피어링, AWS VPN 또는 AWS Direct Connect와 같은 기술을 통해 ROSA 클러스터에 대한 사설 네트워크 연결을 구성할 수 있습니다.

2.6.1.4.3. 클러스터 네트워크 액세스 제어

세분화된 네트워크 액세스 제어 규칙은 프로젝트별로 NetworkPolicy 오브젝트 및 OpenShift SDN을 사용하여 고객이 구성할 수 있습니다.

2.6.1.5. 침투 테스트

Red Hat은 ROSA에 대해 주기적인 침투 테스트를 수행합니다. 테스트는 업계 표준 툴 및 모범 사례를 사용하여 독립적인 내부 팀에서 수행합니다.

발견될 수 있는 모든 문제는 심각도에 따라 우선순위가 지정됩니다. 오픈 소스 프로젝트에 속한 모든 문제는 커뮤니티와 공유하여 문제를 해결합니다.

2.6.1.6. 규정 준수

AWS 클래식 아키텍처의 Red Hat OpenShift Service는 보안 및 제어를 위한 일반적인 업계 모범 사례를 따릅니다. 인증은 다음 표에 설명되어 있습니다.

Expand
표 2.3. AWS 클래식 아키텍처에서 Red Hat OpenShift Service에 대한 보안 및 제어 인증
규정 준수Red Hat OpenShift Service on AWS 클래식 아키텍처(ROSA)Red Hat Openshift Service on AWS

HIPAA 인증[1]

제공됨

제공됨

ISO 27001

제공됨

제공됨

ISO 27017

제공됨

제공됨

ISO 27018

제공됨

제공됨

PCI DSS 4.0

제공됨

제공됨

SOC 1 유형 2

제공됨

제공됨

SOC 2 유형 2

제공됨

제공됨

SOC 3

제공됨

제공됨

FedRAMP High[2]

제공됨(GovCloud 요구 사항)

없음

  1. Red Hat의 HIPAA 자격을 갖춘 ROSA 오퍼링에 대한 자세한 내용은 HIPAA 개요 를 참조하십시오.
  2. GovCloud의 ROSA에 대한 자세한 내용은 FedRAMP Marketplace ROSA AgencyROSA JAB 목록을 참조하십시오.

2.7. SRE 및 서비스 계정 액세스

Red Hat 사이트 안정성 엔지니어링(SRE) 액세스는 ID 및 액세스 관리를 통해 AWS 클래식 아키텍처(ROSA) 클러스터에서 Red Hat OpenShift Service에 액세스할 수 있습니다.

2.7.1. ID 및 액세스 관리

Red Hat SRE 팀의 대부분의 액세스는 자동화된 구성 관리를 통해 클러스터 Operator를 사용하여 수행됩니다.

하위 프로세서

사용 가능한 하위 프로세서 목록은 Red Hat 고객 포털의 Red Hat 하위 프로세서 목록을 참조하십시오.

2.7.2. SRE 클러스터 액세스

ROSA(Red Hat OpenShift Service on AWS 클래식 아키텍처) 클러스터는 여러 필수 인증 계층을 통해 제어되며 모두 엄격한 회사 정책에 의해 관리됩니다. 모든 인증 시도는 클러스터에 액세스하려고 하며 클러스터 내의 변경 사항은 해당 작업을 담당하는 SRE의 특정 계정 ID와 함께 감사 로그 내에 기록됩니다. 이러한 감사 로그는 고객의 클러스터에 대한 모든 변경 사항이 Red Hat의 관리 서비스 지침을 구성하는 엄격한 정책과 절차를 준수하는지 확인하는 데 도움이 됩니다.

아래에 제시된 정보는 SRE가 고객의 클러스터에 액세스하기 위해 수행해야 하는 프로세스에 대한 개요입니다.

  • Red Hat SRE는 Red Hat SSO(Cloud Services)에서 새로 고침 ID 토큰을 요청합니다. 이 요청이 인증됩니다. 토큰은 15분 동안 유효합니다. 토큰이 만료되면 토큰을 다시 새로고침하여 새 토큰을 수신할 수 있습니다. 새 토큰으로 새로 고침하는 기능은 무제한입니다. 그러나 새 토큰으로 새로 고침하는 기능은 비활성화 후 30일 후에 취소됩니다.
  • Red Hat SRE가 Red Hat VPN에 연결됩니다. VPN에 대한 인증은 Red Hat Corporate Identity and Access Management 시스템(RH IAM)에 의해 완료됩니다. RH IAM을 사용하면 SRE는 다중 요소이며 그룹 및 기존 온보딩 및 오프보딩 프로세스를 통해 조직당 내부적으로 관리할 수 있습니다. SRE가 인증 및 연결되면 SRE가 클라우드 서비스 플릿 관리 플레인에 액세스할 수 있습니다. 클라우드 서비스 플릿 관리 플레인을 변경하려면 많은 승인 계층이 필요하며 엄격한 회사 정책에 의해 유지 관리됩니다.
  • 권한 부여가 완료되면 플릿 관리 플레인에 SRE 로그가 기록되고 플릿 관리 플레인에서 생성한 서비스 계정 토큰이 수신됩니다. 토큰은 15분 동안 유효합니다. 토큰이 더 이상 유효하지 않으면 삭제됩니다.
  • 플릿 관리 플레인에 대한 액세스 권한이 부여된 SRE는 네트워크 구성에 따라 다양한 방법을 사용하여 클러스터에 액세스합니다.

    • 프라이빗 또는 공용 클러스터에 액세스: 포트 6443에서 암호화된 HTTP 연결을 사용하여 요청이 특정 NLB(Network Load Balancer)를 통해 전송됩니다.
    • PrivateLink 클러스터에 액세스: 요청이 Red Hat Transit Gateway로 전송되어 리전당 Red Hat VPC에 연결됩니다. 요청을 수신하는 VPC는 대상 프라이빗 클러스터 리전에 따라 달라집니다. VPC에는 고객의 PrivateLink 클러스터에 대한 PrivateLink 엔드포인트가 포함된 프라이빗 서브넷이 있습니다.

SRES는 웹 콘솔 또는 CLI(명령줄 인터페이스) 툴을 통해 ROSA 클러스터에 액세스합니다. 인증에는 암호 복잡성 및 계정 잠금에 대한 업계 표준 요구 사항이 있는 MFA(다중 인증)가 필요합니다. SRES는 감사 가능성을 보장하기 위해 개인으로 인증해야 합니다. 모든 인증 시도는 SIEM(Security Information and Event Management) 시스템에 기록됩니다.

SRES는 암호화된 HTTP 연결을 사용하여 프라이빗 클러스터에 액세스합니다. 연결은 IP 허용 목록 또는 프라이빗 클라우드 공급자 링크를 사용하여 보안 Red Hat 네트워크에서만 허용됩니다.

그림 2.1. ROSA 클러스터에 대한 SRE 액세스

2.7.2.1. ROSA의 권한 있는 액세스 제어

SRE는 ROSA 및 AWS 구성 요소에 액세스할 때 최소한의 권한 원칙을 준수합니다. 수동 SRE 액세스에는 다음 네 가지 기본 카테고리가 있습니다.

  • SRE admin access through the Red Hat Portal with normal two-factor authentication and no privileged evation.
  • SRE 관리자 액세스는 일반적인 2 단계 인증 및 권한 상승 없이 Red Hat 회사 SSO를 통해 액세스할 수 있습니다.
  • OpenShift 고도(Red Hat SSO를 사용한 수동 상승)입니다. 액세스는 2시간으로 제한되며 완전히 감사되며 관리 승인이 필요합니다.
  • AWS 콘솔 또는 CLI 액세스를 위한 수동 고도인 AWS 액세스 또는 고도화. 액세스는 60분으로 제한되며 완전히 감사됩니다.

이러한 액세스 유형 각각은 구성 요소에 대한 서로 다른 수준의 액세스 권한을 갖습니다.

Expand
Component일반적인 SRE 관리자 액세스(Red Hat Portal)일반적인 SRE 관리자 액세스(Red Hat SSO)OpenShift elevation클라우드 공급자 액세스 또는 고도

OpenShift Cluster Manager

R/W

액세스 권한 없음

액세스 권한 없음

액세스 권한 없음

OpenShift console

액세스 권한 없음

R/W

R/W

액세스 권한 없음

노드 운영 체제

액세스 권한 없음

승격된 OS 및 네트워크 권한의 특정 목록입니다.

승격된 OS 및 네트워크 권한의 특정 목록입니다.

액세스 권한 없음

AWS 콘솔

액세스 권한 없음

액세스 권한이 없지만 이는 클라우드 공급자 액세스를 요청하는 데 사용되는 계정입니다.

액세스 권한 없음

SRE ID를 사용하는 모든 클라우드 공급자 권한.

2.7.2.2. AWS 계정에 대한 SRE 액세스

Red Hat 직원은 AWS 클래식 아키텍처 운영에서 일상적인 Red Hat OpenShift Service에 액세스하지 않습니다. 긴급 문제 해결을 위해 SRE는 클라우드 인프라 계정에 액세스하기 위한 잘 정의되고 감사 가능한 절차를 가지고 있습니다.

격리된 백 플레인 흐름에서 SREs는 고객의 지원 역할에 대한 액세스를 요청합니다. 이 요청은 백엔드 API에서 처리하는JIT(Just-in-time)로 조직 역할의 권한을 특정 SRE 담당자 계정으로 동적으로 업데이트합니다. 이 SRE 계정에는 특정 Red Hat 고객 환경에 액세스할 수 있습니다. Red Hat 고객의 환경에 대한 SRE 액세스는 액세스 요청 시에만 설정된 일시적인 단기 액세스입니다.

STS 토큰에 대한 액세스는 감사 로그이며 개별 사용자에게 다시 추적할 수 있습니다. STS 및 비STS 클러스터 모두 SRE 액세스에 AWS STS 서비스를 사용합니다. ManagedOpenShift-Technical-Support-RoleManagedOpenShift-Support-Access 정책이 연결된 경우 액세스 제어는 통합 백 플레인 흐름을 사용하며 이 역할은 관리에 사용됩니다. ManagedOpenShift-Support-Role 에 ManagedOpenShift- Technical-Support-<org_id > 정책이 연결된 경우 액세스 제어는 분리된 백 플레인 흐름을 사용합니다. 자세한 내용은 KCS 문서 ROSA 클러스터의 신뢰 정책 업데이트 문서를 참조하십시오.

2.7.2.3. AWS 계정의 SRE STS 보기

SREs가 이중 인증을 통해 VPN에 있는 경우 Red Hat 지원은 AWS 계정에서 ManagedOpenShift-Support-Role 을 가정할 수 있습니다. Managed OpenShift-Support-Role 에는 AWS 리소스의 문제를 직접 해결하고 관리하는 데 필요한 모든 권한이 있습니다. Managed OpenShift-Support-Role 을 가정할 때 SRE는 AWS STS(Security Token Service)를 사용하여 고객의 AWS 웹 UI에 대한 고유 시간 만료 URL을 생성합니다. 그런 다음 SRES는 다음과 같은 여러 문제 해결 작업을 수행할 수 있습니다.

  • CloudTrail 로그 보기
  • 잘못된 EC2 인스턴스 종료

SREs가 수행하는 모든 활동은 Red Hat IP 주소에서 제공되며 모든 활동을 감사하고 검토할 수 있도록 CloudTrail에 기록됩니다. 이 역할은 AWS 서비스에 대한 액세스가 필요한 경우에만 사용됩니다. 대부분의 권한은 읽기 전용입니다. 그러나 일부 권한은 인스턴스를 재부팅하거나 새 인스턴스를 구동하는 기능을 포함하여 더 많은 액세스 권한을 갖습니다. SRE 액세스는 ManagedOpenShift-Support-Role 에 연결된 정책 권한으로 제한됩니다.

전체 권한 목록은 IAM 리소스 정보 사용자 가이드의 sts_support_permission_policy.json 을 참조하십시오.

2.7.3. Red Hat 지원 액세스

Red Hat CEE(Customer Experience and Engagement) 팀의 구성원은 일반적으로 클러스터 일부에 대한 읽기 전용 액세스 권한을 갖습니다. 특히 CEE는 코어 및 제품 네임스페이스에 대한 액세스를 제한했으며 고객 네임스페이스에 액세스할 수 없습니다.

Expand
Role코어 네임스페이스계층화된 제품 네임스페이스고객 네임스페이스AWS 계정*

OpenShift SRE - 일반 작업 [1]

읽기: 모두

쓰기: Very

제한됨

읽기: 모두

쓰기: 없음

읽기: 없음

쓰기: 없음

읽기: 없음

쓰기: 없음

OpenShift SRE - 상위 액세스 [2] ( 승인된 액세스로 표시됨)

읽기: 모두

쓰기: 모두

읽기: 모두

쓰기: 모두

읽기: 모두

쓰기: 모두

읽기: 모두

쓰기: 모두

CEE

읽기: 모두

쓰기: 없음

읽기: 모두

쓰기: 없음

읽기: 없음

쓰기: 없음

읽기: 없음

쓰기: 없음

고객 관리자

읽기: 없음

쓰기: 없음

읽기: 없음

쓰기: 없음

읽기: 모두

쓰기: 모두

읽기: 모두

쓰기: 모두

고객 사용자

읽기: 없음

쓰기: 없음

읽기: 없음

쓰기: 없음

읽기: 제한 [3]

쓰기: 제한 [3]

읽기: 없음

쓰기: 없음

기타

읽기: 없음

쓰기: 없음

읽기: 없음

쓰기: 없음

읽기: 없음

쓰기: 없음

읽기: 없음

쓰기: 없음

  1. 배포 실패, 클러스터 업그레이드, 잘못된 작업자 노드 교체와 같은 일반적인 사용 사례 해결으로 제한됩니다.
  2. SRE는 클러스터 관리자 역할의 액세스 수준을 높이며 승인 액세스에 의해 게이트됩니다. 자세한 내용은 "Default cluster roles" 및 "Approved Access"를 참조하십시오.
  3. 고객 관리자 및 사용자가 생성한 네임스페이스에서 RBAC를 통해 부여되는 항목으로 제한됩니다.

2.7.4. 고객 액세스

고객 액세스는 고객이 생성한 네임스페이스와 고객 관리자 역할에서 RBAC를 사용하여 부여된 권한으로 제한됩니다. 기본 인프라 또는 제품 네임스페이스에 대한 액세스는 일반적으로 cluster-admin 액세스 없이는 허용되지 않습니다. 고객 액세스 및 인증에 대한 자세한 내용은 문서의 "인증 정보" 섹션을 참조하십시오.

2.7.5. 승인 및 검토에 액세스

새로운 Red Hat SRE 사용자 액세스에는 관리 승인이 필요합니다. SRE 계정 분리 또는 전송된 SRE 계정은 자동화된 프로세스를 통해 권한 있는 사용자로 제거됩니다. 또한 SRE는 권한 있는 사용자 목록의 관리 사인오프를 포함하여 주기적인 액세스 검토를 수행합니다.

액세스 및 ID 권한 부여 표에는 클러스터, 애플리케이션 및 인프라 리소스에 대한 권한 있는 액세스 관리 책임이 포함되어 있습니다. 여기에는 액세스 제어 메커니즘, 인증, 권한 부여 및 리소스에 대한 액세스 관리 등의 작업이 포함됩니다.

Expand
리소스서비스 역할고객 역할

로깅

Red Hat

  • 플랫폼 감사 로그를 위한 업계 표준 기반 내부 액세스 프로세스를 준수합니다.
  • 기본 OpenShift RBAC 기능을 제공합니다.
  • 프로젝트에 대한 액세스를 제어하고 프로젝트의 애플리케이션 로그를 확장하여 OpenShift RBAC를 구성합니다.
  • 타사 또는 사용자 지정 애플리케이션 로깅 솔루션의 경우 고객은 액세스 관리를 담당합니다.

애플리케이션 네트워킹

Red Hat

  • 기본 OpenShift RBAC 및 전용 관리자 기능을 제공합니다.
  • 필요에 따라 경로 구성에 대한 액세스를 제어하도록 OpenShift dedicated-admin 및 RBAC를 구성합니다.
  • Red Hat이 OpenShift Cluster Manager에 대한 액세스 권한을 부여하려면 조직 관리자를 관리합니다. 클러스터 관리자는 라우터 옵션을 구성하고 서비스 로드 밸런서 할당량을 제공하는 데 사용됩니다.

클러스터 네트워킹

Red Hat

  • OpenShift Cluster Manager를 통해 고객 액세스 제어를 제공합니다.
  • 기본 OpenShift RBAC 및 전용 관리자 기능을 제공합니다.
  • Red Hat 계정의 Red Hat 조직 멤버십을 관리합니다.
  • Red Hat이 OpenShift Cluster Manager에 대한 액세스 권한을 부여하려면 조직 관리자를 관리합니다.
  • 필요에 따라 경로 구성에 대한 액세스를 제어하도록 OpenShift dedicated-admin 및 RBAC를 구성합니다.

가상 네트워킹 관리

Red Hat

  • OpenShift Cluster Manager를 통해 고객 액세스 제어를 제공합니다.
  • OpenShift Cluster Manager를 통해 AWS 구성 요소에 대한 선택적 사용자 액세스를 관리합니다.

가상 스토리지 관리

Red Hat

  • Red Hat OpenShift Cluster Manager를 통해 고객 액세스 제어 제공.
  • OpenShift Cluster Manager를 통해 AWS 구성 요소에 대한 선택적 사용자 액세스를 관리합니다.
  • ROSA 서비스 액세스를 활성화하는 데 필요한 AWS IAM 역할 및 연결된 정책을 생성합니다.

가상 컴퓨팅 관리

Red Hat

  • Red Hat OpenShift Cluster Manager를 통해 고객 액세스 제어 제공.
  • OpenShift Cluster Manager를 통해 AWS 구성 요소에 대한 선택적 사용자 액세스를 관리합니다.
  • ROSA 서비스 액세스를 활성화하는 데 필요한 AWS IAM 역할 및 연결된 정책을 생성합니다.

AWS 소프트웨어 (공용 AWS 서비스)

AWS

컴퓨팅: ROSA 컨트롤 플레인, 인프라 및 작업자 노드에 사용되는 Amazon EC2 서비스를 제공합니다.

스토리지: ROSA가 클러스터의 로컬 노드 스토리지 및 영구 볼륨 스토리지를 프로비저닝할 수 있도록 허용하는 Amazon EBS를 제공합니다.

스토리지: 서비스의 기본 제공 이미지 레지스트리에 사용되는 Amazon S3를 제공합니다.

네트워킹: 고객이 고객 계정에서 실행되는 ROSA 리소스에 대한 액세스를 제어하는 데 사용되는 AWS IAM(Identity and Access Management)을 제공합니다.

  • ROSA 서비스 액세스를 활성화하는 데 필요한 AWS IAM 역할 및 연결된 정책을 생성합니다.
  • IAM 툴을 사용하여 고객 계정의 AWS 리소스에 적절한 권한을 적용합니다.
  • AWS 조직 전체에서 ROSA를 활성화하기 위해 고객은 AWS 조직 관리자 관리를 담당합니다.
  • AWS 조직 전반에서 ROSA를 활성화하기 위해 고객은 AWS License Manager를 사용하여 ROSA 인타이틀먼트를 배포할 책임이 있습니다.

하드웨어 및 AWS 글로벌 인프라

AWS

  • AWS 데이터 센터의 물리적 액세스 제어에 대한 자세한 내용은 AWS Cloud Security 페이지에서 당사의 제어 기능을 참조하십시오.
  • 고객은 AWS 글로벌 인프라에 대한 책임이 없습니다.

AWS STS(Security Token Service)를 사용하는 AWS 클래식 아키텍처에 Red Hat OpenShift Service를 설치하면 클러스터별 Operator AWS IAM(Identity and Access Management) 역할이 생성됩니다. 이러한 IAM 역할을 사용하면 ROSA 클러스터 Operator가 핵심 OpenShift 기능을 실행할 수 있습니다.

클러스터 Operator는 서비스 계정을 사용하여 IAM 역할을 가정합니다. 서비스 계정에서 IAM 역할을 가정하면 서비스 계정에서 클러스터 Operator의 Pod에서 사용할 임시 AWS STS 인증 정보가 제공됩니다. assumed 역할에 필요한 AWS 권한이 있는 경우 서비스 계정에서 Pod에서 AWS SDK 작업을 실행할 수 있습니다.

다음 다이어그램은 SRE 보유 프로젝트에서 AWS IAM 역할을 가정하는 워크플로우를 보여줍니다.

그림 2.2. SRE 보유 프로젝트에서 AWS IAM 역할을 가정하기 위한 워크플로우

워크플로우에는 다음 단계가 있습니다.

  1. 클러스터 Operator가 실행하는 각 프로젝트 내에서 Operator의 배포 사양에는 예상 서비스 계정 토큰에 대한 볼륨 마운트와 Pod에 대한 AWS 인증 정보 구성이 포함된 시크릿이 있습니다. 토큰은 오디언스 바인딩 및 시간 바인딩입니다. ROSA는 매시간 새 토큰을 생성하고 AWS SDK는 AWS 인증 정보 구성이 포함된 마운트된 시크릿을 읽습니다. 이 구성에는 마운트된 토큰 및 AWS IAM 역할 ARN의 경로가 있습니다. 시크릿의 인증 정보 구성에는 다음이 포함됩니다.

    • AWS SDK 작업을 실행하는 데 필요한 권한이 있는 IAM 역할에 대한 ARN이 있는 $AWS_ARN_ROLE 변수.
    • 서비스 계정의 OpenID Connect(OIDC) 토큰으로 Pod의 전체 경로가 있는 $AWS_LOAD_IDENTITY_TOKEN_FILE 변수. 전체 경로는 /var/run/secrets/openshift/serviceaccount/token 입니다.
  2. 클러스터 Operator에서 AWS IAM 역할로 간주하여 AWS IAM 역할(예: EC2)을 가정해야 하는 경우 Operator에서 실행되는 AWS SDK 클라이언트 코드는 AssumeRoleWithWebIdentity API 호출을 호출합니다.
  3. OIDC 토큰은 Pod에서 OIDC 공급자로 전달됩니다. 다음 요구 사항이 충족되면 공급자는 서비스 계정 ID를 인증합니다.

    • ID 서명은 유효하며 개인 키로 서명됩니다.
    • sts.amazonaws.com 대상은 OIDC 토큰에 나열되며 OIDC 공급자에 구성된 대상과 일치합니다.

      참고

      STS 클러스터를 사용하는 ROSA에서는 설치 중에 OIDC 공급자가 생성되고 기본적으로 서비스 계정 발행자로 설정됩니다. sts.amazonaws.com 대상은 OIDC 공급자에 기본적으로 설정됩니다.

    • OIDC 토큰이 만료되지 않았습니다.
    • 토큰의 발행자 값에는 OIDC 공급자의 URL이 있습니다.
  4. 프로젝트 및 서비스 계정이 가정 중인 IAM 역할에 대한 신뢰 정책 범위에 있는 경우 권한 부여가 성공합니다.
  5. 인증 및 권한 부여에 성공하면 AWS 액세스 토큰, 시크릿 키 및 세션 토큰 형식의 임시 AWS STS 인증 정보가 서비스 계정에서 사용할 수 있도록 Pod에 전달됩니다. 인증 정보를 사용하면 서비스 계정에 IAM 역할에 활성화된 AWS 권한이 일시적으로 부여됩니다.
  6. 클러스터 Operator가 실행되면 Pod에서 AWS SDK를 사용하는 Operator는 예상 서비스 계정에 대한 경로가 있는 시크릿과 AWS IAM 역할 ARN을 사용하여 OIDC 공급자에 대해 인증합니다. OIDC 공급자는 AWS API에 대한 인증에 대한 임시 STS 자격 증명을 반환합니다.

3장. STS 클러스터의 IAM 리소스 정보

AWS STS(Security Token Service)를 사용하는 AWS 클래식 아키텍처(ROSA) 클러스터에 Red Hat OpenShift Service를 배포하려면 다음 AWS IAM(Identity Access Management) 리소스를 생성해야 합니다.

  • ROSA 지원, 설치, 컨트롤 플레인 및 컴퓨팅 기능에 필요한 STS 권한을 제공하는 특정 계정 전체 IAM 역할 및 정책입니다. 여기에는 계정 전체 Operator 정책이 포함됩니다.
  • ROSA 클러스터 Operator가 핵심 OpenShift 기능을 수행할 수 있도록 하는 클러스터별 Operator IAM 역할입니다.
  • 클러스터 Operator가 인증하는 데 사용하는 OpenID Connect(OIDC) 공급자입니다.
  • OpenShift Cluster Manager를 사용하여 클러스터를 배포하고 관리하는 경우 다음과 같은 추가 리소스를 생성해야 합니다.

    • 클러스터에서 설치를 완료하는 OpenShift Cluster Manager IAM 역할입니다.
    • AWS 계정 ID를 확인할 수 있는 권한이 없는 사용자 역할.

이 문서에서는 STS를 사용하는 ROSA 클러스터를 생성할 때 배포해야 하는 IAM 리소스에 대한 참조 정보를 제공합니다. rosa create 명령과 함께 수동 모드를 사용할 때 생성되는 aws CLI 명령도 포함됩니다.

3.1. OpenShift Cluster Manager 역할 및 권한

OpenShift Cluster Manager 를 사용하여 ROSA 클러스터를 생성하는 경우 클러스터를 생성하고 관리하려면 다음 AWS IAM 역할이 AWS 계정에 연결되어 있어야 합니다. IAM 역할을 AWS 계정에 연결하는 방법에 대한 자세한 내용은 AWS 계정 연결을 참조하십시오.

이러한 AWS IAM 역할은 다음과 같습니다.

  • ROSA 사용자 역할(사용자 역할)은 Red Hat이 고객의 AWS ID를 확인하는 데 사용하는 AWS 역할입니다. 이 역할에는 추가 권한이 없으며 역할에는 Red Hat 설치 프로그램 계정과 신뢰 관계가 있습니다.
  • ocm-role 리소스는 OpenShift Cluster Manager에 ROSA 클러스터 설치에 필요한 권한을 부여합니다. ocm-role 리소스에 기본 또는 관리 권한을 적용할 수 있습니다. 관리 ocm-role 리소스를 생성하는 경우 OpenShift Cluster Manager는 필요한 AWS Operator 역할 및 OIDC(OpenID Connect) 공급자를 생성할 수 있습니다. 이 IAM 역할은 Red Hat 설치 프로그램 계정과도 신뢰 관계를 생성합니다.

    참고

    ocm-role IAM 리소스는 IAM 역할과 이 역할과 함께 생성된 필요한 정책을 조합한 것입니다.

OpenShift Cluster Manager에서 자동 모드를 사용하여 Operator 역할 정책 및 OIDC 공급자를 생성하려면 관리 ocm-role 리소스뿐만 아니라 이 사용자 역할을 생성해야 합니다.

3.1.1. OpenShift Cluster Manager 역할 이해

OpenShift Cluster Manager 에서 ROSA 클러스터를 생성하려면 ocm-role IAM 역할이 필요합니다. 기본 ocm-role IAM 역할 권한을 사용하면 OpenShift Cluster Manager 내에서 클러스터 유지 관리를 수행할 수 있습니다. operator 역할 및 OpenID Connect(OIDC) 공급자를 자동으로 생성하려면 rosa create 명령에 --admin 옵션을 추가해야 합니다. 이 명령은 관리 작업에 필요한 추가 권한으로 ocm-role 리소스를 생성합니다.

참고

이러한 승격된 IAM 역할을 통해 OpenShift Cluster Manager는 클러스터 생성 중에 클러스터별 Operator 역할 및 OIDC 공급자를 자동으로 생성할 수 있습니다. 이 자동 역할 및 정책 생성에 대한 자세한 내용은 추가 리소스의 "계정 전체 역할 생성 방법" 링크를 참조하십시오.

3.1.1.1. 사용자 역할 이해

ocm-role IAM 역할 외에도 AWS 클래식 아키텍처의 Red Hat OpenShift Service가 AWS ID를 확인할 수 있도록 사용자 역할을 생성해야 합니다. 이 역할에는 권한이 없으며 설치 프로그램 계정과 ocm-role 리소스 간에 신뢰 관계를 생성하는 데만 사용됩니다.

다음 표에는 ocm-role 리소스에 대한 관련 기본 및 관리 권한이 표시되어 있습니다.

Expand
표 3.1. 기본 ocm-role 리소스에 대한 관련 권한
리소스설명

iam:GetOpenIDConnectProvider

이 권한을 사용하면 기본 역할이 지정된 OpenID Connect(OIDC) 공급자에 대한 정보를 검색할 수 있습니다.

iam:GetRole

이 권한을 사용하면 기본 역할이 지정된 역할에 대한 정보를 검색할 수 있습니다. 반환된 일부 데이터에는 역할의 경로, GUID, ARN 및 역할을 가정할 수 있는 권한을 부여하는 역할의 신뢰 정책이 포함됩니다.

iam:ListRoles

이 권한을 사용하면 기본 역할이 경로 접두사 내의 역할을 나열할 수 있습니다.

iam:ListRoleTags

이 권한을 사용하면 기본 역할이 지정된 역할의 태그를 나열할 수 있습니다.

ec2:DescribeRegions

이 권한을 사용하면 기본 역할이 계정에서 활성화된 모든 지역에 대한 정보를 반환할 수 있습니다.

ec2:DescribeRouteTables

이 권한을 사용하면 기본 역할이 모든 라우팅 테이블에 대한 정보를 반환할 수 있습니다.

ec2:DescribeSubnets

이 권한을 사용하면 기본 역할이 모든 서브넷에 대한 정보를 반환할 수 있습니다.

ec2:DescribeVpcs

이 권한을 통해 기본 역할은 모든 가상 프라이빗 클라우드(VPC)에 대한 정보를 반환할 수 있습니다.

sts:AssumeRole

이 권한을 통해 기본 역할은 임시 보안 인증 정보를 검색하여 일반 권한 이외의 AWS 리소스에 액세스할 수 있습니다.

sts:AssumeRoleWithWebIdentity

이 권한을 사용하면 기본 역할이 웹 ID 공급자를 사용하여 계정을 인증된 사용자의 임시 보안 자격 증명을 검색할 수 있습니다.

Expand
표 3.2. admin ocm-role 리소스에 대한 추가 권한
리소스설명

iam:AttachRolePolicy

이 권한을 통해 admin 역할은 지정된 정책을 원하는 IAM 역할에 연결할 수 있습니다.

iam:CreateOpenIDConnectProvider

이 권한은 OIDC(OpenID Connect)를 지원하는 ID 공급자를 설명하는 리소스를 생성합니다. 이 권한을 사용하여 OIDC 공급자를 생성할 때 이 공급자는 공급자와 AWS 간의 신뢰 관계를 설정합니다.

iam:CreateRole

이 권한을 통해 admin 역할은 AWS 계정의 역할을 생성할 수 있습니다.

iam:ListPolicies

이 권한을 통해 admin 역할은 AWS 계정과 연결된 정책을 나열할 수 있습니다.

iam:ListPolicyTags

이 권한을 통해 admin 역할은 지정된 정책의 모든 태그를 나열할 수 있습니다.

iam:PutRolePermissionsBoundary

이 권한을 통해 admin 역할은 지정된 정책을 기반으로 하는 사용자의 권한 경계를 변경할 수 있습니다.

iam:TagRole

이 권한을 통해 admin 역할은 IAM 역할에 태그를 추가할 수 있습니다.

3.1.2. ocm-role IAM 역할 생성

CLI(명령줄 인터페이스)를 사용하여 ocm-role IAM 역할을 생성합니다.

사전 요구 사항

  • AWS 계정이 있습니다.
  • OpenShift Cluster Manager 조직에 Red Hat 조직 관리자 권한이 있습니다.
  • AWS 계정 전체 역할을 설치하는 데 필요한 권한이 있습니다.
  • 설치 호스트에 최신 ROSA CLI, rosa 를 설치하고 구성했습니다.

프로세스

  • 기본 권한으로 ocm-role IAM 역할을 생성하려면 다음 명령을 실행합니다.

    $ rosa create ocm-role
    Copy to Clipboard Toggle word wrap
  • 관리자 권한으로 ocm-role IAM 역할을 생성하려면 다음 명령을 실행합니다.

    $ rosa create ocm-role --admin
    Copy to Clipboard Toggle word wrap

    이 명령을 사용하면 특정 특성을 지정하여 역할을 생성할 수 있습니다. 다음 예제 출력은 선택한 "자동 모드"를 표시하여 ROSA CLI(rosa)에서 Operator 역할 및 정책을 생성할 수 있습니다. 자세한 내용은 "계정 전체 역할 생성 방법"을 참조하십시오.

출력 예

I: Creating ocm role
? Role prefix: ManagedOpenShift 
1

? Enable admin capabilities for the OCM role (optional): No 
2

? Permissions boundary ARN (optional): 
3

? Role Path (optional): 
4

? Role creation mode: auto 
5

I: Creating role using 'arn:aws:iam::<ARN>:user/<UserName>'
? Create the 'ManagedOpenShift-OCM-Role-182' role? Yes 
6

I: Created role 'ManagedOpenShift-OCM-Role-182' with ARN  'arn:aws:iam::<ARN>:role/ManagedOpenShift-OCM-Role-182'
I: Linking OCM role
? OCM Role ARN: arn:aws:iam::<ARN>:role/ManagedOpenShift-OCM-Role-182 
7

? Link the 'arn:aws:iam::<ARN>:role/ManagedOpenShift-OCM-Role-182' role with organization '<AWS ARN>'? Yes 
8

I: Successfully linked role-arn 'arn:aws:iam::<ARN>:role/ManagedOpenShift-OCM-Role-182' with organization account '<AWS ARN>'
Copy to Clipboard Toggle word wrap

1
생성된 모든 AWS 리소스의 접두사 값입니다. 이 예제에서 Managed OpenShift 는 모든 AWS 리소스 앞에 추가합니다.
2
이 역할에 추가 관리자 권한이 있도록 하려면 선택합니다.
참고

--admin 옵션을 사용한 경우 이 프롬프트가 표시되지 않습니다.

3
권한 경계를 설정하는 정책의 Amazon 리소스 이름(ARN)입니다.
4
사용자 이름에 대한 IAM 경로를 지정합니다.
5
AWS 역할을 생성할 방법을 선택합니다. ROSA CLI는 auto 를 사용하여 역할 및 정책을 생성하고 연결합니다. 자동 모드에서는 AWS 역할을 생성하라는 몇 가지 다른 프롬프트가 표시됩니다.
6
auto 메서드는 접두사를 사용하여 특정 ocm-role 을 생성할지 여부를 요청합니다.
7
IAM 역할을 OpenShift Cluster Manager와 연결할지 확인합니다.
8
생성된 역할을 AWS 조직과 연결합니다.

AWS IAM 역할은 클러스터를 생성하고 관리하기 위해 AWS 계정에 연결됩니다. IAM 역할을 AWS 계정에 연결하는 방법에 대한 자세한 내용은 AWS 계정 연결을 참조하십시오.

3.2. 계정 전체 IAM 역할 및 정책 참조

이 섹션에서는 Operator 정책을 포함하여 STS를 사용하는 ROSA 배포에 필요한 계정 전체 IAM 역할 및 정책에 대해 자세히 설명합니다. 정책을 정의하는 JSON 파일도 포함됩니다.

계정 전체 역할 및 정책은 AWS 클래식 아키텍처 마이너 릴리스 버전의 Red Hat OpenShift Service(예: AWS 클래식 아키텍처 4의 Red Hat OpenShift Service)에만 적용되며 이전 버전과 호환됩니다. 패치 버전에 관계없이 동일한 마이너 버전의 여러 클러스터에 대해 계정 전체 역할 및 정책을 재사용하여 필요한 STS 리소스를 최소화할 수 있습니다.

3.2.1. 계정 전체 역할 생성 방법

ROSA(AWS 클래식 아키텍처) CLI, rosa 또는 OpenShift Cluster Manager 가이드 설치를 사용하여 계정 전체 역할을 생성할 수 있습니다. 역할을 수동으로 생성하거나 이러한 역할 및 정책에 사전 정의된 이름을 사용하는 자동 프로세스를 사용하여 생성할 수 있습니다.

3.2.1.1. 수동 ocm-role 리소스 생성

시스템에 이러한 역할을 생성하는 데 필요한 CLI 액세스 권한이 있는 경우 수동 생성 방법을 사용할 수 있습니다. 원하는 CLI 도구 또는 OpenShift Cluster Manager에서 이 옵션을 실행할 수 있습니다. 수동 생성 프로세스를 시작한 후 CLI는 역할을 생성하고 필요한 정책에 연결하는 일련의 명령을 실행할 수 있는 일련의 명령을 제공합니다.

3.2.1.2. 자동 ocm-role 리소스 생성

관리 권한이 있는 ocm-role 리소스를 생성한 경우 OpenShift Cluster Manager에서 자동 생성 방법을 사용할 수 있습니다. ROSA CLI에서는 이러한 역할 및 정책을 자동으로 생성하기 위해 이 관리자 ocm-role IAM 리소스를 사용할 필요가 없습니다. 이 방법을 선택하면 기본 이름을 사용하는 역할 및 정책이 생성됩니다.

OpenShift Cluster Manager에서 ROSA 단계별 설치를 사용하는 경우 단계별 클러스터 설치의 첫 번째 단계에서 관리 권한으로 ocm-role 리소스를 생성해야 합니다. 이 역할이 없으면 자동 Operator 역할 및 정책 생성 옵션을 사용할 수 없지만 수동 프로세스를 통해 클러스터 및 해당 역할 및 정책을 생성할 수 있습니다.

참고

sts_installer_trust_policy.jsonsts_support_trust_policy.json 샘플에 있는 계정 번호는 필요한 역할을 가정할 수 있는 Red Hat 계정을 나타냅니다.

Expand
표 3.3. ROSA 설치 관리자 역할, 정책 및 정책 파일
리소스설명

ManagedOpenShift-Installer-Role

ROSA 설치 프로그램에서 사용하는 IAM 역할입니다.

ManagedOpenShift-Installer-Role-Policy

ROSA 설치 프로그램에 클러스터 설치 작업을 완료하는 데 필요한 권한을 제공하는 IAM 정책입니다.

예 3.1. sts_installer_trust_policy.json

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::%{aws_account_id}:role/RH-Managed-OpenShift-Installer"
                ]
            },
            "Action": [
                "sts:AssumeRole"
            ]
        }
    ]
}
Copy to Clipboard Toggle word wrap

예 3.2. sts_installer_permission_policy.json

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "autoscaling:DescribeAutoScalingGroups",
                "ec2:AllocateAddress",
                "ec2:AssociateAddress",
                "ec2:AssociateDhcpOptions",
                "ec2:AssociateRouteTable",
                "ec2:AttachInternetGateway",
                "ec2:AttachNetworkInterface",
                "ec2:AuthorizeSecurityGroupEgress",
                "ec2:AuthorizeSecurityGroupIngress",
                "ec2:CopyImage",
                "ec2:CreateDhcpOptions",
                "ec2:CreateInternetGateway",
                "ec2:CreateNatGateway",
                "ec2:CreateNetworkInterface",
                "ec2:CreateRoute",
                "ec2:CreateRouteTable",
                "ec2:CreateSecurityGroup",
                "ec2:CreateSubnet",
                "ec2:CreateTags",
                "ec2:CreateVolume",
                "ec2:CreateVpc",
                "ec2:CreateVpcEndpoint",
                "ec2:DeleteDhcpOptions",
                "ec2:DeleteInternetGateway",
                "ec2:DeleteNatGateway",
                "ec2:DeleteNetworkInterface",
                "ec2:DeleteRoute",
                "ec2:DeleteRouteTable",
                "ec2:DeleteSecurityGroup",
                "ec2:DeleteSnapshot",
                "ec2:DeleteSubnet",
                "ec2:DeleteTags",
                "ec2:DeleteVolume",
                "ec2:DeleteVpc",
                "ec2:DeleteVpcEndpoints",
                "ec2:DeregisterImage",
                "ec2:DescribeAccountAttributes",
                "ec2:DescribeAddresses",
                "ec2:DescribeAvailabilityZones",
                "ec2:DescribeDhcpOptions",
                "ec2:DescribeImages",
                "ec2:DescribeInstanceAttribute",
                "ec2:DescribeInstanceCreditSpecifications",
                "ec2:DescribeInstances",
                "ec2:DescribeInstanceStatus",
                "ec2:DescribeInstanceTypeOfferings",
                "ec2:DescribeInstanceTypes",
                "ec2:DescribeInternetGateways",
                "ec2:DescribeKeyPairs",
                "ec2:DescribeNatGateways",
                "ec2:DescribeNetworkAcls",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DescribePrefixLists",
                "ec2:DescribeRegions",
                "ec2:DescribeReservedInstancesOfferings",
                "ec2:DescribeRouteTables",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSecurityGroupRules",
                "ec2:DescribeSubnets",
                "ec2:DescribeTags",
                "ec2:DescribeVolumes",
                "ec2:DescribeVpcAttribute",
                "ec2:DescribeVpcClassicLink",
                "ec2:DescribeVpcClassicLinkDnsSupport",
                "ec2:DescribeVpcEndpoints",
                "ec2:DescribeVpcs",
                "ec2:DetachInternetGateway",
                "ec2:DisassociateRouteTable",
                "ec2:GetConsoleOutput",
                "ec2:GetEbsDefaultKmsKeyId",
                "ec2:ModifyInstanceAttribute",
                "ec2:ModifyNetworkInterfaceAttribute",
                "ec2:ModifySubnetAttribute",
                "ec2:ModifyVpcAttribute",
                "ec2:ReleaseAddress",
                "ec2:ReplaceRouteTableAssociation",
                "ec2:RevokeSecurityGroupEgress",
                "ec2:RevokeSecurityGroupIngress",
                "ec2:RunInstances",
                "ec2:StartInstances",
                "ec2:StopInstances",
                "ec2:TerminateInstances",
                "elasticloadbalancing:AddTags",
                "elasticloadbalancing:ApplySecurityGroupsToLoadBalancer",
                "elasticloadbalancing:AttachLoadBalancerToSubnets",
                "elasticloadbalancing:ConfigureHealthCheck",
                "elasticloadbalancing:CreateListener",
                "elasticloadbalancing:CreateLoadBalancer",
                "elasticloadbalancing:CreateLoadBalancerListeners",
                "elasticloadbalancing:CreateTargetGroup",
                "elasticloadbalancing:DeleteLoadBalancer",
                "elasticloadbalancing:DeleteTargetGroup",
                "elasticloadbalancing:DeregisterInstancesFromLoadBalancer",
                "elasticloadbalancing:DeregisterTargets",
                "elasticloadbalancing:DescribeAccountLimits",
                "elasticloadbalancing:DescribeInstanceHealth",
                "elasticloadbalancing:DescribeListeners",
                "elasticloadbalancing:DescribeLoadBalancerAttributes",
                "elasticloadbalancing:DescribeLoadBalancers",
                "elasticloadbalancing:DescribeTags",
                "elasticloadbalancing:DescribeTargetGroupAttributes",
                "elasticloadbalancing:DescribeTargetGroups",
                "elasticloadbalancing:DescribeTargetHealth",
                "elasticloadbalancing:ModifyLoadBalancerAttributes",
                "elasticloadbalancing:ModifyTargetGroup",
                "elasticloadbalancing:ModifyTargetGroupAttributes",
                "elasticloadbalancing:RegisterInstancesWithLoadBalancer",
                "elasticloadbalancing:RegisterTargets",
                "elasticloadbalancing:SetLoadBalancerPoliciesOfListener",
                "elasticloadbalancing:SetSecurityGroups",
                "iam:AddRoleToInstanceProfile",
                "iam:CreateInstanceProfile",
                "iam:DeleteInstanceProfile",
                "iam:GetInstanceProfile",
                "iam:TagInstanceProfile",
                "iam:GetOpenIDConnectProvider",
                "iam:GetRole",
                "iam:GetRolePolicy",
                "iam:GetUser",
                "iam:ListAttachedRolePolicies",
                "iam:ListInstanceProfiles",
                "iam:ListInstanceProfilesForRole",
                "iam:ListRolePolicies",
                "iam:ListRoles",
                "iam:ListUserPolicies",
                "iam:ListUsers",
                "iam:PassRole",
                "iam:RemoveRoleFromInstanceProfile",
                "iam:SimulatePrincipalPolicy",
                "iam:TagRole",
                "iam:UntagRole",
                "route53:ChangeResourceRecordSets",
                "route53:ChangeTagsForResource",
                "route53:CreateHostedZone",
                "route53:DeleteHostedZone",
                "route53:GetAccountLimit",
                "route53:GetChange",
                "route53:GetHostedZone",
                "route53:ListHostedZones",
                "route53:ListHostedZonesByName",
                "route53:ListResourceRecordSets",
                "route53:ListTagsForResource",
                "route53:UpdateHostedZoneComment",
                "s3:CreateBucket",
                "s3:DeleteBucket",
                "s3:DeleteObject",
                "s3:DeleteObjectVersion",
                "s3:GetAccelerateConfiguration",
                "s3:GetBucketAcl",
                "s3:GetBucketCORS",
                "s3:GetBucketLocation",
                "s3:GetBucketLogging",
                "s3:GetBucketObjectLockConfiguration",
                "s3:GetBucketPolicy",
                "s3:GetBucketRequestPayment",
                "s3:GetBucketTagging",
                "s3:GetBucketVersioning",
                "s3:GetBucketWebsite",
                "s3:GetEncryptionConfiguration",
                "s3:GetLifecycleConfiguration",
                "s3:GetObject",
                "s3:GetObjectAcl",
                "s3:GetObjectTagging",
                "s3:GetObjectVersion",
                "s3:GetReplicationConfiguration",
                "s3:ListBucket",
                "s3:ListBucketVersions",
                "s3:PutBucketAcl",
                "s3:PutBucketPolicy",
                "s3:PutBucketTagging",
                "s3:PutBucketVersioning",
                "s3:PutEncryptionConfiguration",
                "s3:PutObject",
                "s3:PutObjectAcl",
                "s3:PutObjectTagging",
                "servicequotas:GetServiceQuota",
                "servicequotas:ListAWSDefaultServiceQuotas",
                "sts:AssumeRole",
                "sts:AssumeRoleWithWebIdentity",
                "sts:GetCallerIdentity",
                "tag:GetResources",
                "tag:UntagResources",
                "ec2:CreateVpcEndpointServiceConfiguration",
                "ec2:DeleteVpcEndpointServiceConfigurations",
                "ec2:DescribeVpcEndpointServiceConfigurations",
                "ec2:DescribeVpcEndpointServicePermissions",
                "ec2:DescribeVpcEndpointServices",
                "ec2:ModifyVpcEndpointServicePermissions",
                "kms:DescribeKey",
                "cloudwatch:GetMetricData"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/red-hat-managed": "true"
                }
            }
        }
    ]
}
Copy to Clipboard Toggle word wrap
Expand
표 3.4. ROSA 컨트롤 플레인 역할, 정책 및 정책 파일
리소스설명

ManagedOpenShift-ControlPlane-Role

ROSA 컨트롤 플레인에서 사용하는 IAM 역할입니다.

ManagedOpenShift-ControlPlane-Role-Policy

ROSA 컨트롤 플레인에 구성 요소를 관리하는 데 필요한 권한이 있는 IAM 정책입니다.

예 3.3. sts_instance_controlplane_trust_policy.json

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "ec2.amazonaws.com"
                ]
            },
            "Action": [
                "sts:AssumeRole"
            ]
        }
    ]
}
Copy to Clipboard Toggle word wrap

예 3.4. sts_instance_controlplane_permission_policy.json

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "ReadPermissions",
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeAvailabilityZones",
                "ec2:DescribeInstances",
                "ec2:DescribeRouteTables",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSubnets",
                "ec2:DescribeVpcs",
                "elasticloadbalancing:DescribeLoadBalancers",
                "elasticloadbalancing:DescribeLoadBalancerAttributes",
                "elasticloadbalancing:DescribeListeners",
                "elasticloadbalancing:DescribeTargetGroups",
                "elasticloadbalancing:DescribeTargetHealth",
                "elasticloadbalancing:DescribeLoadBalancerPolicies"
            ],
            "Resource": [
                "*"
            ]
        },
        {
          "Sid": "KMSDescribeKey",
          "Effect": "Allow",
          "Action": [
              "kms:DescribeKey"
          ],
          "Resource": [
              "*"
          ],
          "Condition": {
              "StringEquals": {
                  "aws:ResourceTag/red-hat": "true"
              }
          }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:AttachVolume",
                "ec2:AuthorizeSecurityGroupIngress",
                "ec2:CreateSecurityGroup",
                "ec2:CreateTags",
                "ec2:CreateVolume",
                "ec2:DeleteSecurityGroup",
                "ec2:DeleteVolume",
                "ec2:DetachVolume",
                "ec2:ModifyInstanceAttribute",
                "ec2:ModifyVolume",
                "ec2:RevokeSecurityGroupIngress",
                "elasticloadbalancing:AddTags",
                "elasticloadbalancing:AttachLoadBalancerToSubnets",
                "elasticloadbalancing:ApplySecurityGroupsToLoadBalancer",
                "elasticloadbalancing:CreateListener",
                "elasticloadbalancing:CreateLoadBalancer",
                "elasticloadbalancing:CreateLoadBalancerPolicy",
                "elasticloadbalancing:CreateLoadBalancerListeners",
                "elasticloadbalancing:CreateTargetGroup",
                "elasticloadbalancing:ConfigureHealthCheck",
                "elasticloadbalancing:DeleteListener",
                "elasticloadbalancing:DeleteLoadBalancer",
                "elasticloadbalancing:DeleteLoadBalancerListeners",
                "elasticloadbalancing:DeleteTargetGroup",
                "elasticloadbalancing:DeregisterInstancesFromLoadBalancer",
                "elasticloadbalancing:DeregisterTargets",
                "elasticloadbalancing:DetachLoadBalancerFromSubnets",
                "elasticloadbalancing:ModifyListener",
                "elasticloadbalancing:ModifyLoadBalancerAttributes",
                "elasticloadbalancing:ModifyTargetGroup",
                "elasticloadbalancing:ModifyTargetGroupAttributes",
                "elasticloadbalancing:RegisterInstancesWithLoadBalancer",
                "elasticloadbalancing:RegisterTargets",
                "elasticloadbalancing:SetLoadBalancerPoliciesForBackendServer",
                "elasticloadbalancing:SetLoadBalancerPoliciesOfListener"
            ],
            "Resource": "*"
        }
    ]
}
Copy to Clipboard Toggle word wrap
Expand
표 3.5. ROSA 컴퓨팅 노드 역할, 정책 및 정책 파일
리소스설명

ManagedOpenShift-Worker-Role

ROSA 컴퓨팅 인스턴스에서 사용하는 IAM 역할입니다.

ManagedOpenShift-Worker-Role-Policy

ROSA 컴퓨팅 인스턴스에 구성 요소를 관리하는 데 필요한 권한을 제공하는 IAM 정책입니다.

예 3.5. sts_instance_worker_trust_policy.json

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "ec2.amazonaws.com"
                ]
            },
            "Action": [
                "sts:AssumeRole"
            ]
        }
    ]
}
Copy to Clipboard Toggle word wrap

예 3.6. sts_instance_worker_permission_policy.json

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeInstances",
                "ec2:DescribeRegions"
            ],
            "Resource": "*"
        }
    ]
}
Copy to Clipboard Toggle word wrap
Expand
표 3.6. ROSA 지원 역할, 정책 및 정책 파일
리소스설명

ManagedOpenShift-Support-Role

Red Hat 사이트 안정성 엔지니어링 (SRE) 지원 팀에서 사용하는 IAM 역할입니다.

ManagedOpenShift-Support-Role-Policy

ROSA 클러스터를 지원하는 데 필요한 권한을 Red Hat SRE 지원 팀에 제공하는 IAM 정책입니다.

예 3.7. sts_support_trust_policy.json

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::%{aws_account_id}:role/RH-Technical-Support-Access"
                ]
            },
            "Action": [
                "sts:AssumeRole"
            ]
        }
    ]
}
Copy to Clipboard Toggle word wrap

예 3.8. sts_support_permission_policy.json

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "cloudtrail:DescribeTrails",
                "cloudtrail:LookupEvents",
                "cloudwatch:GetMetricData",
                "cloudwatch:GetMetricStatistics",
                "cloudwatch:ListMetrics",
                "ec2-instance-connect:SendSerialConsoleSSHPublicKey",
                "ec2:CopySnapshot",
                "ec2:CreateNetworkInsightsPath",
                "ec2:CreateSnapshot",
                "ec2:CreateSnapshots",
                "ec2:CreateTags",
                "ec2:DeleteNetworkInsightsAnalysis",
                "ec2:DeleteNetworkInsightsPath",
                "ec2:DeleteTags",
                "ec2:DescribeAccountAttributes",
                "ec2:DescribeAddresses",
                "ec2:DescribeAddressesAttribute",
                "ec2:DescribeAggregateIdFormat",
                "ec2:DescribeAvailabilityZones",
                "ec2:DescribeByoipCidrs",
                "ec2:DescribeCapacityReservations",
                "ec2:DescribeCarrierGateways",
                "ec2:DescribeClassicLinkInstances",
                "ec2:DescribeClientVpnAuthorizationRules",
                "ec2:DescribeClientVpnConnections",
                "ec2:DescribeClientVpnEndpoints",
                "ec2:DescribeClientVpnRoutes",
                "ec2:DescribeClientVpnTargetNetworks",
                "ec2:DescribeCoipPools",
                "ec2:DescribeCustomerGateways",
                "ec2:DescribeDhcpOptions",
                "ec2:DescribeEgressOnlyInternetGateways",
                "ec2:DescribeIamInstanceProfileAssociations",
                "ec2:DescribeIdentityIdFormat",
                "ec2:DescribeIdFormat",
                "ec2:DescribeImageAttribute",
                "ec2:DescribeImages",
                "ec2:DescribeInstanceAttribute",
                "ec2:DescribeInstances",
                "ec2:DescribeInstanceStatus",
                "ec2:DescribeInstanceTypeOfferings",
                "ec2:DescribeInstanceTypes",
                "ec2:DescribeInternetGateways",
                "ec2:DescribeIpv6Pools",
                "ec2:DescribeKeyPairs",
                "ec2:DescribeLaunchTemplates",
                "ec2:DescribeLocalGatewayRouteTables",
                "ec2:DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations",
                "ec2:DescribeLocalGatewayRouteTableVpcAssociations",
                "ec2:DescribeLocalGateways",
                "ec2:DescribeLocalGatewayVirtualInterfaceGroups",
                "ec2:DescribeLocalGatewayVirtualInterfaces",
                "ec2:DescribeManagedPrefixLists",
                "ec2:DescribeNatGateways",
                "ec2:DescribeNetworkAcls",
                "ec2:DescribeNetworkInsightsAnalyses",
                "ec2:DescribeNetworkInsightsPaths",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DescribePlacementGroups",
                "ec2:DescribePrefixLists",
                "ec2:DescribePrincipalIdFormat",
                "ec2:DescribePublicIpv4Pools",
                "ec2:DescribeRegions",
                "ec2:DescribeReservedInstances",
                "ec2:DescribeRouteTables",
                "ec2:DescribeScheduledInstances",
                "ec2:DescribeSecurityGroupReferences",
                "ec2:DescribeSecurityGroupRules",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSnapshotAttribute",
                "ec2:DescribeSnapshots",
                "ec2:DescribeSpotFleetInstances",
                "ec2:DescribeStaleSecurityGroups",
                "ec2:DescribeSubnets",
                "ec2:DescribeTags",
                "ec2:DescribeTransitGatewayAttachments",
                "ec2:DescribeTransitGatewayConnectPeers",
                "ec2:DescribeTransitGatewayConnects",
                "ec2:DescribeTransitGatewayMulticastDomains",
                "ec2:DescribeTransitGatewayPeeringAttachments",
                "ec2:DescribeTransitGatewayRouteTables",
                "ec2:DescribeTransitGateways",
                "ec2:DescribeTransitGatewayVpcAttachments",
                "ec2:DescribeVolumeAttribute",
                "ec2:DescribeVolumes",
                "ec2:DescribeVolumesModifications",
                "ec2:DescribeVolumeStatus",
                "ec2:DescribeVpcAttribute",
                "ec2:DescribeVpcClassicLink",
                "ec2:DescribeVpcClassicLinkDnsSupport",
                "ec2:DescribeVpcEndpointConnectionNotifications",
                "ec2:DescribeVpcEndpointConnections",
                "ec2:DescribeVpcEndpoints",
                "ec2:DescribeVpcEndpointServiceConfigurations",
                "ec2:DescribeVpcEndpointServicePermissions",
                "ec2:DescribeVpcEndpointServices",
                "ec2:DescribeVpcPeeringConnections",
                "ec2:DescribeVpcs",
                "ec2:DescribeVpnConnections",
                "ec2:DescribeVpnGateways",
                "ec2:GetAssociatedIpv6PoolCidrs",
                "ec2:GetConsoleOutput",
                "ec2:GetManagedPrefixListEntries",
                "ec2:GetSerialConsoleAccessStatus",
                "ec2:GetTransitGatewayAttachmentPropagations",
                "ec2:GetTransitGatewayMulticastDomainAssociations",
                "ec2:GetTransitGatewayPrefixListReferences",
                "ec2:GetTransitGatewayRouteTableAssociations",
                "ec2:GetTransitGatewayRouteTablePropagations",
                "ec2:ModifyInstanceAttribute",
                "ec2:RebootInstances",
                "ec2:RunInstances",
                "ec2:SearchLocalGatewayRoutes",
                "ec2:SearchTransitGatewayMulticastGroups",
                "ec2:SearchTransitGatewayRoutes",
                "ec2:StartInstances",
                "ec2:StartNetworkInsightsAnalysis",
                "ec2:StopInstances",
                "ec2:TerminateInstances",
                "elasticloadbalancing:ConfigureHealthCheck",
                "elasticloadbalancing:DescribeAccountLimits",
                "elasticloadbalancing:DescribeInstanceHealth",
                "elasticloadbalancing:DescribeListenerCertificates",
                "elasticloadbalancing:DescribeListeners",
                "elasticloadbalancing:DescribeLoadBalancerAttributes",
                "elasticloadbalancing:DescribeLoadBalancerPolicies",
                "elasticloadbalancing:DescribeLoadBalancerPolicyTypes",
                "elasticloadbalancing:DescribeLoadBalancers",
                "elasticloadbalancing:DescribeRules",
                "elasticloadbalancing:DescribeSSLPolicies",
                "elasticloadbalancing:DescribeTags",
                "elasticloadbalancing:DescribeTargetGroupAttributes",
                "elasticloadbalancing:DescribeTargetGroups",
                "elasticloadbalancing:DescribeTargetHealth",
                "iam:GetRole",
                "iam:ListRoles",
                "kms:CreateGrant",
                "route53:GetHostedZone",
                "route53:GetHostedZoneCount",
                "route53:ListHostedZones",
                "route53:ListHostedZonesByName",
                "route53:ListResourceRecordSets",
                "s3:GetBucketTagging",
                "s3:GetObjectAcl",
                "s3:GetObjectTagging",
                "s3:ListAllMyBuckets",
                "sts:DecodeAuthorizationMessage",
                "tiros:CreateQuery",
                "tiros:GetQueryAnswer",
                "tiros:GetQueryExplanation"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::managed-velero*",
                "arn:aws:s3:::*image-registry*"
            ]
        }
    ]
}
Copy to Clipboard Toggle word wrap
Expand
표 3.7. ROSA OCM 역할 및 정책 파일
리소스설명

ManagedOpenShift-OCM-Role

이 IAM 역할을 사용하여 OpenShift Cluster Manager에서 ROSA 클러스터를 생성하고 유지 관리합니다.

예 3.9. sts_ocm_role_trust_policy.json

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": [
          "arn:aws:iam::%{aws_account_id}:role/RH-Managed-OpenShift-Installer"
        ]
      },
      "Action": [
        "sts:AssumeRole"
      ],
      "Condition": {"StringEquals": {"sts:ExternalId": "%{ocm_organization_id}"}}
    }
  ]
}
Copy to Clipboard Toggle word wrap
Expand
표 3.8. ROSA 사용자 역할 및 정책 파일
리소스설명

ManagedOpenShift-User-<OCM_user>-Role

Red Hat이 고객의 AWS ID를 확인하는 데 사용하는 IAM 역할입니다.

예 3.10. sts_user_role_trust_policy.json

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::%{aws_account_id}:role/RH-Managed-OpenShift-Installer"
                ]
            },
            "Action": [
                "sts:AssumeRole"
            ]
        }
    ]
}
Copy to Clipboard Toggle word wrap
3.2.1.2.1. 역할에 연결된 정책의 CLI 출력 예

정책이 역할에 연결되면 ROSA CLI에 확인 출력이 표시됩니다. 출력은 정책 유형에 따라 다릅니다.

  • 정책이 신뢰 정책인 경우 ROSA CLI는 역할 이름과 정책 콘텐츠를 출력합니다.

    • 정책이 연결된 대상 역할의 경우 ROSA CLI는 대상 역할의 역할 이름과 콘솔 URL을 출력합니다.

      정책이 연결된 대상 역할 예제 출력

      I: Attached trust policy to role 'testrole-Worker-Role(https://console.aws.amazon.com/iam/home?#/roles/testrole-Worker-Role)': ******************
      Copy to Clipboard Toggle word wrap

    • 연결된 정책이 신뢰 정책인 경우 ROSA CLI는 이 정책의 콘텐츠를 출력합니다.

      신뢰 정책 예제 출력

      I: Attached trust policy to role 'test-Support-Role': {"Version": "2012-10-17", "Statement": [{"Action": ["sts:AssumeRole"], "Effect": "Allow", "Principal": {"AWS": ["arn:aws:iam::000000000000:role/RH-Technical-Support-00000000"]}}]}
      Copy to Clipboard Toggle word wrap

  • 정책이 권한 정책인 경우 ROSA CLI는 정책이 AWS 관리 정책 또는 고객 관리 정책인지 여부에 따라 이 정책의 이름 및 공용 링크를 출력합니다.

    • 연결된 정책이 AWS 관리 정책인 경우 ROSA CLI는 이 정책의 이름과 공용 링크와 연결된 역할을 출력합니다.

      AWS 관리 정책 예제 출력

      I: Attached policy 'ROSASRESupportPolicy(https://docs.aws.amazon.com/aws-managed-policy/latest/reference/ROSASRESupportPolicy)' to role 'test-HCP-ROSA-Support-Role(https://console.aws.amazon.com/iam/home?#/roles/test-HCP-ROSA-Support-Role)'
      Copy to Clipboard Toggle word wrap

    • 연결된 정책이 AWS 관리 정책인 경우 ROSA CLI는 이 정책의 이름과 공용 링크와 연결된 역할을 출력합니다.

      고객 관리 정책 예제 출력

      I: Attached policy 'arn:aws:iam::000000000000:policy/testrole-Worker-Role-Policy' to role 'testrole-Worker-Role(https://console.aws.amazon.com/iam/home?#/roles/testrole-Worker-Role)'
      Copy to Clipboard Toggle word wrap

Expand
표 3.9. ROSA Ingress Operator IAM 정책 및 정책 파일
리소스설명

ManagedOpenShift-openshift-ingress-operator-cloud-credentials

ROSA Ingress Operator에 클러스터에 대한 외부 액세스를 관리하는 데 필요한 권한을 제공하는 IAM 정책입니다.

예 3.11. openshift_ingress_operator_cloud_credentials_policy.json

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "elasticloadbalancing:DescribeLoadBalancers",
        "route53:ListHostedZones",
        "route53:ListTagsForResources",
        "route53:ChangeResourceRecordSets",
        "tag:GetResources"
      ],
      "Resource": "*"
    }
  ]
}
Copy to Clipboard Toggle word wrap
Expand
표 3.10. ROSA 백엔드 스토리지 IAM 정책 및 정책 파일
리소스설명

ManagedOpenShift-openshift-cluster-csi-drivers-ebs-cloud-credentials

CSI(Container Storage Interface)를 통해 백엔드 스토리지를 관리하는 데 ROSA에 필요한 IAM 정책입니다.

예 3.12. openshift_cluster_csi_drivers_ebs_cloud_credentials_policy.json

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:AttachVolume",
        "ec2:CreateSnapshot",
        "ec2:CreateTags",
        "ec2:CreateVolume",
        "ec2:DeleteSnapshot",
        "ec2:DeleteTags",
        "ec2:DeleteVolume",
        "ec2:DescribeAvailabilityZones",
        "ec2:DescribeInstances",
        "ec2:DescribeSnapshots",
        "ec2:DescribeTags",
        "ec2:DescribeVolumes",
        "ec2:DescribeVolumesModifications",
        "ec2:DetachVolume",
        "ec2:EnableFastSnapshotRestores",
        "ec2:ModifyVolume"
      ],
      "Resource": "*"
    }
  ]
}
Copy to Clipboard Toggle word wrap
Expand
표 3.11. ROSA Machine Config Operator 정책 및 정책 파일
리소스설명

ManagedOpenShift-openshift-machine-api-aws-cloud-credentials

ROSA Machine Config Operator에 핵심 클러스터 기능을 수행하는 데 필요한 권한을 제공하는 IAM 정책입니다.

예 3.13. openshift_machine_api_aws_cloud_credentials_policy.json

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:CreateTags",
        "ec2:DescribeAvailabilityZones",
        "ec2:DescribeDhcpOptions",
        "ec2:DescribeImages",
        "ec2:DescribeInstances",
        "ec2:DescribeInternetGateways",
        "ec2:DescribeInstanceTypes",
        "ec2:DescribeSecurityGroups",
        "ec2:DescribeRegions",
        "ec2:DescribeSubnets",
        "ec2:DescribeVpcs",
        "ec2:RunInstances",
        "ec2:TerminateInstances",
        "elasticloadbalancing:DescribeLoadBalancers",
        "elasticloadbalancing:DescribeTargetGroups",
        "elasticloadbalancing:DescribeTargetHealth",
        "elasticloadbalancing:RegisterInstancesWithLoadBalancer",
        "elasticloadbalancing:RegisterTargets",
        "elasticloadbalancing:DeregisterTargets",
        "iam:PassRole",
        "iam:CreateServiceLinkedRole"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "kms:ReEncrypt*",
        "kms:Decrypt",
        "kms:Encrypt",
        "kms:GenerateDataKey",
        "kms:GenerateDataKeyWithoutPlainText",
        "kms:DescribeKey"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "kms:RevokeGrant",
        "kms:CreateGrant",
        "kms:ListGrants"
      ],
      "Resource": "*",
      "Condition": {
        "Bool": {
          "kms:GrantIsForAWSResource": true
        }
      }
    }
  ]
}
Copy to Clipboard Toggle word wrap
Expand
표 3.12. ROSA Cloud Credential Operator 정책 및 정책 파일
리소스설명

ManagedOpenShift-openshift-cloud-credential-operator-cloud-credentials

ROSA Cloud Credential Operator에 클라우드 공급자 인증 정보를 관리하는 데 필요한 권한이 있는 IAM 정책입니다.

예 3.14. openshift_cloud_credential_operator_cloud_credential_operator_iam_ro_creds_policy.json

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "iam:GetUser",
        "iam:GetUserPolicy",
        "iam:ListAccessKeys"
      ],
      "Resource": "*"
    }
  ]
}
Copy to Clipboard Toggle word wrap
Expand
표 3.13. ROSA Image Registry Operator 정책 및 정책 파일
리소스설명

ManagedOpenShift-openshift-image-registry-installer-cloud-credentials

ROSA Image Registry Operator에 클러스터의 AWS S3에서 OpenShift 이미지 레지스트리 스토리지를 관리하는 데 필요한 권한을 제공하는 IAM 정책입니다.

예 3.15. openshift_image_registry_installer_cloud_credentials_policy.json

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:CreateBucket",
        "s3:DeleteBucket",
        "s3:PutBucketTagging",
        "s3:GetBucketTagging",
        "s3:PutBucketPublicAccessBlock",
        "s3:GetBucketPublicAccessBlock",
        "s3:PutEncryptionConfiguration",
        "s3:GetEncryptionConfiguration",
        "s3:PutLifecycleConfiguration",
        "s3:GetLifecycleConfiguration",
        "s3:GetBucketLocation",
        "s3:ListBucket",
        "s3:GetObject",
        "s3:PutObject",
        "s3:DeleteObject",
        "s3:ListBucketMultipartUploads",
        "s3:AbortMultipartUpload",
        "s3:ListMultipartUploadParts"
      ],
      "Resource": "*"
    }
  ]
}
Copy to Clipboard Toggle word wrap

3.2.2. 계정 전체 IAM 역할 및 정책 AWS CLI 참조

이 섹션에는 rosa 명령이 터미널에 생성하는 aws CLI 명령이 나열됩니다. 수동 또는 자동 모드에서 명령을 실행할 수 있습니다.

3.2.2.1. 계정 역할 생성에 수동 모드 사용

수동 역할 생성 모드는 검토 및 실행할 aws 명령을 생성합니다. 다음 명령은 해당 프로세스를 시작합니다. 여기서 < openshift_version >은 AWS 클래식 아키텍처(ROSA)의 Red Hat OpenShift Service 버전을 4 와 같은 것입니다.

$ rosa create account-roles --mode manual
Copy to Clipboard Toggle word wrap
참고

제공된 명령 예제에는 ManagedOpenShift 접두사가 포함되어 있습니다. --prefix 옵션을 사용하여 사용자 지정 접두사를 지정하지 않는 경우 Managed OpenShift 접두사는 기본값입니다.

명령 출력

aws iam create-role \
	--role-name ManagedOpenShift-Installer-Role \
	--assume-role-policy-document file://sts_installer_trust_policy.json \
	--tags Key=rosa_openshift_version,Value=<openshift_version> Key=rosa_role_prefix,Value=ManagedOpenShift Key=rosa_role_type,Value=installer

aws iam put-role-policy \
	--role-name ManagedOpenShift-Installer-Role \
	--policy-name ManagedOpenShift-Installer-Role-Policy \
	--policy-document file://sts_installer_permission_policy.json

aws iam create-role \
	--role-name ManagedOpenShift-ControlPlane-Role \
	--assume-role-policy-document file://sts_instance_controlplane_trust_policy.json \
	--tags Key=rosa_openshift_version,Value=<openshift_version> Key=rosa_role_prefix,Value=ManagedOpenShift Key=rosa_role_type,Value=instance_controlplane

aws iam put-role-policy \
	--role-name ManagedOpenShift-ControlPlane-Role \
	--policy-name ManagedOpenShift-ControlPlane-Role-Policy \
	--policy-document file://sts_instance_controlplane_permission_policy.json

aws iam create-role \
	--role-name ManagedOpenShift-Worker-Role \
	--assume-role-policy-document file://sts_instance_worker_trust_policy.json \
	--tags Key=rosa_openshift_version,Value=<openshift_version> Key=rosa_role_prefix,Value=ManagedOpenShift Key=rosa_role_type,Value=instance_worker

aws iam put-role-policy \
	--role-name ManagedOpenShift-Worker-Role \
	--policy-name ManagedOpenShift-Worker-Role-Policy \
	--policy-document file://sts_instance_worker_permission_policy.json

aws iam create-role \
	--role-name ManagedOpenShift-Support-Role \
	--assume-role-policy-document file://sts_support_trust_policy.json \
	--tags Key=rosa_openshift_version,Value=<openshift_version> Key=rosa_role_prefix,Value=ManagedOpenShift Key=rosa_role_type,Value=support

aws iam put-role-policy \
	--role-name ManagedOpenShift-Support-Role \
	--policy-name ManagedOpenShift-Support-Role-Policy \
	--policy-document file://sts_support_permission_policy.json

aws iam create-policy \
	--policy-name ManagedOpenShift-openshift-ingress-operator-cloud-credentials \
	--policy-document file://openshift_ingress_operator_cloud_credentials_policy.json \
	--tags Key=rosa_openshift_version,Value=<openshift_version> Key=rosa_role_prefix,Value=ManagedOpenShift Key=operator_namespace,Value=openshift-ingress-operator Key=operator_name,Value=cloud-credentials

aws iam create-policy \
	--policy-name ManagedOpenShift-openshift-cluster-csi-drivers-ebs-cloud-credent \
	--policy-document file://openshift_cluster_csi_drivers_ebs_cloud_credentials_policy.json \
	--tags Key=rosa_openshift_version,Value=<openshift_version> Key=rosa_role_prefix,Value=ManagedOpenShift Key=operator_namespace,Value=openshift-cluster-csi-drivers Key=operator_name,Value=ebs-cloud-credentials

aws iam create-policy \
	--policy-name ManagedOpenShift-openshift-machine-api-aws-cloud-credentials \
	--policy-document file://openshift_machine_api_aws_cloud_credentials_policy.json \
	--tags Key=rosa_openshift_version,Value=<openshift_version> Key=rosa_role_prefix,Value=ManagedOpenShift Key=operator_namespace,Value=openshift-machine-api Key=operator_name,Value=aws-cloud-credentials

aws iam create-policy \
	--policy-name ManagedOpenShift-openshift-cloud-credential-operator-cloud-crede \
	--policy-document file://openshift_cloud_credential_operator_cloud_credential_operator_iam_ro_creds_policy.json \
	--tags Key=rosa_openshift_version,Value=<openshift_version> Key=rosa_role_prefix,Value=ManagedOpenShift Key=operator_namespace,Value=openshift-cloud-credential-operator Key=operator_name,Value=cloud-credential-operator-iam-ro-creds

aws iam create-policy \
	--policy-name ManagedOpenShift-openshift-image-registry-installer-cloud-creden \
	--policy-document file://openshift_image_registry_installer_cloud_credentials_policy.json \
	--tags Key=rosa_openshift_version,Value=<openshift_version> Key=rosa_role_prefix,Value=ManagedOpenShift Key=operator_namespace,Value=openshift-image-registry Key=operator_name,Value=installer-cloud-credentials
Copy to Clipboard Toggle word wrap

3.2.2.2. 역할 생성에 자동 모드 사용

--mode 자동 인수를 추가하면 AWS 클래식 아키텍처(ROSA) CLI의 Red Hat OpenShift Service가 역할 및 정책을 생성합니다. 다음 명령은 해당 프로세스를 시작합니다.

$ rosa create account-roles --mode auto
Copy to Clipboard Toggle word wrap
참고

제공된 명령 예제에는 ManagedOpenShift 접두사가 포함되어 있습니다. --prefix 옵션을 사용하여 사용자 지정 접두사를 지정하지 않는 경우 Managed OpenShift 접두사는 기본값입니다.

명령 출력

I: Creating roles using 'arn:aws:iam::<ARN>:user/<UserID>'
? Create the 'ManagedOpenShift-Installer-Role' role? Yes
I: Created role 'ManagedOpenShift-Installer-Role' with ARN 'arn:aws:iam::<ARN>:role/ManagedOpenShift-Installer-Role'
? Create the 'ManagedOpenShift-ControlPlane-Role' role? Yes
I: Created role 'ManagedOpenShift-ControlPlane-Role' with ARN 'arn:aws:iam::<ARN>:role/ManagedOpenShift-ControlPlane-Role'
? Create the 'ManagedOpenShift-Worker-Role' role? Yes
I: Created role 'ManagedOpenShift-Worker-Role' with ARN 'arn:aws:iam::<ARN>:role/ManagedOpenShift-Worker-Role'
? Create the 'ManagedOpenShift-Support-Role' role? Yes
I: Created role 'ManagedOpenShift-Support-Role' with ARN 'arn:aws:iam::<ARN>:role/ManagedOpenShift-Support-Role'
? Create the operator policies? Yes
I: Created policy with ARN 'arn:aws:iam::<ARN>:policy/ManagedOpenShift-openshift-machine-api-aws-cloud-credentials'
I: Created policy with ARN 'arn:aws:iam::<ARN>:policy/ManagedOpenShift-openshift-cloud-credential-operator-cloud-crede'
I: Created policy with ARN 'arn:aws:iam::<ARN>:policy/ManagedOpenShift-openshift-image-registry-installer-cloud-creden'
I: Created policy with ARN 'arn:aws:iam::<ARN>:policy/ManagedOpenShift-openshift-ingress-operator-cloud-credentials'
I: Created policy with ARN 'arn:aws:iam::<ARN>:policy/ManagedOpenShift-openshift-cluster-csi-drivers-ebs-cloud-credent'
I: Created policy with ARN 'arn:aws:iam::<ARN>:policy/ManagedOpenShift-openshift-cloud-network-config-controller-cloud'
I: To create a cluster with these roles, run the following command:
rosa create cluster --sts
Copy to Clipboard Toggle word wrap

3.3. 설치 프로그램 역할의 권한 경계

설치 프로그램 역할의 권한 경계 로 정책을 적용할 수 있습니다. AWS 관리 정책 또는 고객 관리 정책을 사용하여 AWS(Amazon Web Services) Identity and Access Management(IAM) 엔터티(사용자 또는 역할의 경계를 설정할 수 있습니다. 정책 및 경계 정책의 조합은 사용자 또는 역할의 최대 권한을 제한합니다. AWS 클래식 아키텍처의 Red Hat OpenShift Service에는 설치 프로그램 정책 자체를 변경하는 것은 지원되지 않으므로 설치 관리자 역할에 대한 권한을 제한할 수 있는 세 가지 준비 권한 경계 정책 파일이 포함되어 있습니다.

참고

이 기능은 ROSA(classic) 클러스터에서만 지원됩니다.

권한 경계 정책 파일은 다음과 같습니다.

  • Core boundary 정책 파일에는 ROSA 설치 관리자가 AWS 클래식 아키텍처 클러스터에 Red Hat OpenShift Service를 설치하는 데 필요한 최소 권한이 포함되어 있습니다. 설치 프로그램에 가상 프라이빗 클라우드(VPC) 또는 PrivateLink(PL)를 생성할 수 있는 권한이 없습니다. VPC를 제공해야 합니다.
  • VPC 경계 정책 파일에는 VPC를 생성/관리하기 위해 AWS 클래식 아키텍처 설치 프로그램의 Red Hat OpenShift Service에 필요한 최소 권한이 포함되어 있습니다. PL 또는 코어 설치에 대한 권한은 포함되지 않습니다. 설치 프로그램이 클러스터를 설치하고 VPC를 생성/관리할 수 있는 충분한 권한이 있는 클러스터를 설치해야 하지만 PL을 설정할 필요는 없는 경우 설치 프로그램 역할과 함께 코어 및 VPC 경계 파일을 사용합니다.
  • PrivateLink(PL) 경계 정책 파일에는 클러스터를 사용하여 AWS PL을 생성하는 데 AWS 클래식 아키텍처 설치 관리자의 Red Hat OpenShift Service에 필요한 최소 권한이 포함되어 있습니다. VPC 또는 코어 설치에 대한 권한은 포함되지 않습니다. 설치 중에 모든 PL 클러스터에 미리 생성된 VPC를 제공합니다.

권한 경계 정책 파일을 사용하는 경우 다음 조합이 적용됩니다.

  • 권한 경계 정책은 전체 설치 프로그램 정책 권한이 클러스터에 적용됨을 의미합니다.
  • core 는 설치 프로그램 역할에 대해 가장 제한된 권한만 설정합니다. VPC 및 PL 권한은 Core 전용 경계 정책에 포함되지 않습니다.

    • 설치 관리자는 VPC 또는 PL을 생성하거나 관리할 수 없습니다.
    • 고객 제공 VPC가 있어야 하며 PrivateLink(PL)를 사용할 수 없습니다.
  • Core + VPC 는 설치 프로그램 역할의 코어 및 VPC 권한을 설정합니다.

    • 설치 관리자는 PL을 생성하거나 관리할 수 없습니다.
    • 사용자 지정/BYO-VPC를 사용하지 않는 것으로 가정합니다.
    • 설치 프로그램이 VPC를 생성하고 관리한다고 가정합니다.
  • Core + PrivateLink (PL) 는 설치 프로그램이 PL 인프라를 프로비저닝할 수 있음을 의미합니다.

    • 고객 제공 VPC가 있어야 합니다.
    • PL이 있는 프라이빗 클러스터용입니다.

이 예제 절차는 AWS 클래식 아키텍처의 Red Hat OpenShift Service에 대한 코어 설치 관리자 권한 경계 정책만 사용하여 권한 제한이 가장 큰 설치 프로그램 역할 및 정책에 적용할 수 있습니다. AWS 콘솔 또는 AWS CLI로 이 작업을 완료할 수 있습니다. 이 예에서는 AWS CLI 및 다음 정책을 사용합니다.

예 3.16. sts_installer_core_permission_boundary_policy.json

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
		    "autoscaling:DescribeAutoScalingGroups",
		    "ec2:AllocateAddress",
		    "ec2:AssociateAddress",
		    "ec2:AttachNetworkInterface",
		    "ec2:AuthorizeSecurityGroupEgress",
		    "ec2:AuthorizeSecurityGroupIngress",
		    "ec2:CopyImage",
		    "ec2:CreateNetworkInterface",
		    "ec2:CreateSecurityGroup",
		    "ec2:CreateTags",
		    "ec2:CreateVolume",
		    "ec2:DeleteNetworkInterface",
		    "ec2:DeleteSecurityGroup",
		    "ec2:DeleteSnapshot",
		    "ec2:DeleteTags",
		    "ec2:DeleteVolume",
		    "ec2:DeregisterImage",
		    "ec2:DescribeAccountAttributes",
		    "ec2:DescribeAddresses",
		    "ec2:DescribeAvailabilityZones",
		    "ec2:DescribeDhcpOptions",
		    "ec2:DescribeImages",
		    "ec2:DescribeInstanceAttribute",
		    "ec2:DescribeInstanceCreditSpecifications",
		    "ec2:DescribeInstances",
		    "ec2:DescribeInstanceStatus",
		    "ec2:DescribeInstanceTypeOfferings",
		    "ec2:DescribeInstanceTypes",
		    "ec2:DescribeInternetGateways",
		    "ec2:DescribeKeyPairs",
		    "ec2:DescribeNatGateways",
		    "ec2:DescribeNetworkAcls",
		    "ec2:DescribeNetworkInterfaces",
		    "ec2:DescribePrefixLists",
		    "ec2:DescribeRegions",
		    "ec2:DescribeReservedInstancesOfferings",
		    "ec2:DescribeRouteTables",
		    "ec2:DescribeSecurityGroups",
		    "ec2:DescribeSecurityGroupRules",
		    "ec2:DescribeSubnets",
		    "ec2:DescribeTags",
		    "ec2:DescribeVolumes",
		    "ec2:DescribeVpcAttribute",
		    "ec2:DescribeVpcClassicLink",
		    "ec2:DescribeVpcClassicLinkDnsSupport",
		    "ec2:DescribeVpcEndpoints",
		    "ec2:DescribeVpcs",
		    "ec2:GetConsoleOutput",
		    "ec2:GetEbsDefaultKmsKeyId",
		    "ec2:ModifyInstanceAttribute",
		    "ec2:ModifyNetworkInterfaceAttribute",
		    "ec2:ReleaseAddress",
		    "ec2:RevokeSecurityGroupEgress",
		    "ec2:RevokeSecurityGroupIngress",
		    "ec2:RunInstances",
		    "ec2:StartInstances",
		    "ec2:StopInstances",
		    "ec2:TerminateInstances",
		    "elasticloadbalancing:AddTags",
		    "elasticloadbalancing:ApplySecurityGroupsToLoadBalancer",
		    "elasticloadbalancing:AttachLoadBalancerToSubnets",
		    "elasticloadbalancing:ConfigureHealthCheck",
		    "elasticloadbalancing:CreateListener",
		    "elasticloadbalancing:CreateLoadBalancer",
		    "elasticloadbalancing:CreateLoadBalancerListeners",
		    "elasticloadbalancing:CreateTargetGroup",
		    "elasticloadbalancing:DeleteLoadBalancer",
		    "elasticloadbalancing:DeleteTargetGroup",
		    "elasticloadbalancing:DeregisterInstancesFromLoadBalancer",
		    "elasticloadbalancing:DeregisterTargets",
		    "elasticloadbalancing:DescribeInstanceHealth",
		    "elasticloadbalancing:DescribeListeners",
		    "elasticloadbalancing:DescribeLoadBalancerAttributes",
		    "elasticloadbalancing:DescribeLoadBalancers",
		    "elasticloadbalancing:DescribeTags",
		    "elasticloadbalancing:DescribeTargetGroupAttributes",
		    "elasticloadbalancing:DescribeTargetGroups",
		    "elasticloadbalancing:DescribeTargetHealth",
		    "elasticloadbalancing:ModifyLoadBalancerAttributes",
		    "elasticloadbalancing:ModifyTargetGroup",
		    "elasticloadbalancing:ModifyTargetGroupAttributes",
		    "elasticloadbalancing:RegisterInstancesWithLoadBalancer",
		    "elasticloadbalancing:RegisterTargets",
		    "elasticloadbalancing:SetLoadBalancerPoliciesOfListener",
		    "elasticloadbalancing:SetSecurityGroups",
		    "iam:AddRoleToInstanceProfile",
		    "iam:CreateInstanceProfile",
		    "iam:DeleteInstanceProfile",
		    "iam:GetInstanceProfile",
		    "iam:TagInstanceProfile",
		    "iam:GetRole",
		    "iam:GetRolePolicy",
		    "iam:GetUser",
		    "iam:ListAttachedRolePolicies",
		    "iam:ListInstanceProfiles",
		    "iam:ListInstanceProfilesForRole",
		    "iam:ListRolePolicies",
		    "iam:ListRoles",
		    "iam:ListUserPolicies",
		    "iam:ListUsers",
		    "iam:PassRole",
		    "iam:RemoveRoleFromInstanceProfile",
		    "iam:SimulatePrincipalPolicy",
		    "iam:TagRole",
		    "iam:UntagRole",
		    "route53:ChangeResourceRecordSets",
		    "route53:ChangeTagsForResource",
		    "route53:CreateHostedZone",
		    "route53:DeleteHostedZone",
		    "route53:GetAccountLimit",
		    "route53:GetChange",
		    "route53:GetHostedZone",
		    "route53:ListHostedZones",
		    "route53:ListHostedZonesByName",
		    "route53:ListResourceRecordSets",
		    "route53:ListTagsForResource",
		    "route53:UpdateHostedZoneComment",
		    "s3:CreateBucket",
		    "s3:DeleteBucket",
		    "s3:DeleteObject",
		    "s3:GetAccelerateConfiguration",
		    "s3:GetBucketAcl",
		    "s3:GetBucketCORS",
		    "s3:GetBucketLocation",
		    "s3:GetBucketLogging",
		    "s3:GetBucketObjectLockConfiguration",
		    "s3:GetBucketPolicy",
		    "s3:GetBucketRequestPayment",
		    "s3:GetBucketTagging",
		    "s3:GetBucketVersioning",
		    "s3:GetBucketWebsite",
		    "s3:GetEncryptionConfiguration",
		    "s3:GetLifecycleConfiguration",
		    "s3:GetObject",
		    "s3:GetObjectAcl",
		    "s3:GetObjectTagging",
		    "s3:GetObjectVersion",
		    "s3:GetReplicationConfiguration",
		    "s3:ListBucket",
		    "s3:ListBucketVersions",
		    "s3:PutBucketAcl",
		    "s3:PutBucketPolicy",
		    "s3:PutBucketTagging",
		    "s3:PutEncryptionConfiguration",
		    "s3:PutObject",
		    "s3:PutObjectAcl",
		    "s3:PutObjectTagging",
		    "servicequotas:GetServiceQuota",
		    "servicequotas:ListAWSDefaultServiceQuotas",
		    "sts:AssumeRole",
		    "sts:AssumeRoleWithWebIdentity",
		    "sts:GetCallerIdentity",
		    "tag:GetResources",
		    "tag:UntagResources",
		    "kms:DescribeKey",
		    "cloudwatch:GetMetricData",
		    "ec2:CreateRoute",
		    "ec2:DeleteRoute",
		    "ec2:CreateVpcEndpoint",
		    "ec2:DeleteVpcEndpoints",
		    "ec2:CreateVpcEndpointServiceConfiguration",
		    "ec2:DeleteVpcEndpointServiceConfigurations",
		    "ec2:DescribeVpcEndpointServiceConfigurations",
		    "ec2:DescribeVpcEndpointServicePermissions",
		    "ec2:DescribeVpcEndpointServices",
		    "ec2:ModifyVpcEndpointServicePermissions"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/red-hat-managed": "true"
                }
            }
        }
    ]
}
Copy to Clipboard Toggle word wrap
중요

권한 경계를 사용하려면 권한 경계 정책을 준비하고 AWS IAM의 관련 설치 프로그램 역할에 추가해야 합니다. ROSA(rosa) CLI는 권한 경계 기능을 제공하지만 설치 프로그램 역할뿐만 아니라 모든 역할에 적용되며, 이는 제공된 권한 경계 정책(설치 프로그램 역할 전용)에서 작동하지 않음을 의미합니다.

사전 요구 사항

  • AWS 계정이 있습니다.
  • AWS 역할 및 정책을 관리하는 데 필요한 권한이 있습니다.
  • 워크스테이션에 최신 AWS(aws) 및 ROSA(rosa) CLI를 설치하고 구성했습니다.
  • ROSA 계정 전체 역할, 설치 관리자 역할 및 해당 정책을 이미 준비했습니다. AWS 계정에 해당 항목이 없는 경우 추가 리소스 에서 "계정 전체 STS 역할 및 정책 생성"을 참조하십시오.

프로세스

  1. rosa CLI에 다음 명령을 입력하여 정책 파일을 준비합니다.

    $ curl -o ./rosa-installer-core.json https://raw.githubusercontent.com/openshift/managed-cluster-config/master/resources/sts/4.20/sts_installer_core_permission_boundary_policy.json
    Copy to Clipboard Toggle word wrap
  2. AWS에서 정책을 생성하고 다음 명령을 입력하여 ARM(Amazon Resource Name)을 수집합니다.

    $ aws iam create-policy \
    --policy-name rosa-core-permissions-boundary-policy \
    --policy-document file://./rosa-installer-core.json \
    --description "ROSA installer core permission boundary policy, the minimum permission set, allows BYO-VPC, disallows PrivateLink"
    Copy to Clipboard Toggle word wrap

    출력 예

    {
        "Policy": {
            "PolicyName": "rosa-core-permissions-boundary-policy",
            "PolicyId": "<Policy ID>",
            "Arn": "arn:aws:iam::<account ID>:policy/rosa-core-permissions-boundary-policy",
            "Path": "/",
            "DefaultVersionId": "v1",
            "AttachmentCount": 0,
            "PermissionsBoundaryUsageCount": 0,
            "IsAttachable": true,
            "CreateDate": "<CreateDate>",
            "UpdateDate": "<UpdateDate>"
        }
    }
    Copy to Clipboard Toggle word wrap

  3. 다음 명령을 입력하여 제한하려는 설치 프로그램 역할에 권한 경계 정책을 추가합니다.

    $ aws iam put-role-permissions-boundary \
    --role-name ManagedOpenShift-Installer-Role \
    --permissions-boundary arn:aws:iam::<account ID>:policy/rosa-core-permissions-boundary-policy
    Copy to Clipboard Toggle word wrap
  4. rosa CLI에 다음 명령을 입력하여 연결된 정책(권한 경계 포함)의 유효성을 확인하는 설치 프로그램 역할을 표시합니다.

    $ aws iam get-role --role-name ManagedOpenShift-Installer-Role \
    --output text | grep PERMISSIONSBOUNDARY
    Copy to Clipboard Toggle word wrap

    출력 예

    PERMISSIONSBOUNDARY	arn:aws:iam::<account ID>:policy/rosa-core-permissions-boundary-policy	Policy
    Copy to Clipboard Toggle word wrap

    PL 및 VPC 권한 경계 정책의 더 많은 예를 보려면 다음을 참조하십시오.

    예 3.17. sts_installer_privatelink_permission_boundary_policy.json

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "ec2:ModifyVpcEndpointServiceConfiguration",
            "route53:ListHostedZonesByVPC",
            "route53:CreateVPCAssociationAuthorization",
            "route53:AssociateVPCWithHostedZone",
            "route53:DeleteVPCAssociationAuthorization",
            "route53:DisassociateVPCFromHostedZone",
            "route53:ChangeResourceRecordSets"
          ],
          "Resource": "*"
        }
      ]
    }
    Copy to Clipboard Toggle word wrap

    예 3.18. sts_installer_vpc_permission_boundary_policy.json

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
    		    "ec2:AssociateDhcpOptions",
    		    "ec2:AssociateRouteTable",
    		    "ec2:AttachInternetGateway",
    		    "ec2:CreateDhcpOptions",
    		    "ec2:CreateInternetGateway",
    		    "ec2:CreateNatGateway",
    		    "ec2:CreateRouteTable",
    		    "ec2:CreateSubnet",
    		    "ec2:CreateVpc",
    		    "ec2:DeleteDhcpOptions",
    		    "ec2:DeleteInternetGateway",
    		    "ec2:DeleteNatGateway",
    		    "ec2:DeleteRouteTable",
    		    "ec2:DeleteSubnet",
    		    "ec2:DeleteVpc",
    		    "ec2:DetachInternetGateway",
    		    "ec2:DisassociateRouteTable",
    		    "ec2:ModifySubnetAttribute",
    		    "ec2:ModifyVpcAttribute",
    		    "ec2:ReplaceRouteTableAssociation"
                ],
                "Resource": "*"
            }
        ]
    }
    Copy to Clipboard Toggle word wrap

3.4. 클러스터별 Operator IAM 역할 참조

Operator 역할은 백엔드 스토리지, 클라우드 수신 컨트롤러 및 클러스터에 대한 외부 액세스와 같은 클러스터 작업을 수행하는 데 필요한 임시 권한을 가져오는 데 사용됩니다.

Operator 역할을 생성할 때 일치하는 클러스터 버전에 대한 계정 전체 Operator 정책이 역할에 연결됩니다. Operator 정책에는 Operator 및 호환되는 버전에 태그가 지정됩니다. Operator 역할에 대한 올바른 정책은 태그를 사용하여 결정합니다.

참고

Operator 역할에 대해 계정에 일치하는 정책을 두 개 이상 사용할 수 있는 경우 역할을 생성할 때 대화형 옵션 목록이 제공됩니다.

Expand
표 3.14. ROSA 클러스터별 Operator 역할
리소스설명

<cluster_name>-<hash>-openshift-cluster-csi-drivers-ebs-cloud-credentials

CSI(Container Storage Interface)를 통해 백엔드 스토리지를 관리하는 데 ROSA에 필요한 IAM 역할입니다.

<cluster_name>-<hash>-openshift-machine-api-aws-cloud-credentials

ROSA Machine Config Operator에서 핵심 클러스터 기능을 수행하는 데 필요한 IAM 역할입니다.

<cluster_name>-<hash>-openshift-cloud-credential-operator-cloud-credentials

ROSA Cloud Credential Operator에 클라우드 공급자 인증 정보를 관리하는 데 필요한 IAM 역할입니다.

<cluster_name>-<hash>-openshift-cloud-network-config-controller-credentials

클라우드 네트워크 구성 컨트롤러에서 클러스터의 클라우드 네트워크 구성을 관리하는 데 필요한 IAM 역할입니다.

<cluster_name>-<hash>-openshift-image-registry-installer-cloud-credentials

ROSA Image Registry Operator가 AWS S3에서 클러스터의 OpenShift 이미지 레지스트리 스토리지를 관리하는 데 필요한 IAM 역할입니다.

<cluster_name>-<hash>-openshift-ingress-operator-cloud-credentials

ROSA Ingress Operator에서 클러스터에 대한 외부 액세스를 관리하는 데 필요한 IAM 역할입니다.

<cluster_name>-<hash>-openshift-cloud-network-config-controller-cloud-credentials

클러스터의 클라우드 네트워크 인증 정보를 관리하는 데 클라우드 네트워크 구성 컨트롤러에 필요한 IAM 역할입니다.

3.4.1. Operator IAM 역할 AWS CLI 참조

이 섹션에는 수동 모드를 사용하여 다음 rosa 명령을 실행할 때 터미널에 표시된 aws CLI 명령이 나열되어 있습니다.

$ rosa create operator-roles --mode manual --cluster <cluster_name>
Copy to Clipboard Toggle word wrap
참고

수동 모드를 사용하면 검토를 위해 aws 명령이 터미널에 출력됩니다. aws 명령을 검토한 후 수동으로 실행해야 합니다. 또는 rosa create 명령을 사용하여 --mode auto 를 지정하여 aws 명령을 즉시 실행할 수 있습니다.

명령 출력

aws iam create-role \
	--role-name <cluster_name>-<hash>-openshift-cluster-csi-drivers-ebs-cloud-credent \
	--assume-role-policy-document file://operator_cluster_csi_drivers_ebs_cloud_credentials_policy.json \
	--tags Key=rosa_cluster_id,Value=<id> Key=rosa_openshift_version,Value=<openshift_version> Key=rosa_role_prefix,Value= Key=operator_namespace,Value=openshift-cluster-csi-drivers Key=operator_name,Value=ebs-cloud-credentials

aws iam attach-role-policy \
	--role-name <cluster_name>-<hash>-openshift-cluster-csi-drivers-ebs-cloud-credent \
	--policy-arn arn:aws:iam::<aws_account_id>:policy/ManagedOpenShift-openshift-cluster-csi-drivers-ebs-cloud-credent

aws iam create-role \
	--role-name <cluster_name>-<hash>-openshift-machine-api-aws-cloud-credentials \
	--assume-role-policy-document file://operator_machine_api_aws_cloud_credentials_policy.json \
	--tags Key=rosa_cluster_id,Value=<id> Key=rosa_openshift_version,Value=<openshift_version> Key=rosa_role_prefix,Value= Key=operator_namespace,Value=openshift-machine-api Key=operator_name,Value=aws-cloud-credentials

aws iam attach-role-policy \
	--role-name <cluster_name>-<hash>-openshift-machine-api-aws-cloud-credentials \
	--policy-arn arn:aws:iam::<aws_account_id>:policy/ManagedOpenShift-openshift-machine-api-aws-cloud-credentials

aws iam create-role \
	--role-name <cluster_name>-<hash>-openshift-cloud-credential-operator-cloud-crede \
	--assume-role-policy-document file://operator_cloud_credential_operator_cloud_credential_operator_iam_ro_creds_policy.json \
	--tags Key=rosa_cluster_id,Value=<id> Key=rosa_openshift_version,Value=<openshift_version> Key=rosa_role_prefix,Value= Key=operator_namespace,Value=openshift-cloud-credential-operator Key=operator_name,Value=cloud-credential-operator-iam-ro-creds

aws iam attach-role-policy \
	--role-name <cluster_name>-<hash>-openshift-cloud-credential-operator-cloud-crede \
	--policy-arn arn:aws:iam::<aws_account_id>:policy/ManagedOpenShift-openshift-cloud-credential-operator-cloud-crede

aws iam create-role \
	--role-name <cluster_name>-<hash>-openshift-image-registry-installer-cloud-creden \
	--assume-role-policy-document file://operator_image_registry_installer_cloud_credentials_policy.json \
	--tags Key=rosa_cluster_id,Value=<id> Key=rosa_openshift_version,Value=<openshift_version> Key=rosa_role_prefix,Value= Key=operator_namespace,Value=openshift-image-registry Key=operator_name,Value=installer-cloud-credentials

aws iam attach-role-policy \
	--role-name <cluster_name>-<hash>-openshift-image-registry-installer-cloud-creden \
	--policy-arn arn:aws:iam::<aws_account_id>:policy/ManagedOpenShift-openshift-image-registry-installer-cloud-creden

aws iam create-role \
	--role-name <cluster_name>-<hash>-openshift-ingress-operator-cloud-credentials \
	--assume-role-policy-document file://operator_ingress_operator_cloud_credentials_policy.json \
	--tags Key=rosa_cluster_id,Value=<id> Key=rosa_openshift_version,Value=<openshift_version> Key=rosa_role_prefix,Value= Key=operator_namespace,Value=openshift-ingress-operator Key=operator_name,Value=cloud-credentials

aws iam attach-role-policy \
	--role-name <cluster_name>-<hash>-openshift-ingress-operator-cloud-credentials \
	--policy-arn arn:aws:iam::<aws_account_id>:policy/ManagedOpenShift-openshift-ingress-operator-cloud-credentials
Copy to Clipboard Toggle word wrap

참고

표에 제공된 명령 예제에는 ManagedOpenShift 접두사를 사용하는 Operator 역할이 포함됩니다. Operator 정책을 포함하여 계정 전체 역할 및 정책을 생성할 때 사용자 정의 접두사를 정의한 경우 Operator 역할을 생성할 때 --prefix <prefix_name > 옵션을 사용하여 참조해야 합니다.

3.4.2. 사용자 정의 Operator IAM 역할 접두사 정보

AWS STS(Security Token Service)를 사용하는 AWS 클래식 아키텍처(ROSA) 클러스터의 각 Red Hat OpenShift Service에는 클러스터별 Operator IAM 역할이 필요합니다.

기본적으로 Operator 역할 이름 앞에는 클러스터 이름과 임의의 4자리 해시가 추가됩니다. 예를 들어 mycluster라는 클러스터의 Ingress Cloud Credentials Operator IAM 역할에는 기본 이름 mycluster -<hash>-openshift-ingress-operator-cloud-credentials 가 있습니다. 여기서 < hash >는 임의 4자리 문자열입니다.

이 기본 이름 지정 규칙을 사용하면 AWS 계정에서 클러스터에 대한 Operator IAM 역할을 쉽게 식별할 수 있습니다.

클러스터에 대한 Operator 역할을 생성할 때 < cluster_name>-<hash> 대신 사용할 사용자 정의 접두사를 지정할 수 있습니다. 사용자 정의 접두사를 사용하면 Operator 역할 이름에 논리 ID를 앞에 추가하여 환경의 요구 사항을 충족할 수 있습니다. 예를 들어 클러스터 이름 및 환경 유형(예: mycluster-dev ) 접두사를 지정할 수 있습니다. 이 예에서 사용자 지정 접두사가 있는 Ingress Cloud Credentials Operator 역할 이름은 mycluster-dev-openshift-ingress-operator-cloud-credenti 입니다.

참고

역할 이름은 64자로 잘립니다.

3.5. Operator 인증에 대한 OIDC(Open ID Connect) 요구 사항

STS를 사용하는 ROSA 설치의 경우 클러스터 Operator가 자체 OIDC 공급자에 대한 자체 OIDC 구성을 인증하거나 생성하는 데 사용하는 클러스터별 OIDC 공급자를 생성해야 합니다.

3.5.1. CLI를 사용하여 OIDC 공급자 생성

ROSA(AWS 클래식 아키텍처) CLI( rosa )에서 Red Hat OpenShift Service를 사용하여 AWS 계정에서 호스팅되는 OIDC 공급자를 생성할 수 있습니다.

사전 요구 사항

  • 최신 버전의 ROSA CLI를 설치했습니다.

프로세스

  • 등록되지 않은 또는 등록된 OIDC 구성을 사용하여 OIDC 공급자를 생성하려면 다음을 수행합니다.

    • 등록 해제 OIDC 구성을 사용하려면 클러스터를 통해 OIDC 공급자를 생성해야 합니다. 다음을 실행하여 OIDC 공급자를 생성합니다.

      $ rosa create oidc-provider --mode manual --cluster <cluster_name>
      Copy to Clipboard Toggle word wrap
      참고

      수동 모드를 사용하면 검토를 위해 aws 명령이 터미널에 출력됩니다. aws 명령을 검토한 후 수동으로 실행해야 합니다. 또는 rosa create 명령을 사용하여 --mode auto 를 지정하여 aws 명령을 즉시 실행할 수 있습니다.

      명령 출력

      aws iam create-open-id-connect-provider \
      	--url https://oidc.op1.openshiftapps.com/<oidc_config_id> \
      1
      
      	--client-id-list openshift sts.<aws_region>.amazonaws.com \
      	--thumbprint-list <thumbprint> 
      2
      Copy to Clipboard Toggle word wrap

      1
      클러스터가 생성된 후 OpenID Connect(OIDC) ID 공급자에 연결하는 데 사용되는 URL입니다.
      2
      rosa create oidc-provider 명령을 실행하면 지문이 자동으로 생성됩니다. AWS IAM(Identity and Access Management) OIDC ID 공급자와 함께 지문을 사용하는 방법에 대한 자세한 내용은 AWS 설명서를 참조하십시오.
    • 등록된 OIDC 구성은 OIDC 구성 ID를 사용합니다. OIDC 구성 ID를 사용하여 다음 명령을 실행합니다.

      $ rosa create oidc-provider --oidc-config-id <oidc_config_id> --mode auto -y
      Copy to Clipboard Toggle word wrap

      명령 출력

      I: Creating OIDC provider using 'arn:aws:iam::4540112244:user/userName'
      I: Created OIDC provider with ARN 'arn:aws:iam::4540112244:oidc-provider/dvbwgdztaeq9o.cloudfront.net/241rh9ql5gpu99d7leokhvkp8icnalpf'
      Copy to Clipboard Toggle word wrap

3.5.2. OpenID Connect 구성 생성

Red Hat에서 호스팅하는 클러스터를 사용하는 경우 ROSA(AWS 클래식 아키텍처) CLI에서 Red Hat OpenShift Service를 사용하여 관리되거나 관리되지 않는 OpenID Connect(OIDC) 구성을 생성할 수 있습니다. 관리형 OIDC 구성은 Red Hat의 AWS 계정에 저장되고 관리되지 않는 OIDC 구성은 AWS 계정 내에 저장됩니다. OIDC 구성은 OpenShift Cluster Manager와 함께 사용하도록 등록됩니다. 관리되지 않는 OIDC 구성을 생성할 때 CLI는 개인 키를 제공합니다.

3.5.2.1. OpenID Connect 구성 생성

AWS 클래식 아키텍처 클러스터에서 Red Hat OpenShift Service를 생성할 때 클러스터를 생성하기 전에 OpenID Connect(OIDC) 구성을 생성할 수 있습니다. 이 구성은 OpenShift Cluster Manager와 함께 사용하도록 등록됩니다.

사전 요구 사항

  • AWS 클래식 아키텍처에서 Red Hat OpenShift Service에 대한 AWS 사전 요구 사항을 완료했습니다.
  • 설치 호스트에 최신 ROSA CLI, rosa 를 설치하고 구성했습니다.

프로세스

  1. AWS 리소스와 함께 OIDC 구성을 생성하려면 다음 명령을 실행합니다.

    $ rosa create oidc-config --mode=auto --yes
    Copy to Clipboard Toggle word wrap

    이 명령은 다음 정보를 반환합니다.

    출력 예

    ? Would you like to create a Managed (Red Hat hosted) OIDC Configuration Yes
    I: Setting up managed OIDC configuration
    I: To create Operator Roles for this OIDC Configuration, run the following command and remember to replace <user-defined> with a prefix of your choice:
    	rosa create operator-roles --prefix <user-defined> --oidc-config-id 13cdr6b
    If you are going to create a Hosted Control Plane cluster please include '--hosted-cp'
    I: Creating OIDC provider using 'arn:aws:iam::4540112244:user/userName'
    ? Create the OIDC provider? Yes
    I: Created OIDC provider with ARN 'arn:aws:iam::4540112244:oidc-provider/dvbwgdztaeq9o.cloudfront.net/13cdr6b'
    Copy to Clipboard Toggle word wrap

    클러스터를 생성할 때 OIDC 구성 ID를 제공해야 합니다. CLI 출력은 --mode auto 에 대해 이 값을 제공합니다. 그러지 않으면 --mode 수동 에 대한 aws CLI 출력을 기반으로 이러한 값을 확인해야 합니다.

  2. 선택 사항: 나중에 사용할 수 있도록 OIDC 구성 ID를 변수로 저장할 수 있습니다. 다음 명령을 실행하여 변수를 저장합니다.

    $ export OIDC_ID=<oidc_config_id>
    1
    Copy to Clipboard Toggle word wrap
    1
    위의 출력 예에서 OIDC 구성 ID는 13cdr6b입니다.
    • 다음 명령을 실행하여 변수 값을 확인합니다.

      $ echo $OIDC_ID
      Copy to Clipboard Toggle word wrap

      출력 예

      13cdr6b
      Copy to Clipboard Toggle word wrap

검증

  • 사용자 조직과 연결된 클러스터에 사용 가능한 OIDC 구성을 나열할 수 있습니다. 다음 명령을 실행합니다.

    $ rosa list oidc-config
    Copy to Clipboard Toggle word wrap

    출력 예

    ID                                MANAGED  ISSUER URL                                                             SECRET ARN
    2330dbs0n8m3chkkr25gkkcd8pnj3lk2  true     https://dvbwgdztaeq9o.cloudfront.net/2330dbs0n8m3chkkr25gkkcd8pnj3lk2
    233hvnrjoqu14jltk6lhbhf2tj11f8un  false    https://oidc-r7u1.s3.us-east-1.amazonaws.com                           aws:secretsmanager:us-east-1:242819244:secret:rosa-private-key-oidc-r7u1-tM3MDN
    Copy to Clipboard Toggle word wrap

3.5.2.2. 자체 OpenID Connect 구성을 생성하기 위한 매개변수 옵션

다음 옵션을 rosa create oidc-config 명령에 추가할 수 있습니다. 이러한 매개변수는 모두 선택 사항입니다. rosa create oidc-config 명령을 매개 변수 없이 실행하면 관리되지 않는 OIDC 구성이 생성됩니다.

참고

OpenShift Cluster Manager를 통해 /oidc_configs 에 요청을 게시하여 관리되지 않는 OIDC 구성을 등록해야 합니다. 응답에 ID가 수신됩니다. 이 ID를 사용하여 클러스터를 생성합니다.

3.5.2.2.1. Raw-files

개인 RSA 키에 대한 원시 파일을 제공할 수 있습니다. 이 키의 이름은 rosa-private-key-oidc-<random_label_of_length_4>.key 입니다. 또한 discovery-document- oidc-<random_label_of_length_4>.json 이라는 검색 문서와 jwks-oidc-<random_label_of_length_4>.json 이라는 JSON 웹 키 세트도 수신합니다.

이러한 파일을 사용하여 엔드포인트를 설정합니다. 이 끝점은 검색 문서와 JSON 웹 키 세트를 사용하여 keys.json 에서 /.well-known/openid-configuration 에 응답합니다. 개인 키는 Amazon Web Services(AWS) Secrets Manager Service (SMS)에 일반 텍스트로 저장됩니다.

$ rosa create oidc-config --raw-files
Copy to Clipboard Toggle word wrap

3.5.2.2.2. mode

OIDC 구성을 생성하기 위해 모드를 지정할 수 있습니다. 수동 옵션을 사용하면 S3 버킷에 OIDC 구성을 설정하는 AWS 명령을 받습니다. 이 옵션은 개인 키를 시크릿 관리자에 저장합니다. 수동 옵션을 사용하면 OIDC 끝점 URL은 S3 버킷의 URL입니다. OpenShift Cluster Manager에 OIDC 구성을 등록하려면 Secrets Manager ARN을 검색해야 합니다.

auto 옵션을 사용할 때 수동 모드와 동일한 OIDC 구성 및 AWS 리소스가 제공됩니다. 두 옵션의 중요한 차이점은 자동 옵션을 사용할 때 AWS를 호출하므로 추가 작업을 수행할 필요가 없다는 것입니다. OIDC 엔드 포인트 URL은 S3 버킷의 URL입니다. CLI는 Secrets Manager ARN을 검색하고 OpenShift Cluster Manager에 OIDC 구성을 등록하고, 사용자가 STS 클러스터 생성을 계속하기 위해 실행할 수 있는 두 번째 rosa 명령을 보고합니다.

$ rosa create oidc-config --mode=<auto|manual>
Copy to Clipboard Toggle word wrap

3.5.2.2.3. 관리됨

Red Hat의 AWS 계정에서 호스팅되는 OIDC 구성을 생성합니다. 이 명령은 STS 클러스터를 생성할 때 사용할 OIDC 구성 ID로 직접 응답하는 개인 키를 생성합니다.

$ rosa create oidc-config --managed
Copy to Clipboard Toggle word wrap

출력 예

W: For a managed OIDC Config only auto mode is supported. However, you may choose the provider creation mode
? OIDC Provider creation mode: auto
I: Setting up managed OIDC configuration
I: Please run the following command to create a cluster with this oidc config
rosa create cluster --sts --oidc-config-id 233jnu62i9aphpucsj9kueqlkr1vcgra
I: Creating OIDC provider using 'arn:aws:iam::242819244:user/userName'
? Create the OIDC provider? Yes
I: Created OIDC provider with ARN 'arn:aws:iam::242819244:oidc-provider/dvbwgdztaeq9o.cloudfront.net/233jnu62i9aphpucsj9kueqlkr1vcgra'
Copy to Clipboard Toggle word wrap

3.6. 서비스 제어 정책(SCP)에 대한 최소 유효 권한 세트

SCP(서비스 제어 정책)는 조직 내에서 권한을 관리하는 조직 정책 유형입니다. SCP는 조직 내의 계정이 정의된 액세스 제어 지침 내에 유지되도록 합니다. 이러한 정책은 AWS 조직에서 유지 관리되며 연결된 AWS 계정 내에서 사용 가능한 서비스를 제어합니다. SCP 관리는 고객의 책임이다.

참고

AWS STS(보안 토큰 서비스)를 사용할 때 서비스 제어 정책에서 다음 리소스를 차단하지 않는지 확인해야 합니다.

  • ec2:{}
  • iam:{}
  • 태그:*

서비스 제어 정책(SCP)이 이러한 필요한 권한을 제한하지 않는지 확인합니다.

Expand
 Service작업효과

필수 항목

Amazon EC2

All

허용

Amazon EC2 Auto Scaling

All

허용

Amazon S3

All

허용

ID 및 액세스 관리

All

허용

Elastic Load Balancing

All

허용

Elastic Load Balancing V2

All

허용

Amazon CloudWatch

All

허용

Amazon CloudMonitor 이벤트

All

허용

Amazon CloudWatch Logs

All

허용

AWS EC2 Instance Connect

SendSerialConsoleSSHPublicKey

허용

AWS 지원

All

허용

AWS 키 관리 서비스

All

허용

AWS 보안 토큰 서비스

All

허용

AWS Tiro

createQuery

GetQueryAnswer

GetQueryExplanation

허용

AWS Marketplace

서브스크립션

서브스크립션 취소

서브스크립션 보기

허용

AWS 리소스 태그 지정

All

허용

AWS Route53 DNS

All

허용

AWS 서비스 할당량

ListServices

GetRequestedServiceQuotaChange

GetServiceQuota

RequestServiceQuotaIncrease

ListServiceQuotas

허용

선택 사항

AWS billing

ViewAccount

Viewbilling

ViewUsage

허용

AWS Cost 및 Usage Report

All

허용

AWS Cost Explorer Services

All

허용

3.7. 고객 관리 정책

ROSA(Red Hat OpenShift Service on AWS 클래식 아키텍처) 사용자는 ROSA 클러스터를 실행하고 유지 관리하는 데 필요한 IAM 역할에 고객 관리 정책을 연결할 수 있습니다. 이 기능은 AWS IAM 역할에 일반적이지 않습니다. 이러한 정책을 ROSA 특정 IAM 역할에 연결하는 기능은 ROSA 클러스터의 권한 기능을 확장합니다. 예를 들어 클러스터 구성 요소가 ROSA별 IAM 정책의 일부가 아닌 추가 AWS 리소스에 액세스할 수 있습니다.

고객 관리 정책에 의존하는 중요한 고객 애플리케이션이 클러스터 또는 역할 업그레이드 중에 수정되지 않도록 ROSA는 ListAttachedRolesPolicies 권한을 사용하여 역할에서 권한 정책 목록을 검색하고 ListRolePolicies 권한을 사용하여 ROSA 관련 역할에서 정책 목록을 검색할 수 있습니다. 이 정보를 통해 클러스터 이벤트 중에 고객 관리 정책이 영향을 받지 않도록 하며 Red Hat SREs에서 ROSA별 IAM 역할에 연결된 ROSA 및 고객 관리 정책을 모두 모니터링하여 클러스터 문제를 보다 효과적으로 해결할 수 있습니다.

주의

ROSA별 정책을 제한하는 IAM 역할에 권한 경계 정책을 연결하면 ROSA 클러스터를 성공적으로 실행하고 유지 관리하는 데 필요한 기본 권한이 중단될 수 있으므로 이러한 정책은 지원되지 않습니다. ROSA(클래식 아키텍처) 설치 프로그램 역할에 대해 준비된 권한 경계 정책이 있습니다. 자세한 내용은 추가 리소스 섹션을 참조하십시오.

4장. OpenID Connect 개요

OpenID Connect(OIDC)는 보안 토큰 서비스(STS)를 사용하여 클라이언트가 여러 서비스에 액세스할 수 있도록 웹 ID 토큰을 제공할 수 있습니다. 클라이언트가 STS를 사용하여 서비스에 로그인하면 OIDC ID 공급자에 대해 토큰이 검증됩니다.

OIDC 프로토콜은 클라이언트의 ID를 인증하는 데 필요한 정보가 포함된 구성 URL을 사용합니다. 프로토콜은 공급자가 클라이언트를 검증하고 로그인하는 데 필요한 자격 증명을 사용하여 공급자에 응답합니다.

AWS 클래식 아키텍처 클러스터의 Red Hat OpenShift Service는 STS 및 OIDC를 사용하여 클러스터 내 운영자에게 필요한 AWS 리소스에 대한 액세스 권한을 부여합니다.

4.1. OIDC 검증 옵션 이해

다음 유형의 OIDC 확인을 구성할 수 있습니다.

  • 등록되지 않은 관리 OIDC 구성

    클러스터 설치 프로세스 중에 등록되지 않은 관리 OIDC 구성이 생성됩니다. 구성은 Red Hat의 AWS 계정에서 호스팅됩니다. 이 옵션은 OIDC 구성에 연결된 ID를 제공하지 않으므로 단일 클러스터에서 이 유형의 OIDC 구성만 사용할 수 있습니다.

  • 등록된 관리 OIDC 구성

    클러스터 생성을 시작하기 전에 등록된 OIDC 구성을 생성합니다. 이 구성은 등록되지 않은 관리 OIDC 구성과 같이 Red Hat의 AWS 계정에서 호스팅됩니다. OIDC 구성에 이 옵션을 사용하면 OIDC 구성에 연결된 ID가 표시됩니다. Red Hat은 이 ID를 사용하여 발행자 URL 및 개인 키를 식별합니다. 그런 다음 이 URL과 개인 키를 사용하여 ID 공급자 및 Operator 역할을 생성할 수 있습니다. 이러한 리소스는 IAM(Identity and Access Management) AWS 서비스를 사용하여 AWS 계정에서 생성됩니다. 클러스터 생성 프로세스 중에 OIDC 구성 ID를 사용할 수도 있습니다.

  • 관리되지 않는 OIDC 구성

    클러스터 생성을 시작하기 전에 등록된 관리되지 않는 OIDC 구성을 생성할 수 있습니다. 이 구성은 AWS 계정에서 호스팅됩니다. 이 옵션을 사용하면 개인 키를 관리해야 합니다. AWS Secrets Manager(SM) 서비스와 구성을 호스팅하는 발행자 URL을 사용하여 AWS 시크릿 파일에 개인 키를 저장하여 Red Hat OpenShift Cluster Manager에 구성을 등록할 수 있습니다. AWS 클래식 아키텍처(ROSA) CLI에서 Red Hat OpenShift Service를 사용하여 rosa create oidc-config --managed=false 명령으로 등록된 관리되지 않는 OIDC 구성을 생성할 수 있습니다. 이 명령은 계정 아래에 구성을 생성 및 호스팅하고 필요한 파일 및 개인 시크릿 키를 생성합니다. 이 명령은 OpenShift Cluster Manager에 구성도 등록합니다.

등록된 옵션은 클러스터 생성을 시작하기 전에 필요한 IAM 리소스를 생성하는 데 사용할 수 있습니다. 이 옵션을 사용하면 OIDC 공급자 및 Operator 역할을 생성할 때까지 설치가 일시 중지되는 대기 기간이 있으므로 설치 시간이 단축됩니다.

ROSA Classic의 경우 OIDC 구성 옵션을 사용할 수 있습니다. ROSA를 HCP와 함께 사용하는 경우 관리 또는 관리되지 않는 것으로 등록된 OIDC 구성을 생성해야 합니다. 등록된 OIDC 구성을 다른 클러스터와 공유할 수 있습니다. 이 구성을 공유하면 공급자 및 Operator 역할도 공유할 수 있습니다.

참고

이러한 클러스터 전체에서 인증 확인이 사용되므로 클러스터 간에 OIDC 구성, OIDC 공급자 및 Operator 역할을 재사용하는 것은 프로덕션 클러스터에는 사용하지 않는 것이 좋습니다. Red Hat은 비프로덕션 테스트 환경 간에만 리소스를 재사용할 것을 권장합니다.

4.2. OpenID Connect 구성 생성

Red Hat에서 호스팅하는 클러스터를 사용하는 경우 ROSA(AWS 클래식 아키텍처) CLI에서 Red Hat OpenShift Service를 사용하여 관리되거나 관리되지 않는 OpenID Connect(OIDC) 구성을 생성할 수 있습니다. 관리형 OIDC 구성은 Red Hat의 AWS 계정에 저장되고 관리되지 않는 OIDC 구성은 AWS 계정 내에 저장됩니다. OIDC 구성은 OpenShift Cluster Manager와 함께 사용하도록 등록됩니다. 관리되지 않는 OIDC 구성을 생성할 때 CLI는 개인 키를 제공합니다.

4.2.1. OpenID Connect 구성 생성

AWS 클래식 아키텍처 클러스터에서 Red Hat OpenShift Service를 생성할 때 클러스터를 생성하기 전에 OpenID Connect(OIDC) 구성을 생성할 수 있습니다. 이 구성은 OpenShift Cluster Manager와 함께 사용하도록 등록됩니다.

사전 요구 사항

  • AWS 클래식 아키텍처에서 Red Hat OpenShift Service에 대한 AWS 사전 요구 사항을 완료했습니다.
  • 설치 호스트에 최신 ROSA CLI, rosa 를 설치하고 구성했습니다.

프로세스

  1. AWS 리소스와 함께 OIDC 구성을 생성하려면 다음 명령을 실행합니다.

    $ rosa create oidc-config --mode=auto --yes
    Copy to Clipboard Toggle word wrap

    이 명령은 다음 정보를 반환합니다.

    출력 예

    ? Would you like to create a Managed (Red Hat hosted) OIDC Configuration Yes
    I: Setting up managed OIDC configuration
    I: To create Operator Roles for this OIDC Configuration, run the following command and remember to replace <user-defined> with a prefix of your choice:
    	rosa create operator-roles --prefix <user-defined> --oidc-config-id 13cdr6b
    If you are going to create a Hosted Control Plane cluster please include '--hosted-cp'
    I: Creating OIDC provider using 'arn:aws:iam::4540112244:user/userName'
    ? Create the OIDC provider? Yes
    I: Created OIDC provider with ARN 'arn:aws:iam::4540112244:oidc-provider/dvbwgdztaeq9o.cloudfront.net/13cdr6b'
    Copy to Clipboard Toggle word wrap

    클러스터를 생성할 때 OIDC 구성 ID를 제공해야 합니다. CLI 출력은 --mode auto 에 대해 이 값을 제공합니다. 그러지 않으면 --mode 수동 에 대한 aws CLI 출력을 기반으로 이러한 값을 확인해야 합니다.

  2. 선택 사항: 나중에 사용할 수 있도록 OIDC 구성 ID를 변수로 저장할 수 있습니다. 다음 명령을 실행하여 변수를 저장합니다.

    $ export OIDC_ID=<oidc_config_id>
    1
    Copy to Clipboard Toggle word wrap
    1
    위의 출력 예에서 OIDC 구성 ID는 13cdr6b입니다.
    • 다음 명령을 실행하여 변수 값을 확인합니다.

      $ echo $OIDC_ID
      Copy to Clipboard Toggle word wrap

      출력 예

      13cdr6b
      Copy to Clipboard Toggle word wrap

검증

  • 사용자 조직과 연결된 클러스터에 사용 가능한 OIDC 구성을 나열할 수 있습니다. 다음 명령을 실행합니다.

    $ rosa list oidc-config
    Copy to Clipboard Toggle word wrap

    출력 예

    ID                                MANAGED  ISSUER URL                                                             SECRET ARN
    2330dbs0n8m3chkkr25gkkcd8pnj3lk2  true     https://dvbwgdztaeq9o.cloudfront.net/2330dbs0n8m3chkkr25gkkcd8pnj3lk2
    233hvnrjoqu14jltk6lhbhf2tj11f8un  false    https://oidc-r7u1.s3.us-east-1.amazonaws.com                           aws:secretsmanager:us-east-1:242819244:secret:rosa-private-key-oidc-r7u1-tM3MDN
    Copy to Clipboard Toggle word wrap

4.2.2. 자체 OpenID Connect 구성을 생성하기 위한 매개변수 옵션

다음 옵션을 rosa create oidc-config 명령에 추가할 수 있습니다. 이러한 매개변수는 모두 선택 사항입니다. rosa create oidc-config 명령을 매개 변수 없이 실행하면 관리되지 않는 OIDC 구성이 생성됩니다.

참고

OpenShift Cluster Manager를 통해 /oidc_configs 에 요청을 게시하여 관리되지 않는 OIDC 구성을 등록해야 합니다. 응답에 ID가 수신됩니다. 이 ID를 사용하여 클러스터를 생성합니다.

4.2.2.1. Raw-files

개인 RSA 키에 대한 원시 파일을 제공할 수 있습니다. 이 키의 이름은 rosa-private-key-oidc-<random_label_of_length_4>.key 입니다. 또한 discovery-document- oidc-<random_label_of_length_4>.json 이라는 검색 문서와 jwks-oidc-<random_label_of_length_4>.json 이라는 JSON 웹 키 세트도 수신합니다.

이러한 파일을 사용하여 엔드포인트를 설정합니다. 이 끝점은 검색 문서와 JSON 웹 키 세트를 사용하여 keys.json 에서 /.well-known/openid-configuration 에 응답합니다. 개인 키는 Amazon Web Services(AWS) Secrets Manager Service (SMS)에 일반 텍스트로 저장됩니다.

$ rosa create oidc-config --raw-files
Copy to Clipboard Toggle word wrap

4.2.2.2. mode

OIDC 구성을 생성하기 위해 모드를 지정할 수 있습니다. 수동 옵션을 사용하면 S3 버킷에 OIDC 구성을 설정하는 AWS 명령을 받습니다. 이 옵션은 개인 키를 시크릿 관리자에 저장합니다. 수동 옵션을 사용하면 OIDC 끝점 URL은 S3 버킷의 URL입니다. OpenShift Cluster Manager에 OIDC 구성을 등록하려면 Secrets Manager ARN을 검색해야 합니다.

auto 옵션을 사용할 때 수동 모드와 동일한 OIDC 구성 및 AWS 리소스가 제공됩니다. 두 옵션의 중요한 차이점은 자동 옵션을 사용할 때 AWS를 호출하므로 추가 작업을 수행할 필요가 없다는 것입니다. OIDC 엔드 포인트 URL은 S3 버킷의 URL입니다. CLI는 Secrets Manager ARN을 검색하고 OpenShift Cluster Manager에 OIDC 구성을 등록하고, 사용자가 STS 클러스터 생성을 계속하기 위해 실행할 수 있는 두 번째 rosa 명령을 보고합니다.

$ rosa create oidc-config --mode=<auto|manual>
Copy to Clipboard Toggle word wrap

4.2.2.3. 관리됨

Red Hat의 AWS 계정에서 호스팅되는 OIDC 구성을 생성합니다. 이 명령은 STS 클러스터를 생성할 때 사용할 OIDC 구성 ID로 직접 응답하는 개인 키를 생성합니다.

$ rosa create oidc-config --managed
Copy to Clipboard Toggle word wrap

출력 예

W: For a managed OIDC Config only auto mode is supported. However, you may choose the provider creation mode
? OIDC Provider creation mode: auto
I: Setting up managed OIDC configuration
I: Please run the following command to create a cluster with this oidc config
rosa create cluster --sts --oidc-config-id 233jnu62i9aphpucsj9kueqlkr1vcgra
I: Creating OIDC provider using 'arn:aws:iam::242819244:user/userName'
? Create the OIDC provider? Yes
I: Created OIDC provider with ARN 'arn:aws:iam::242819244:oidc-provider/dvbwgdztaeq9o.cloudfront.net/233jnu62i9aphpucsj9kueqlkr1vcgra'
Copy to Clipboard Toggle word wrap

4.3. CLI를 사용하여 OIDC 공급자 생성

ROSA(AWS 클래식 아키텍처) CLI( rosa )에서 Red Hat OpenShift Service를 사용하여 AWS 계정에서 호스팅되는 OIDC 공급자를 생성할 수 있습니다.

사전 요구 사항

  • 최신 버전의 ROSA CLI를 설치했습니다.

프로세스

  • 등록되지 않은 또는 등록된 OIDC 구성을 사용하여 OIDC 공급자를 생성하려면 다음을 수행합니다.

    • 등록 해제 OIDC 구성을 사용하려면 클러스터를 통해 OIDC 공급자를 생성해야 합니다. 다음을 실행하여 OIDC 공급자를 생성합니다.

      $ rosa create oidc-provider --mode manual --cluster <cluster_name>
      Copy to Clipboard Toggle word wrap
      참고

      수동 모드를 사용하면 검토를 위해 aws 명령이 터미널에 출력됩니다. aws 명령을 검토한 후 수동으로 실행해야 합니다. 또는 rosa create 명령을 사용하여 --mode auto 를 지정하여 aws 명령을 즉시 실행할 수 있습니다.

      명령 출력

      aws iam create-open-id-connect-provider \
      	--url https://oidc.op1.openshiftapps.com/<oidc_config_id> \
      1
      
      	--client-id-list openshift sts.<aws_region>.amazonaws.com \
      	--thumbprint-list <thumbprint> 
      2
      Copy to Clipboard Toggle word wrap

      1
      클러스터가 생성된 후 OpenID Connect(OIDC) ID 공급자에 연결하는 데 사용되는 URL입니다.
      2
      rosa create oidc-provider 명령을 실행하면 지문이 자동으로 생성됩니다. AWS IAM(Identity and Access Management) OIDC ID 공급자와 함께 지문을 사용하는 방법에 대한 자세한 내용은 AWS 설명서를 참조하십시오.
    • 등록된 OIDC 구성은 OIDC 구성 ID를 사용합니다. OIDC 구성 ID를 사용하여 다음 명령을 실행합니다.

      $ rosa create oidc-provider --oidc-config-id <oidc_config_id> --mode auto -y
      Copy to Clipboard Toggle word wrap

      명령 출력

      I: Creating OIDC provider using 'arn:aws:iam::4540112244:user/userName'
      I: Created OIDC provider with ARN 'arn:aws:iam::4540112244:oidc-provider/dvbwgdztaeq9o.cloudfront.net/241rh9ql5gpu99d7leokhvkp8icnalpf'
      Copy to Clipboard Toggle word wrap

Legal Notice

Copyright © 2025 Red Hat

OpenShift documentation is licensed under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).

Modified versions must remove all Red Hat trademarks.

Portions adapted from https://github.com/kubernetes-incubator/service-catalog/ with modifications by Red Hat.

Red Hat, Red Hat Enterprise Linux, the Red Hat logo, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.

Linux® is the registered trademark of Linus Torvalds in the United States and other countries.

Java® is a registered trademark of Oracle and/or its affiliates.

XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.

MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.

Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.

The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation’s permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.

All other trademarks are the property of their respective owners.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat