아마존 웹서비스

Auto Scaling 설치

사전준비 - 자바설치

Auto Scaling을 이용하기 위해서는 CLI(Command Line Interface)를 사용해야 한다. CLI는 명령어를 이용해서 아마존 인프라를 제어하는 것이다. 이것을 위해서는 자바가 필요하다. 운영체제마다 사용법이 조금씩 다르다. 다음 링크를 참조해서 java를 자신의 운영체제에 설치한다.

Command Line Interface 설정

Auto Scaling을 위한 커멘드 라인 프로그램은 아래의 링크를 통해서 다운받을 수 있다.

파일을 다운받고 프로그램을 설치하는 디렉토리에서 압축을 풀자. 거기서부터 시작할 것이다. 아래는 운영체제별 설치 및 설정 방법이다.

Window

설치

Auto Scaling 파일을 다운 받은 후에 아무 디렉토리에 압축을 해제해도 된다. 하지만 일반적으로 윈도에서 프로그램은 Program Files 디렉토리를 사용하기 때문에 이 디렉토리에 압축을 풀도록한다. 필자의 컴퓨터에서 윈도우 탐색기를 실행한 결과는 아래와 같다. 이 그림을 참조해서 적당한 곳에 설치한다. 

환경변수 설정

환경변수 AWS_AUTO_SCALING_HOME은 Auto Scaling Commnad Line Tool (줄여서 CLI도구)가 내부적으로 사용하는 환경변수인데, 이것이 내부적으로 어떤 용도인지는 몰라도 된다. 이 변수에는 CLI도구가 설치된 경로를 지정한다. 이 경로는 bin과 lib이라는 이름의 디렉토리를 포함하고 있는 디렉토리의 경로를 지정하면 된다.

필자가 프로그램을 설치한 경로를 기준으로 환경변수를 지정한다면 아래와 같다.

AWS_AUTO_SCALING_HOME
C:\> set AWS_AUTO_SCALING_HOME="C:\Program Files\AutoScaling-1.0.61.2"
C:\> setx AWS_AUTO_SCALING_HOME "C:\Program Files\AutoScaling-1.0.61.2"
PATH

C:\> set PATH=%AWS_AUTO_SCALING_HOME%\bin;%PATH%
C:\> setx PATH "%PATH%;%AWS_AUTO_SCALING_HOME%\bin"

아래와 같은 오류가 발생하면 콘솔을 관리자 모드로 실행하자. 관리자로 실행하는 방법은 아래 그림을 참고하자(윈도우8)

오류: 구문이 잘못되었습니다. 기본 옵션은 '2'번 이상 허용되지 않습니다.
사용법을 보려면 "SETX /?"를 입력하십시오.
아무 디렉토리에서나 as-cmd 명령을 입력했을 때 아래와 같은 화면이 출력된다면 잘 설치된 것이다.

Linux/Mac

설치

다운받은 Auto Scaling tools를 /usr/local에 압축해제한다. 일반적으로 /usr/local에 압축을 해제하면 된다. 압축을 해제한 디렉토리의 이름을 AutoScaling-1.0.61.2라고 가정하겠다.

Mac의 경우 웹브라우저를 이용해서 Auto Scaling Command Line Tool에 방문한 후에 파일을 다운로드 받으면 자동으로 압축이 해제된다. 그리고 아래와 같이 명령을 입력해서 압축이 해제된 파일을 /usr/local로 이동한다. 

sudo mv ~/Downloads/AutoScaling-1.0.61.2 /usr/local/AutoScaling-1.0.61.2

리눅스는 압축을 해제한 후에 Mac과 마찬가지로 /usr/local로 이동한다.

sudo mv AutoScaling-1.0.61.2 /usr/local/AutoScaling-1.0.61.2

환경변수 설정

