AWS에 JupyterLab 설치
Teradata에서 제공하는 CloudFormation 템플릿을 사용하여 AWS Management Console에서 JupyterLab과 AI Unlimited 커널을 설치합니다.
이는 systemd로 제어되는 컨테이너에서 JupyterLab을 실행하여 서버 인스턴스를 배포합니다.
AWS 계정을 준비합니다.
-
클라우드 관리자와 협력하여 JupyterLab 템플릿에 정의된 클라우드 리소스를 생성할 수 있는 IAM 권한이 있는지 확인합니다.
-
명령을 실행하거나 디버깅하기 위해 JupyterLab 인스턴스에 액세스해야 하는 경우 키 쌍을 사용하여 SSH(Secure Shell)를 사용하여 안전하게 연결할 수 있습니다. 스택 세부 정보 지정 시 키 쌍이 필요합니다.
-
ALB(Application Load Balancer) 또는 NLB(Network Load Balancer)를 사용하려면 다음 AWS 서비스를 관리할 수 있는 권한이 있는지 확인합니다. - AWS Certificate Manager— Route 53의 호스팅 영역 ID에 대한 새 인증서를 발급합니다. - AWS Route 53—사용자 지정 도메인 이름을 구성하고 DNS 쿼리를 로드 밸런서로 라우팅합니다.
저장소 복제
Teradata에서 제공하는 AI Unlimited GitHub 저장소의 배치
폴더에는 AI Unlimited를 설치하기 위한 템플릿, 매개변수 및 정책 파일이 포함되어 있습니다.
터미널 창을 열고 저장소를 복제합니다.
Jupyter 템플릿 찾기
JupyterLab용 CloudFormation 템플릿은 AI Unlimited GitHub 저장소에 있습니다.
deployments/aws/templates/jupyter
로드 밸런서를 사용할지 여부와 어떤 유형을 사용할지에 따라 템플릿을 선택합니다.
조직의 클라우드 관리자에게 지침을 요청할 수 있습니다.
- jupyter-alb.yaml
—다음 뒤의 JupyterLab을 호스팅합니다. Application Load Balancer
- jupyter-with-nlb.yaml
—다음 뒤의 JupyterLab을 호스팅합니다. Network Load Balancer
- jupyter-without-lb.yaml
—로드 밸런서가 없습니다.
템플릿을 로드합니다.
- AWS 콘솔에 로그인합니다.
노트
AWS Management Console에 대한 참조는 2024년 5월 29일 기준으로 최신 상태입니다.
- JupyterLab을 배포할 리전을 선택합니다.
주요 근무지와 가장 가까운 리전을 선택하는 것이 좋습니다. - 검색하여 CloudFormation으로 이동합니다.
- 스택 생성을 선택한 다음 **새로운 리소스 사용(표준)**을 선택합니다.
- 기존 템플릿 선택 및 템플릿 파일 업로드를 선택합니다.
- 사용할 템플릿 파일을 선택하고 다음을 클릭합니다.
스택 세부 정보 및 옵션 지정
- 스택 이름을 입력합니다.
- 매개변수를 검토합니다. 필수 매개변수에 대한 값을 제공합니다. 귀하의 조직에는 다른 매개변수가 필요할 수 있습니다.
AWS 및 JupyterLab 매개변수
매개변수 | 설명 | 노트 |
---|---|---|
InstanceType | 서비스에 사용하려는 EC2 인스턴스 유형입니다. | 필수 사항(기본값 제공) 기본값: t3.small 비용을 절감하려면 기본 인스턴스 유형을 사용하는 것이 좋습니다. |
RootVolumeSize | 인스턴스에 연결하려는 루트 디스크의 크기(GB)입니다. | 필수 사항(기본값 제공) 기본값: 8 8~1000 사이의 값을 지원합니다. |
TerminationProtection | 인스턴스 종료 보호를 활성화합니다. | 필수 사항(기본값 제공) 기본값: false |
IamRole | CloudFormation에서 새로운 IAM 역할을 만들어야 하는지 아니면 기존 역할을 사용해야 하는지 지정합니다. | 필수 사항(기본값 제공) 기본값: 신규 지원되는 옵션은 다음과 같습니다. 신규 또는 기존 |
IamRoleName | 인스턴스에 할당할 IAM 역할의 이름으로, 기존 IAM 역할이거나 새로 생성된 IAM 역할일 수 있습니다. | 선택 사항(기본값 제공) 기본값: ai-unlimited-iam-role 새 IAM 역할의 이름을 지정하는 경우 CloudFormation에 CAPABILITY_NAMED_IAM 기능이 필요합니다. 자동 생성된 이름을 사용하려면 이 값을 비워 둡니다. |
IamPermissions Boundary | 인스턴스에 할당된 IAM 역할과 연결할 IAM 권한 경계의 ARN입니다. | 선택 사항 기본값: NA |
AvailabilityZone | 인스턴스를 배포할 가용성 영역입니다. | 필수 사항 기본값: NA 값은 서브넷, 기존 볼륨의 영역과 일치해야 하며 인스턴스 유형은 선택한 영 역에서 사용할 수 있어야 합니다. |
LoadBalancing | 인스턴스에 NLB를 통해 액세스할지 여부를 지정합니다. | 필수 사항(기본값 제공) 기본값: NetworkLoadBalancer 지원되는 옵션은 다음과 같습니다. NetworkLoadBalancer 또는 없음 |
LoadBalancerScheme | 로드 밸런서를 사용하는 경우 이 필드는 인스턴스에 인터넷에서 액세스할 수 있는지 아니면 VPC 내에서만 액세스할 수 있는지 여부를 지정합니다. | 선택 사항(기본값 제공) 기본값: Internet-facing Internet-facing 로드 밸런서의 DNS 이름은 노드의 공용 IP 주소로 공개적으로 확인 가능합니다. 따라서 Internet-facing 로드 밸런서는 인터넷을 통해 클라이언트의 요청을 라우팅할 수 있습니다. 내부 로드 밸런서의 노드는 개인 IP 주소만 갖습니다. 내부 로드 밸런서의 DNS 이름은 노드의 개인 IP 주소로 공개적으로 확인 가능합니다. 따라서 내부 로드 밸런서는 로드 밸런서의 VPC에 액세스할 수 있는 클라이언트의 요청을 라우팅할 수 있습니다. |
Private | 서비스가 공용 IP가 없는 개인 네트워크에 배포되는지 여부를 지정합니다. | 필수 사항 기본값: false 관리자가 있는 서브넷에서 공용 IPv4 주소 자동 할당 활성화 옵션을 선택했는지 확인합니다. 이 옵션을 선택하지 않으면 설치가 실패할 수 있습니다. |
Session | AWS Session Manager를 사용하여 인스턴스에 액세스할 수 있는지 여부를 지정합니다. | 필수 사항 기본값: false |
Vpc | 인스턴스를 배포할 네트워크입니다. | 필수 사항 기본값: NA |
Subnet | 인스턴스를 배포하려는 하위 네트워크입니다. | 필수 사항 기본값: NA 서브넷은 선택한 가용성 영역에 있어야 합니다. |
KeyName | 인스턴스가 시작된 후 인스턴스에 안전하게 연결할 수 있는 공용/개인 키 쌍입니다. AWS 계정을 만들 때 선호하는 리전에서 만드는 키 쌍입니다. | 선택 사항 기본값: NA SSH 키를 포함하지 않으려면 이 필드를 비워둡니다. |
AccessCIDR | 인스턴스에 액세스할 수 있는 CIDR IP 주소 범위입니다. | 선택 사항 기본값: NA 이 값을 신뢰할 수 있는 IP 범위로 설정하는 것이 좋습니다. 사용자 지정 보안 그룹 수신 규칙을 만들지 않는 한 AccessCIDR, PrefixList 또는 SecurityGroup 중 하나 이상을 정의하여 인바운드 트래픽을 허용합니다. |
PrefixList | 인스턴스와 통신하는 데 사용할 수 있는 접두사 목록입니다. 동일한 정책 시행이 필요한 IP 주소 범위 세트를 정의하는 CIDR 블록의 컬렉션입니다. | 선택 사항 기본값: NA 사용자 지정 보안 그룹 수신 규칙을 만들지 않는 한 AccessCIDR, PrefixList 또는 SecurityGroup 중 하나 이상을 정의하여 인바운드 트래픽을 허용합니다. |
SecurityGroup | 인스턴스에 대한 인바운드 및 아웃바운드 트래픽을 제어하는 가상 방화벽입니다. | 선택 사항 기본값: NA 인스턴스에 액세스할 수 있는 프로토콜, 포트 및 IP 주소 또는 CIDR 블록을 지정하는 규칙 세트로 구현됩니다. 사용자 지정 보안 그룹 수신 규칙을 만들지 않는 한 AccessCIDR, PrefixList 또는 SecurityGroup 중 하나 이상을 정의하여 인바운드 트래픽을 허용합니다. |
UsePersistentVolume | 데이터를 저장하기 위해 새 영구 볼륨을 사용할지 기존 영구 볼륨을 사용할지 지정합니다. 매개변수 섹션 아래의 자세히 알아보기: 영구 볼륨 사용 |