mac環境にbrew installでawsコマンドラインツールをインストールしてスポットインスタンスをあれこれ
awsのアクセス証明書のページで秘密鍵と証明書を作成してダウンロードする
ダウンロードした秘密鍵と証明書を配置
mkdir ~/.ec2 mv ~/Downloads/cert-*.pem ~/.ec2/ mv ~/Downloads/pk-*.pem ~/.ec2/
brewでec2-api-toolsをインストール
brew install ec2-api-tools ------↓結果↓------ Software installed with other package managers causes known problems for Homebrew. If a formula fails to build, uninstall MacPorts/Fink and try again. ==> Downloading http://ec2-downloads.s3.amazonaws.com/ec2-api-tools-1.6.6.0.zip Already downloaded: /Library/Caches/Homebrew/ec2-api-tools-1.6.6.0.zip ==> Caveats Before you can use these tools you must export some variables to your $SHELL and download your X.509 certificate and private key from Amazon Web Services. Your certificate and private key are available at: http://aws-portal.amazon.com/gp/aws/developer/account/index.html?action=access-key Download two ".pem" files, one starting with `pk-`, and one starting with `cert-`. You need to put both into a folder in your home directory, `~/.ec2`. To export the needed variables, add them to your dotfiles. * On Bash, add them to `~/.bash_profile`. * On Zsh, add them to `~/.zprofile` instead. export JAVA_HOME="$(/usr/libexec/java_home)" export EC2_PRIVATE_KEY="$(/bin/ls "$HOME"/.ec2/pk-*.pem | /usr/bin/head -1)" export EC2_CERT="$(/bin/ls "$HOME"/.ec2/cert-*.pem | /usr/bin/head -1)" export EC2_HOME="/usr/local/Library/LinkedKegs/ec2-api-tools/jars"
install時に出力されるexportをbash_profileに記載
vi ~/.bash_profile
export JAVA_HOME="$(/usr/libexec/java_home)" export EC2_PRIVATE_KEY="$(/bin/ls "$HOME"/.ec2/pk-*.pem | /usr/bin/head -1)" export EC2_CERT="$(/bin/ls "$HOME"/.ec2/cert-*.pem | /usr/bin/head -1)" export EC2_HOME="/usr/local/Library/LinkedKegs/ec2-api-tools/jars"
source ~/.bash_profile
試しに、現在日付を開始日に指定してスポットインスタンスの価格確認をしてみる。
ec2dsph -t t1.micro -d Linux/UNIX --region us-east-1 -s `date +"%Y-%m-%dT00:00:00"`
次にVPCにスポットインスタンスをリクエストするコマンド
ec2-request-spot-instances ami-XXXXXXXX -t t1.micro -p .003 -n 1 -r one-time -s subnet-XXXXXXXX -k XXXXXXXXX -g sg-XXXXXXXX
パラメータはドキュメント参考でざっくりとした意味だけ書いてみます。
パラメータ | 意味 |
---|---|
t | インスタンスタイプ |
p | 1時間あたりの価格 |
n | 起動するインスタンスの数 |
r | 1回のみならone-timeを利用 |
s | vpcのサブネットを設定 |
k | アクセス用のキーペア |
sg | セキュリティーグループのID |
スポットインスタンスのステータス確認(awkで結果を変えてみてます。基本的には ec2dsirだけでOKだと思います)
ec2dsir | awk '{print $2"\t"$3}'
スポットインスタンスキャンセル(ec2csirを利用します。)
ec2csir sir-XXXXXXXX
起動はできました。このままだとEIP貼ってないので、この状態のままだと多分利用できません。 (すでにVPC内にアクセスできる状態にあるなら利用できます。)
追記: EIPの割当のエントリを書きました↓ awsコマンドラインツールで起動したスポットインスタンスにEIPを割り当てる(VPC環境)