환경변수 AWS_AUTO_SCALING_HOME은 Auto Scaling Commnad Line Tool (줄여서 CLI도구)가 내부적으로 사용하는 환경변수인데, 이것이 내부적으로 어떤 용도인지는 몰라도 된다. 이 변수에는 CLI도구가 설치된 경로를 지정한다. 이 경로는 bin과 lib이라는 이름의 디렉토리를 포함하고 있는 디렉토리의 경로를 지정하면 된다.

필자가 프로그램을 설치한 경로를 기준으로 환경변수를 지정한다면 아래와 같다. 맥과 리눅스 모두 같은 방법으로 하면 된다.

AWS_AUTO_SCALING_HOME

아래와 같이 실행한다. 

export AWS_AUTO_SCALING_HOME=/usr/local/AutoScaling-1.0.61.2

자동으로 환경변수를 설정하기 위해서 홈 디렉토리에 있는 .bash_profile 파일의 하단에 위의 내용을 추가한다. 

vi ~/.bash_profile

PATH

아래와 같이 실행한다. 

export PATH=$PATH:$AWS_AUTO_SCALING_HOME/bin

자동으로 환경변수를 설정하기 위해서 홈 디렉토리에 있는 .bash_profile 파일의 하단에 위의 내용을 추가한다. 

vi ~/.bash_profile

아무 디렉토리에서나 아래와 같이 실행결과가 출력된다면 설치에 성공한 것이다. 

보안 설정

AutoScaing을 사용하려면 인증 절차를 거쳐야 하는데 아래와 같이 한다. 

  1. Security Credentials 페이지로 이동한다. 
  2. Access Credentials 항목을 찾는다. 
  3. Access Keys 탭을 선택하고 Access Key Id와 Secret Access Key의 show를 눌러서 나타나는 Secret Access Key 값을 얻는다. 
  4. Autoscaing이 설치된 디렉토리 안에  credential-file-path.template 파일을 credential 로 이름을 변경한다. 
  5. credential 안의 내용을 위 3번 과정을 통해서 알아낸 key 값으로 대체한다. 
  6. 이 파일의 위치를 환경변수로 지정한다. 아래는 운영체제 별 환경변수 지정 방법이다.  

Windows

C:\> set AWS_CREDENTIAL_FILE=C:\aws\myCredential 
C:\> setx AWS_CREDENTIAL_FILE C:\aws\myCredential 

Linux/Mac

보안을 위해서 credential 파일을 소유자만 접근 할 수 있도록 변경한다. 

chmod 600 credential;

아래의 명령을 실행해서 credential 파일이 어디에 있는지를 환경변수로 지정한다. 

export AWS_CREDENTIAL_FILE=$AWS_AUTO_SCALING_HOME/credential;

위의 내용을 ~/.bash_profile에 추가한다. 

지역(Region) 설정

Auto Scaling은 지역별로 독립적으로 사용된다. 따라서 지역을 지정해야 하는데 아래와 같이 한다. 

  1. 지역별 end-point를 참조해서 사용할 지역을 선택한다.
  2. 아래와 같이 환경변수를 설정한다. (도쿄를 지역으로 사용할 때)

Windows

set AWS_AUTO_SCALING_URL=https://autoscaling.ap-northeast-1.amazonaws.com
setx AWS_AUTO_SCALING_URL https://autoscaling.ap-northeast-1.amazonaws.com

Linux/Mac

export AWS_AUTO_SCALING_URL=http://autoscaling.ap-northeast-1.amazonaws.com

위의 내용을 ~/.bash_profile에 추가한다. 

댓글

