SSブログ

Amazon EC2 インスタンスを1からコマンドラインで立ててみる(その1:事前準備編) [Amazon AWS]

 パブリッククラウドの雄(?)であるAmazon AWS、便利ですよねー。とっても便利ですよねー。あまりにも便利すぎてインフラ屋さんとしては堕落してしまうくらい便利ですよねー。(笑)

 さて、その便利でたまらないAmazon AWSの、EC2インスタンスを1から調き…じゃない、セットアップして育ててみたいと思いますが、便利な(でもしょっちゅう改造されてイラッとさせられる)GUIをあえて使わずに、漢らしく(?)全部CLIで解決したいと思います。(笑)
 で、WindowsからでもCLI操作はできるのですが、個人的な趣味嗜好・宗教上の事情によりLinux上で操作する方向でまいります。(笑)

 あと、Amazon AWSアカウントのサインアップについてはどうしようもないのでブラウザからなんとかしてください。(笑)ここでは、Amazon AWSのアカウントが取得できており、

・AWSアクセスキー
・AWSシークレットキー

 の取得が終わっていることを前提にしています。あ、あと自分で好き勝手なことが出来るLinux環境があると言う点も大前提です。(イマドキのMacでも良いかもしんないけど。)


 手順としてはこんな感じです。なお、まずはVPCを使用しない編で参ります。VPCを使用する編は後日記事を作成したいと思います。

事前準備:
1:コマンドラインインタフェースのセットアップ

EC2インスタンスを立てる前にすること:
2:「ロール」を作成しておく
3:「セキュリティグループ」を作成する

EC2インスタンスを作成する:
4:EC2インスタンスを作成する

EC2インスタンスを作成したらすること:
5:必要な設定を入れ込む



 まずは、操作に必要なコマンドラインインタフェースをインストールします。
 「awscli」と呼ばれる物を使用しますが、これはpython 2.6以降が必要です。まあ、大抵入っていると思います。検証環境として、インストールしたばっかりのCentOS7 を使用しましたが、入っていました。
[root@maya ~]# python -V
Python 2.7.5

 「pip」というコマンドを使ってインストールするのですが、まっさらな状態だとコレが入っていないようなので、コイツのインストールから始めます。
 チョー簡単です。

 easy_install pip

 こんだけ。これでOK。easy_installはイマドキのpythonインストール済み環境なら最初から入っていると思いますが、もし入っていない場合、あるいはpythonのバージョンが古い場合、あるいはyumとかでなく手でbuildしてインストールしたような場合は、Google先生に教えを請うなり、そのスジのサイトを見るなどして自分でどうにかしてください。(笑)

[root@maya ~]# easy_install pip
Searching for pip
Reading https://pypi.python.org/simple/pip/
Best match: pip 1.5.6
Downloading https://pypi.python.org/packages/source/p/pip/pip-1.5.6.tar.gz#md5=01026f87978932060cc86c1dc527903e
Processing pip-1.5.6.tar.gz
Writing /tmp/easy_install-37JC3L/pip-1.5.6/setup.cfg
Running pip-1.5.6/setup.py -q bdist_egg --dist-dir /tmp/easy_install-37JC3L/pip-1.5.6/egg-dist-tmp-OecBVR
warning: no files found matching 'pip/cacert.pem'
warning: no files found matching '*.html' under directory 'docs'
warning: no previously-included files matching '*.rst' found under directory 'docs/_build'
no previously-included directories found matching 'docs/_build/_sources'
Adding pip 1.5.6 to easy-install.pth file
Installing pip script to /usr/bin
Installing pip2.7 script to /usr/bin
Installing pip2 script to /usr/bin

Installed /usr/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg
Processing dependencies for pip
Finished processing dependencies for pip
[root@maya ~]#


 こうしてpipがインストールできたら、続いてawscliのインストールにとりかかります。これもチョー簡単です。

 pip install awscli

 こんだけ。

[root@maya ~]# pip install awscli
Downloading/unpacking awscli
  Downloading awscli-1.4.2.tar.gz (239kB): 239kB downloaded
  Running setup.py (path:/tmp/pip_build_root/awscli/setup.py) egg_info for package awscli
(以下省略)
[root@maya ~]#


 いろいろゴチャゴチャーっと出力されますが、内容は気にしなくても大丈夫。タブン。
 インストールが終わったら、awsコマンドが使用出来るかどうか確認しましょう。

 aws help

 と打ってみてヘルプが出れば今はとりあえずOK。

AWS()                                                                    AWS()



NAME
       aws -

DESCRIPTION
       The  AWS  Command  Line  Interface is a unified tool to manage your AWS
       services.

SYNOPSIS
          aws [options] <command> <subcommand> [parameters]

       Use aws command help for information on a specific command.

OPTIONS
       --debug (boolean)

(以下略)


 ただし、このままではまだawsコマンドは正常に機能しません。「アクセスキー」と「シークレットキー」を設定しなければなりません。そこで、
 aws configure

 を実行します。

[root@maya ~]# aws configure
AWS Access Key ID [None]: HOGEHOGE
AWS Secret Access Key [None]: HOGEHOGEHOGEHOGE
Default region name [None]: ap-northeast-1
Default output format [None]:


 AWS Access KEY IDとAWS Secret Access Keyは、AWSにサインアップした時に発行されているものです。Web上から確認することが出来るので確認しておいてください。上記例では「HOGEHOGE」とか「HOGEHOGEHOGEHOGE」とか書いていますが、その部分に各自のソレを当てはめてください。
 Default region name は、AWSのクラウド環境は世界各地に配置されていますが、その「どこにある環境」を使うか?という指定をするものです。ここで指定しなくても良いのですが、いちいち指定するのが面倒臭いので、日本人なら東京にあるリージョンを使うだろ!という人は、上記の通りap-northeast-1と入力しておきましょう。
 Default output format は何も指定せずにEnter一発で良いです。なお、ここで無指定だとJSON型式で結果が得られることになります。



 ところでこのJSON型式。シェルスクリプト書きには邪悪なテキストフォーマットであると思いますので、これをよろしくパースしてくれるツールが欲しくなります。一般的には

 jq

 というパーサを使うとハッピーになれますので、これが無い場合はインストールしましょう。tarballを入手してbuildしてもいいし、yumやらaptでゲットできるならそれでも構いません。

nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。