Symfoware

Symfowareについての考察blog

はじめてのアマゾンウェブサービス(AWS) コマンドでEC2インスタンスを起動する

AWS + EC2を触ってみています。
はじめてのアマゾンウェブサービス(AWS) nginx + php-fpmでCodeIgniterを動かす

前回作成したインスタンスは使わない時停止しています。

管理コンソール
https://ap-northeast-1.console.aws.amazon.com/console/home

ここから起動すれば良いのですが、リモートからコマンドで起動できれば便利なので、
やりかたを調べてみます。




AWS コマンドラインインターフェイス



ちゃんとマニュアルがあります。
http://aws.amazon.com/jp/cli/

Windows版はインストーラーが用意されているようですね。
普段はUbuntu 14.04を使用しているので、Pythonのツールを使用することにしました。



awscli



pipで公開されているんですね。
普段はeasy_installを愛用しているので、このコマンドでインストールしました。


$ sudo easy_install awscli




ちゃんとインストールできたようです。


$ aws
usage: aws [options] <command> <subcommand> [parameters]
aws: error: too few arguments





$ aws help



でヘルプが閲覧できます。





aws ec2 start-instances



起動にはインスタンスIDが必要だそうで、管理画面上から確認しておきます。


$ aws ec2 start-instances --instance-ids [インスタンスID]




・・・これって、インスタンスIDがわかれば、誰でも起動できるんじゃ


$ aws ec2 start-instances --instance-ids i-1348636c
Unable to locate credentials. You can configure credentials by running "aws configure".




そんなに甘くないです。
aws configureを実行してみます。


$ aws configure
AWS Access Key ID [None]:
AWS Secret Access Key [None]:
Default region name [None]:
Default output format [None]:



AWS Access Key IDなどが必要だそうで。





アクセスキー ID と秘密アクセスキーの取得



ここがわからなくてハマりました。

AWS-CLIの基本的なセットアップを行う
こちらを参考にアクセスキーを取得しました。

以下のURLにアクセスするとこんな画面が表示されます。
https://console.aws.amazon.com/iam/home?#security_credential

本当はIAMにユーザーを作成しなきゃいけないようなのですが...
「Continue to Security Credentials」をクリック。

592_01.png


「Access Kyes(Access Key ID and Secrat Access Key)」をクリックして展開。
「Create New Access Key」をクリックします。

592_02.png


欲しかったAccess Key IDとSecret Access Keyが表示されます。

592_03.png


この2つの文字列をコピーしておきます。




aws configure



aws configureを実行して、先ほど入手した「AWS Access Key ID」と
「AWS Secret Access Key」を入力します。

Default region nameは...Tokyoでいいのかな?(これが間違いでした)


$ aws configure
AWS Access Key ID [None]: AWXACCESSKEYID
AWS Secret Access Key [None]: AWSSECRETACCESSKEY
Default region name [None]: Tokyo
Default output format [None]: text




設定を終えてインスタンスの起動コマンドを実行します。


$ aws ec2 start-instances --instance-ids i-6289999

('Connection aborted.', gaierror(-2, 'Name or service not known'))



エラーになりました。




Default region name



Default region nameに指定した名称が存在しないものだと上記のエラーになります。
Tokyoリージョンは「ap-northeast-1」という名前を指定します。

もう一度「aws configure」を実行して、「Default region name」に「ap-northeast-1」を指定しました。

管理コンソールのサブとメインでいいのかな?

592_04.png


満を持して起動コマンドを実行


$ aws ec2 start-instances --instance-ids i-6289999
STARTINGINSTANCES    i-6289999
CURRENTSTATE    0    pending
PREVIOUSSTATE    80    stopped




起動に成功したようです。
管理画面上も「Instance State」が「pending」に変化しました。

592_05.png


AWS RDSサービスの停止(バックアップと復元)
データベース復元のテストも兼ねて、作成したWebアプリを動かしてみました。

592_06.png

シーケンス番号が以前からの続きで表示されました。
ちゃんと復帰できました。

だた、再起動するとグローバルIP変わっちゃうんですね。

Elastic IP アドレスをインスタンスに割り当てれば固定化できるそうです。
Elastic IP アドレスをインスタンスに割り当てる

今度試してみます。
関連記事

テーマ:サーバ - ジャンル:コンピュータ

  1. 2015/03/10(火) 21:59:33|
  2. 備忘録
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
<<はじめてのアマゾンウェブサービス(AWS) グローバルIPの固定(Elastic IP アドレスを割り当て) | ホーム | AWS RDSサービスの停止(バックアップと復元)>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://symfoware.blog68.fc2.com/tb.php/1686-3d0f9abe
この記事にトラックバックする(FC2ブログユーザー)