AWS 일반 CfnCluster를 사용한 HPC on AWS 구축

6105 단어 AWScfnclusterPython

CfnCluster와의 연애 경험은?


AWS에서 클러스터 시스템을 간단하게 구축할 수 있는 도구
Starcluster의 공식 버전
Getting started 여기 있습니다.

환경 구조


현재 환경
- ASUS C300
- Chrome OS(linux-64)
- miniconda3-3.18.3

AWS 준비


AWS 콘솔에 사용자 생성
  • 신규 사용자 생성
  • 사용자 선택 > 액세스 허가 > 정책 첨부 파일 > AdministratorAccess
  • 다른 캐릭터는 괜찮을지 모르겠어요.
  • 인증 정보 > 액세스 키 만들기 > 인증 정보 다운로드
  • 창설키 쌍pem파일
  • 다운로드

    CfnCluster 설치

  • anaconda를 통한 가상 환경 구축
  • psyhon2.7이 아니면 안 되는 모습
  • conda create -n cfn python=2.7 boto boto3 # 一応、conda公式にあるbotoを入れておく
    source activate cfn
    pip install cfncluster
    

    configure 파일 생성

    (cfn)chronos@localhost / $ cfncluster configure
    
    마법사 형식으로 각종 정보를 입력하다
    - Cluster Template: # 클러스터 이름.이번에는 마이클로스터.
    - AWS Access Key ID: # 참조 인증 정보
    - AWS Secret Access Key ID: # 참조 인증 정보
    - AWS Region ID: # 선택 항목을 표시합니다.이번에는 ap-northeast-1.
    -VPC Name: #VPC 이름은 뭐든지 좋습니다. 이번엔 테스트입니다.
    - Key Name: # 방금 만든 키 선택
    - VPC ID: # 선택 항목을 표시합니다.
    - Master Subnet ID: # 선택 항목을 표시하려면
    설정된 config 파일이 여기에 생성됨
    ~/.cfncluster/config
    [aws]
    aws_region_name = ap-northeast-1
    aws_access_key_id = xxxxxxxxxxxxxxxxx
    aws_secret_access_key = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    
    [cluster mycluster]
    vpc_settings = test
    key_name = xxxxxx
    
    [vpc test]
    master_subnet_id = subnet-xxxxxxxx
    vpc_id = vpc-xxxxxxxx
    
    [global]
    update_check = true
    sanity_check = true
    cluster_template = mycluster
    
    자세한 설정은 참조여기.

    사용 가능한 설정 항목


    config 파일의 [cluster] 부분을 보충하면 됩니다.
    이 항목들은 설정하지 않아도 기본값으로 시작됩니다
  • master_instance_주인의 실례default는 t2입니다.micro
  • compute_instance_type: 계산 노드의 실례default는 t2입니다.micro
  • initial_queue_먼저 일어서서 노드의 수량을 계산하다.default 는 2
  • maintain_initial_Auto scaling을 진행할지 여부.기본값은 가짜(확대/축소)와는 반대
  • 입니다.
  • max_queue_size: Auto Scoling에서 최대 노드 수를 계산합니다.default 는 10

  • cluster_ondemand로 cluster를 세울까요, 아니면 spot으로 세울까요?기본값은 ondemand입니다.
    스팟을 지정해도 마스터 서버는 ondemand(중간에 떨어지면 귀찮아진다.)
  • spot_price: cluster_type=spot시 입찰액.defalut=0.00
  • custom_AMI 모양 지정 가능
  • proxy_server: http_proxy server
  • base_os:default는 alinux(amazon linux)
  • 입니다.
    다음 항목을 추가하여 시작합니다
    maintain_initial_size = true
    initial_queue_size = 1
    cluster_type = spot
    compute_instance_type = m3.medium
    spot_price = 0.02
    

    CfnCluster 사용 방법


    클러스터 시작

    (cfn)chronos@localhost / $ cfncluster create mycluster
    
    스타클러스터보다 시간이 많이 걸려요.
    1 주 제어, 1 노드 계산에 20분 미만 소요
    상세한 상황은 아래와 같다.
    - 보안 설정: 4min
    - 시동 모드: 5min
    - 배너: 5min
    - 계산 시작 노드: 3min
    - 후처리: 1min
    bid가 너무 낮아서 만들 수 없을 때 ctrl-x에서 cfncluster를 막아도 EC2는 좀비화된다.cfncluster delete mycluster 철저히 멈춰라.

    강리아 확인하기.


    cfn으로 시작하면 서버의 모니터링 도구Ganglia도 함께 시작합니다.
    Output:"GangliaPublicURL"="http://xx.xxx.xxx.xxx/ganglia/"

    ssh로 연결

  • 공용 IP 주소를 저장하고ec2-user@공용 IP로 ssh 연결
  • 확인

    qhost

    클러스터 제거

    (cfn)chronos@localhost / $ cfncluster delete mycluster
    

    소감&의문

  • 순수한 안도감이 있습니다.근데 왜 이렇게 느리지?
  • 노드의 현식 증감을 계산하면 어떻게 합니까?update?
  • Auto Scoling은 재미있어 보이지만 조사되지 않음
  • S3과의 협력도 조사해야 한다
  • 오늘 여기까지
  • [자꾸 까먹어서 필기] 크롬북-secureshell로 EC2에 연결된 SSH.


    참조 링크
    비밀 키는 키입니다.pem으로
    mkdir sshkey
    cp key.pem ./sshkey/
    chmod 600 ./sshkey/
    sudo ssh-keygen -y -f ./sshkey/key.pem >key.pub
    cp key.pem key
    
    생성된 키(rename key.pem) 및 키입니다.두 개의pub를 삽입Secure Shell합니다.

    좋은 웹페이지 즐겨찾기