AWS 기술 블로그
AWS ROSA에 IBM Cloud Pak for Data 설치하기
본 블로그는 AWS Architecture Blog에 게시된 ‘Deploying IBM Cloud Pak for Data on Red Hat OpenShift Service on AWS’를 한국어 번역 및 편집하였습니다.
AWS 클라우드에서 IBM Cloud Pak for Data(CP4D)를 배포하여 사용할 수 있는 보다 더 직관적인 방법을 찾고 있는 Amazon Web Services(AWS) 고객은 Red Hat OpenShift Service on AWS(ROSA) 사용을 고려해 보시기 바랍니다.
ROSA는 AWS와 Red Hat이 공동으로 지원하는 완전 관리형 서비스입니다. Red Hat Site Reliability Engineers가 관리하며 종량제 요금 모델과 AWS의 통합 결제가 적용됩니다.
ROSA를 이용하면 고객은 Red Hat OpenShift Container Platform 클러스터의 라이프사이클을 직접 관리할 필요가 없습니다. 그 대신 AWS에서 IBM의 통합 데이터 및 AI 플랫폼을 사용하여 새로운 솔루션을 개발하고 더 빠르게 혁신하는 데 집중하여 비즈니스를 차별화하고 끊임없이 변화하는 엔터프라이즈 요구 사항에 충실히 대응할 수 있습니다.
AWS Marketplace에서 직접 관리형 OpenShift 클러스터를 설치하고 그 위에 CP4D를 배포할 수도 있습니다 (참고: BYOL). 이 방식은 Red Hat OpenShift Data Foundation 소프트웨어 정의 스토리지를 사용해야 하는 경우나 OpenShift 클러스터 직접 관리를 원하는 경우에 적합합니다.
본 블로그에서는 ROSA 클러스터를 프로비저닝하고 CP4D를 빠르게 배포하는 방법에 대해 알아봅니다.
Cloud Pak for data 아키텍처
본 아키텍처는 가용 영역(AZ) 3개, 마스터 노드 3개, 인프라 노드 3개, 워커 노드 3개가 있는 고가용 ROSA 클러스터를 구현하였습니다. AWS 리전 및 가용 영역 설명서와 ROSA를 사용할 수 있는 리전을 검토하여 배포에 가장 적합한 리전을 선택하시기 바랍니다.
아래 그림 1 은 솔루션의 아키텍처입니다.
그림 1. IBM Cloud Pak for Data on ROSA
이 시나리오에서는 80 및 443 포트에 접근할 수 있는 인터넷 연결 Classic Load Balancer와 함께 퍼블릭 ROSA 클러스터를 구축하고 있습니다. AWS 계정에 CP4D를 배포할 때는 ROSA 프라이빗 클러스터 사용을 고려하시기 바랍니다.
우리는 클러스터의 영구 스토리지에 Amazon Elastic Block Store(Amazon EBS) 및 Amazon Elastic File System(Amazon EFS)을 사용하고 있습니다. 지원되는 스토리지 옵션에 대한 정보는 IBM 문서를 참고하십시오.
또한 운영환경에 CP4D를 배포하기 전에 ROSA에 대한 AWS 사전요구사항을 검토하고 IAM 설명서의 보안관련 모범 사례에 따라 CP4D를 배포하기 전에 AWS 계정을 보호하시기 바랍니다.
비용
AWS 계정에 CP4D를 배포할 때 발생하는 AWS 서비스 비용은 사용자에게 부과됩니다. 예상 비용에 관해서는 각 AWS 서비스의 요금 페이지를 참조하십시오.
사전요구사항
시작하기에 앞서 아래와 같은 솔루션 사전 요구사항을 검토하십시오:
- 본 블로그는 CP4D, Terraform, Amazon Elastic Compute Cloud(Amazon EC2), Amazon EBS, Amazon EFS, Amazon Virtual Private Cloud 및 AWS Identity and Access Management(IAM)에 대한 지식을 필요로 합니다.
- 설치 과정에서 설명하는 리소스를 생성할 수 있는 권한이 있는 AWS 계정이 필요합니다.
- ROSA 문서에 기술된 AWS 사전요구사항을 위해 필요한 권한이 있는 AWS IAM 사용자가 필요합니다.
- ROSA를 배포하는데 필요한 AWS 서비스 할당량을 확인하고, 필요하면 AWS 콘솔에서 서비스 할당량을 늘립니다.
- IBM entitlement API key가 있어야 합니다: 60일 평가판 을 활용하거나 기존 entitlement 가 있어야 합니다.
- Red Hat ROSA Token이 필요한데 Red Hat 웹사이트에 등록하여 얻을 수 있습니다.
- CP4D 설치 프로그램을 실행할 배스천 호스트로 사용하기 위해 본 문서에서는 AWS Cloud9 을 사용했습니다. 만약 아래와 같은 소프트웨어 패키지가 지원된다면 다른 장치를 사용하는 것도 가능합니다.
설치 단계
ROSA에 CP4D를 배포하려면 다음 단계를 완료하십시오:
- 시작하기를 클릭하여 AWS 계정에서 서비스를 활성화합니다 (그림 2)
그림 2. Enable ROSA on your AWS account - CP4D 설치를 실행할 AWS Cloud9 환경을 생성합니다. 본 블로그에서는 t3.medium 인스턴스를 사용했습니다.
그림 3. Create an AWS Cloud9 environment - AWS Cloud9 환경이 가동되면 시작 탭을 닫고 새 터미널 탭을 열고 필요한 패키지를 설치합니다.
- 아래와 같은 IAM 정책을 생성합니다. ( 참고 : IAM 서비스 > 정책 > 정책 생성 > JSON )
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "autoscaling:*", "cloudformation:*", "cloudwatch:*", "ec2:*", "elasticfilesystem:*", "elasticloadbalancing:*", "events:*", "iam:*", "kms:*", "logs:*", "route53:*", "s3:*", "servicequotas:GetRequestedServiceQuotaChange", "servicequotas:GetServiceQuota", "servicequotas:ListServices", "servicequotas:ListServiceQuotas", "servicequotas:RequestServiceQuotaIncrease", "sts:*", "support:*", "tag:*" ], "Resource": "*" } ] }
위의 JSON 을 아래 그림 4와 같이 저장합니다.
그림 4. Edit an IAM Policy정책의 이름을 cp4d-installer-permission 으로 저장합니다.
그림 5. Create an IAM Policy - AWS 콘솔에서 IAM 역할을 생성합니다. ( 참고 : IAM 서비스 > 역할 > 역할 생성 )1. 아래 그림을 참고하여, 신뢰할 수 있는 엔터티 유형은 AWS 서비스 , 일반 사용 사례 중 EC2 선택한 후 다음을 클릭합니다.
2. cp4d-installer-permissions 정책을 검색하고 선택합니다.
3. 이름은 cp4d-installer로 지정하고 역할 생성을 클릭합니다.
그림 6. Create an IAM Role - 그림 7처럼, AWS Cloud9 IDE에서 오른쪽 상단의 원 모양 버튼을 클릭하고 Manage EC2 Instance를 선택하면, 그림 8과 같이 AWS EC2 인스턴스 콘솔로 연결됩니다.
그림 7. Manage the AWS Clou9 EC2 Instance - Amazon EC2 콘솔에서 AWS Cloud9 에 사용되는 인스턴스를 선택하고, 작업 > 보안 > IAM 역할 수정을 선택합니다.
그림 8. Modify IAM Role - 그림과 같이 IAM 역할 에서 cp4d-installer 를 선택하고, IAM 역할 업데이트를 클릭합니다.
그림 9. Attache the IAM role to your workspace - AWS Cloud9 워크스페이스를 위한 IAM 설정을 갱신합니다.
- Elastic Load Balancing service-linked role 이 AWS 계정안에 존재하는지 확인합니다.
- AWS 환경을 설정합니다.
- Red Hat Hybrid Cloud Console로 이동해서 OpenShift Cluster Management API Token 을 복사해옵니다.
그림 10. Copy API Token - 위에서 복사한 Token을 사용해서 Red Hat 계정으로 로그인합니다.
- AWS 계정이 Cluster 를 만들수 있을 만큼 충분한 쿼터를 가지고 있는지 확인합니다.
- ROSA 를 처음으로 배포하는 경우라면, ROSA account-roles 을 생성합니다.
- ROSA Cluster를 생성합니다. (아래 그림 11을 참조)
그림 11. ROSA Cluster 생성 - Cluster가 생성되면 cluster-admin 사용자를 만들고 cluster API URL, username 과 password 를 확인합니다.
- 앞 단계에서 생성된 로그인 정보를 이용하여 cluster 에 로그인합니다.
- 워커 노드 보안 그룹안에 inbound rule을 생성하고, cluster의 VPC CIDER 에서 들어오는 NFS 트래픽을 허용합니다.
- Amazon EFS 파일 시스템을 생성합니다
- Container software library on My IBM 에 로그인해서 API Key를 복사해옵니다.
- 본 블로그에서는 CP4D 를 설치하고 Watson Machine Learning과 IBM Watson Studio를 설치합니다.
- IBM 문서를 읽어보고 요구 사항에 맞게 어떤 CP4D 콤포넌트를 설치할지 결정하시기 바랍니다.
- CP4D 설치를 위한 환경변수를 설정합니다. COMPONENTS 환경변수에 어떤 서비스를 설치할지 지정합니다. (참고: 아래 사용자 지정 환경변수들을 저장하여 유지하는 것이 좋습니다.)
- CP4D CLI 를 설치합니다.
- 생성한 ROSA cluster 에 로그인합니다.
- cluster를 위한 영구 스토리지를 설정합니다.
- CP4D 소프트웨어를 배포하기 위한 프로젝트를 생성합니다.
- load balancer timeout 값을 변경하여 설치 과정이 종료되기전에 커넥션이 종료되는 것을 방지합니다.
- OpenShift 상의 CRI-O 컨테이너를 위한 pidl_limits 설정을 변경합니다.
- IBM 컨테이너 레포지토리에서 이미지를 내려받기 위한 글로벌 이미지 pulll-secret 을 구성합니다.
- CP4D 설치를 위해 operator 와 operator subscriptions 를 생성합니다.
- CP4D 플랫폼과 서비스를 설치합니다
- CP4D URL 과 admin 인증정보를 확인합니다.
- 위의 명령어 수행 결과에서 CP4D URL, admin 사용자 , 패스워드를 확인할 수 있습니다. 그림 12를 참고하세요.
그림 12. CP4D URL 확인 - CP4D URL 로 접근하여 콘솔로 로그인하고, 정상 배포 여부를 확인합니다.
그림 13. IBM Cloud pak for Data Welcom page - CP4D Welcome 페이지에서 좌상단 서비스 감지 클릭하여 서비스 카탈로그로 이동합니다.
- 서비스 카탈로그에서 CP4D에서 이용가능한 서비스를 확인합니다.
- 검색창에서 watson 을 검색하여 Watson Machine Learning 과 Watson Studio 를 찾습니다. 이미 설치된 Watson Machine Learning 과 Watson Studio 서비스는 하단에 사용 이라고 표시되어 있습니다.
그림 14. Service Catalog in IBM Cloud pak for Data
설치 후
운영환경에 설치할 때는 다음 주제를 검토하십시오.
- ROSA 클러스터의 크기를 계산하려면 IBM 시스템 요구사항 문서.
- 특수 설치 (specialized installation) 을 실행.
- 보안, 유지 관리, 모니터링, 사용자 관리 및 환경 백업을 활성화하는 관리 작업.
- 플랫폼을 설치한 후 서비스를 설정하는 방법.
- ROSA에서 자격 증명 제공자(identity provider) 를 구성.
- ROSA 클러스터에 대해 자동 확장 활성화.
- ROSA 클러스터에 대한 로깅 구성과 모니터링을 활성화.
삭제 절차
AWS Cloud9 워크 스페이스에 연결하고 다음 단계를 실행하여 ROSA를 포함한 CP4D 설치를 삭제합니다. 삭제하면 그 이후로는 AWS 계정에서 비용이 발생하지 않습니다.
cluster 설제 제거 로그를 모니터링 하려면 다음 명령을 수행합니다 :
클러스터가 제거되면 rosa delete 명령의 출력에 표시된 대로 operator-roles 및 oidc-provider를 제거합니다. 예를 들어:
아래 그림과 같이 operator-role ,oidc-provider 삭제 명령이 출력되니 참고하여 위의 rosa delete 명령을 실행합니다.
그림 15. operator_roles_name 과 oidc_provider_name
결론
지금까지 우리는 고객이 AWS의 완전관리형 OpenShift 서비스인 ROSA 에 IBM CP4D를 배포할 수 있는 방법을 알아보았습니다. 이 방식으로 구현하면, 고객은 CP4D를 배포를 위한 OpenShift를 관리 작업을 할 필요가 없고, 대신 그들에게 중요한 워크로드 및 고객에 집중할 수 있습니다.
CP4D on AWS에 대해 자세히 더 알아보려면 IBM Cloud Pak for Data(CP4D) on AWS 현대화 워크샵을 살펴보십시오.
IBM Data & AI의 전체 오퍼링 목록을 보려면 AWS Marketplace를 방문하십시오.
더 읽어야 할 문서
- Building a healthcare data pipeline on AWS with IBM Cloud Pak for Data
- IBM Cloud Pak for Data Simplifies and Automates How You Turn Data into Insights