事前確認事項

設定箇所

事前準備

  1. 負荷分散として起動したいAMI/instanceを作っておく
  2. APIに必要なパッケージなどのインストール等の準備をする
    1. 自分はリモートの実験用Instanceを立ち上げる
    2. AutoScaleのファイルをアップロードします(自分は/var/autoscaleにしてみました)
    3. sshでログインして作業
      mkdir /var/autoscale
      cd /var/autoscale/ 
      unzip Autoscale...zip
      cp credential-file-path.template credential-file-path 
      emacs credential-file-path <=API id/pwを入れる
      chmod 600 credential-file-path
    4. X509ファイルをアップロードします。
      scp -i tokyo.pem -r ~/AWSx509 root@aya.example.jp:/var/autoscale/
    5. Javaを入れます。
      aptitude install default-jre
    6. versionを確認
      java -version
      java version "1.6.0_18" 
      OpenJDK Runtime Environment (IcedTea6 1.8.3) (6b18-1.8.3-2+squeeze1)
      OpenJDK Client VM (build 16.0-b13, mixed mode, sharing)
    7. パッケージの場所を確認
      whereis java
      java: /usr/bin/java /etc/java /usr/share/java /usr/share/man/man1/java.1.gz
    8. 環境変数に登録
      export  JAVA_HOME='/usr'
      export AWS_AUTO_SCALING_HOME='/var/autoscale'
      export PATH=$PATH:$AWS_AUTO_SCALING_HOME/bin
      export AWS_CREDENTIAL_FILE='/var/autoscale/credential-file-path'
      export EC2_CERT='/var/autoscale/AWSx509/cert-hogehoge.pem'
      export EC2_PRIVATE_KEY='/var/autoscale/AWSx509/pk-hogehoge.pem'
      export EC2_REGION='ap-northeast-1'
      

設定追加

  1. AutoScaling?用の設定をする(ローカルでもリモートでも)
  2. 利用したいinstance設定の登録
    設定ファイルを登録
    as-create-launch-config roseLc --image-id ami-9e1ab19f --instance-type m1.small
    as-create-launch-config 設定名 --image-id 現在sshしているinstanceのAMI ID --instance-type 起動したいインスタンスタイプ
    結果帰ってくる内容
    OK-Created launch config
  1. instanceをauto scaling groupに登録させる
    as-create-auto-scaling-group roseGroup --launch-configuration roseLc --availability-zones ap-northeast-1a --min-size 1 --max-size 1
    OK-Created AutoScalingGroup
    ↑これをするとroseというインスタンス以外にもう一つ立ち上がる
    (マネージメントコンソールで止めても勝手にゾンビのように立ち上がる)
    東京Regionはap-northeast-1a
  1. スケーリング時の動作を設定する
    (増える設定)
    as-put-scaling-policy rosePolicy --auto-scaling-group roseGroup --adjustment=1 --type ChangeInCapacity
    arn:aws:autoscaling:ap-southeast-1:030903184259:scalingPolicy:91764b74-0ccd-4f6e-8928-df6911186649:
    autoScalingGroupName/roseGroup:policyName/rosePolicy

(減らす設定)

as-put-scaling-policy cloudPolicy --auto-scaling-group cloudGroup --adjustment=-1 --type ChangeInCapacity
arn:aws:autoscaling:ap-southeast-1:030903184259:scalingPolicy:91764b74-0ccd-4f6e-8928-df6911186649:autoScalingGroupName/cloudGroup:policyName/cloudPolicy

設定変更

  1. どのAuto Scalingのグループに属しているインスタンスにヘルスチェックをつける: as-set-instance-health
  1. 特定のAuto scalingグループで起動するインスタンス数を設定する:as-set-desired-capacity
    (グループで指定されている最大インスタンス数内)
  1. 保留されていたプロセスを再開する: as-resume-processes
  1. ☆メトリックコレクションを無効にする: as-disable-metrics-collection
  1. ☆メトリックコレクションを有効にする: as-enable-metrics-collection
    as-enable-metrics-collection roseGroup  --granularity  1Minute
    OK-Enabled metrics collection
--show-requestをつけるとリクエストしているHTTPリクエストが見れる
as-enable-metrics-collection cloudGroup -g 1Minute --show-request
https://autoscaling.ap-southeast-1.amazonaws.com/?AutoScalingGroupName=cloudGroup
&Granularity=1Minute&Version=2010-08-01&Action=EnableMetricsCollection&SignatureVersion=2
&SignatureMethod=HmacSHA256&Timestamp=2011-03-18T04%3A26%3A00.034Z
&AWSAccessKeyId=アクセスキーID&Signature=

OK-Enabled metrics collection