댓글 본문
  1. yoojat
    요건 어떻게 해석해야 할까요 ㅠ

    yoojatui-MacBook-Pro:AutoScaling-1.0.61.6 yoojat$ as-describe-launch-configs
    as-describe-launch-configs: Refused: The security token included in the request is invalid
    AWSRequestId:c47e17bb-94dd-11e6-9fbf-ad4b32e327cc

    일주일째 이거 해결할려고 잡고 있는데 시간만 죽이고 있네요 ㅠㅠㅠㅠㅠ
  2. 워킹
    /usr/libexec/java_home -V
    자바버전 일케 확인합니다..
    대화보기
    • 워킹
      맥 오류뜨시면
      export AWS_AUTO_SCALING_HOME=/usr/local/AutoScaling-1.0.61.2
      여기서 버전 보시구요 저는 61.6으로 바꾸니 오류해결


      자바 path를
      export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)식으로해야하는듯합니다.

      1.7인지 1.8인지 자바 버전 확인하시구요..
    • WayneKing
      흠... 내부적으로 동작을 이해 못해서 왜 콘솔 문장이 no launch configuration found 이렇게 나오는 지 모르겠어요.

      재대로 적용된 건데,런치 컨피그레이션을 "찾을 수 없다" 라고 하니까 뭔가 찜찜하네요...
      대화보기
      • egoing
        런치 컨피그레이션을 찾을 수 없다는 뜻입니다~
        대화보기
        • WayneKing
          no launch configuration found 이녀석 해석할 때 no를 "제","번"로 해석해서

          제 론치 구성을 찾았다로 해석하는 게 적절한가요?

          영어 잼병...
        • koyulka@naver.com
          저도 처음에 "Malformed input-No Credentials were provided - cannot access the service" 라는 메세지가 나왔는데요. source ~/.bash_profile 해주니까 정상적으로 나오네요.

          상황은 이랬습니다.

          저같은 경우는 터미널 두개를 미리 띄워놓고 작업했는데요, 한군데서 환경변수 설정하고 source .bash_profile을 해주고 as-describe-launch-configs 치니까 "No launch configurations found"라고 잘 뜨더라구요.

          그런데 새로운 터미널을 열지 않고 이미 열어놓은 다른 터미널에서 as-describe-launch-configs를 실행했더니 "Malformed input-No Credentials were provided - cannot access the service"가 뜨더라구요.

          이미 열어놓았던 터미널은 다른 터미널에서 적용한 환경변수가 적용이 안된거죠.
        • 뎁온누리
          CMD에서 cls명령어를 치시면 화면이 지워집니다! 참고하세요^^
        • 마카바
          왜 그런지 모르겠지만
          as-describe-launch-configs
          쳤을 때 아래처럼 나올때가 있습니다
          "Malformed input-No Credentials were provided - cannot access the service"
          credential 파일이 없어서 접근할 수 없다고 말하네요.
          저는 이렇게 해결했습니다

          1. 아래 명령어로 폴더에 접근합니다
          cd /etc/profile.d

          2. 아마존 콘솔을 설치할때 자동으로 생성된 다음 파일을 둘러봅니다
          vi aws-apitools-common.sh

          3.제일 하단에 보면 이런 주석문이 있습니다
          #export AWS_CREDENTIAL_FILE = /opt/aws/credentials.txt

          4.주석(#)을 제거하고, 조금 편하게 수정해보았습니다
          export AWS_CREDENTIAL_FILE = /opt/aws/credential

          5. 저장후 이동해서 파일을 확인해봅니다
          cd /opt/aws
          ls -al

          6. 이제부터 이고잉님의 강의대로 template이 나타났습니다
          credential-file-path.template
          강의대로 copy해주고 이름을 credential로 지정해줍니다
          cp credential-file-path.template credential

          7.이제 as-describe-launch-configs 명령을 쳐보면
          no launch configurations found가 뜹니다!! ^.^
        • 마카바
          밑에 글은 사실이 아닙니다;; 삭제가 안되네요
        • 마카바
          as-describe-launch-configs 라고 치면 형식에 맞지 않는 명령어라는 설명이 뜹니다
          aws console이 바뀌어서 그런게 아닐까 생각합니다
        버전 관리
        egoing
        현재 버전
        선택 버전
        graphittie 자세히 보기