실습 과정 중 가상머신 상에 진행했던 클러스터 구축은 상당한 수작업을 요구했습니다. 이에 인스턴스를 클라우드 상에 배포하고 SDK를 사용하여 GUI로 편리하게 클러스터를 관리하고자 했습니다.
-
프로젝트 폴더 구성
├───node_modules ├───public │ ├───css │ └───js ├───src │ ├───config # aws 관련 설정 파일 │ ├───controller # 컨트롤러 │ ├───routes # 라우터 │ ├───service # 서비스 │ │ └───ec2 │ └───utils # 기타 함수 └───views └───ec2 # 뷰
-
프라이빗 키 삽입
이후 sdk를 사용하여 인스턴스에 ssh로 접속하기 위해서는 프라이빗 키가 필요하다. 따라서 프로젝트 루트에 본인의 aws 프라이빗 키(.pem)를 위치시킨다. (이는
.gitignore
에 포함되므로 깃허브에 본인의 키가 올라갈 일은 없다.) -
의존성 설치
npm install # 의존성 설치 npm run dev # 실행
-
환경변수
AWS SDK를 사용하려면 AWS 리전정보, 액세스 키 정보가 필수적이다. 이를 위해
.env.example
을 참고하여.env
를 채워넣도록 한다.# .env.example AWS_REGION= # AWS 리전 AWS_ACCESS_KEY_ID= # AWS 액세스 키 AWS_SECRET_ACCESS_KEY= # AWS 비밀 액세스 키 PORT= # 서버 실행 포트 HTCONDOR_TAG_KEY=Name # HTCondor 클러스터 태그 키 HTCONDOR_TAG_PREFIX=HTCondor_Data # HTCondor 클러스터 태그명 접두사 HTCondor_SG_ID=sg-xxxx # HTCondor 클러스터가 속한 보안그룹
-
stop
시condor_status
확인 (생략)
Your requested instance type (<instance type>) is not supported in your requested Availability Zone (<instance Availability Zone>)...
오토스케일링 그룹 생성 시, ‘유효하지 않은 가용 영역’이라는 오류가 나며 생성을 실패한 경우가 발생했다. 이는 인스턴스 유형에 따라 가용 영역이 제한되는 경우가 있었기 때문이고, 인스턴스에 맞는 가용영역을 선택하여 해결하였다.
Amazon EC2 Auto Scaling 문제 해결: EC2 인스턴스 시작 실패 - Amazon EC2 Auto Scaling