確認方法

  1. 全体を確認: as-describe-launch-configs
    as-describe-launch-configs 
    LAUNCH-CONFIG  roseLc  ami-XXXXXX  m1.small
  2. どのような適応ポリシーがあるか確認: as-describe-adjustment-types
    as-describe-adjustment-types
    ADJUSTMENT-TYPE  ChangeInCapacity
    ADJUSTMENT-TYPE  ExactCapacity
    ADJUSTMENT-TYPE  PercentChangeInCapacity
  3. すべての計測コレクションタイプと計測されたグラニュラリティタイプを確認する: as-describe-metric-collection-types
    as-describe-metric-collection-types
    METRIC-COLLECTION-TYPE  GroupMinSize
    METRIC-COLLECTION-TYPE  GroupMaxSize
    METRIC-COLLECTION-TYPE  GroupDesiredCapacity
    METRIC-COLLECTION-TYPE  GroupInServiceInstances
    METRIC-COLLECTION-TYPE  GroupPendingInstances
    METRIC-COLLECTION-TYPE  GroupTerminatingInstances
    METRIC-COLLECTION-TYPE  GroupTotalInstances
    METRIC-GRANULARITY-TYPE  1Minute
  1. 現在のポリシーを確認: as-describe-policies
    as-describe-policies
    No policies found
  1. Auto Scalingに関するプロセスを確認する: as-describe-process-types
    as-describe-process-types
    PROCESS  AZRebalance
    PROCESS  AlarmNotification
    PROCESS  HealthCheck
    PROCESS  Launch
    PROCESS  ReplaceUnhealthy
    PROCESS  ScheduledActions
    PROCESS  Terminate
  1. ☆現在起動している/もしくは特定のグループで起動しているAuto Scalingの最大値を表示する: as-describe-scaling-activities
    as-describe-scaling-activities
    ACTIVITY  ACTIVITY-ID           END-TIME             CODE        CAUSE
    ACTIVITY  74758a33-bfd5-4df...  2009-05-11T16:27:36Z Successful  "At 1970-01-01 00:00:00Z an instance was started in response to a difference between desired and actual capacity, increasing the capacity from 0 to 1."
  1. ☆予定されているアクションを確認する: as-describe-scheduled-actions
    as-describe-scheduled-actions
    GROUP-NAME  NAME          TIME                    MIN-SIZE   MAX-SIZE   DESIRED-CAPACITY
    test-cg     test-action1  2010-06-01T00:00:00Z    1          2          1
  1. 設定されたグループを確認: as-describe-auto-scaling-groups
    as-describe-auto-scaling-groups --headers
    -------------------------
    ↓何か設定されていたら↓
    -------------------------
    AUTO-SCALING-GROUP  GROUP-NAME  LAUNCH-CONFIG  AVAILABILITY-ZONES  MIN-SIZE  MAX-SIZE  DESIRED-CAPACITY
    AUTO-SCALING-GROUP  roseGroup   roseLc         ap-northeast-1a     1         1         1              
    INSTANCE  INSTANCE-ID  AVAILABILITY-ZONE  STATE      STATUS   LAUNCH-CONFIG
    INSTANCE  i-3c3ab93d   ap-northeast-1a    InService  Healthy  roseLc
    -------------------------
    ↓何も設定されていなかったら↓
    -------------------------
    No AutoScalingGroups found
  2. Auto Scalingで立ち上がったInstanceを確認する: as-describe-auto-scaling-instances
    as-describe-auto-scaling-instances --headers
    -------------------------
    ↓AutoScaling用のinstanceがあれば↓
    -------------------------
    INSTANCE  INSTANCE-ID  GROUP-NAME  AVAILABILITY-ZONE  STATE      STATUS   LAUNCH-CONFIG
    INSTANCE  i-3c3ab93d   roseGroup   ap-northeast-1a    InService  HEALTHY  roseLc
    -------------------------
    ↓AutoScaling用のinstanceがなければ↓
    -------------------------
    No instances found

自動で起こる事

  1. 必要があれば起動、削除

いらなくなった時(削除)

  1. auto scalingで立ち上げたinstanceを削除する(サーバ0台とする事で削除する)
    as-update-auto-scaling-group roseGroup --min-size 0 --max-size 0
    OK-Updated AutoScalingGroup
  1. auto scale groupを削除する
    as-delete-auto-scaling-group roseGroup
    Are you sure you want to delete this AutoScalingGroup? [Ny] <= y Enter
    OK-Deleted AutoScalingGroup
  2. auto scale 設定を削除する
    as-delete-launch-config roseLC
    Are you sure you want to delete this launch configuration? [Ny] <= y Enter
    OK-Deleted launch configuration

確認方法

エラー時には

参考URL


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-03-12 (月) 16:54:41 (197d)