はじめに
最近AWSを使う機会があり、よく触っています。
AWSは充実した管理画面があるので、WebブラウザからのGUIベースで簡単に環境を管理できます。ただ、Webブラウザ経由のGUIベースでAWS環境を管理するのもなかなか手間です。Infrastructure as Codeなんてのも流行ってきてますし、AWSの環境もコードで管理できるようにしたいです。
ということで、AWSにもAWSをコマンドラインで操作するためのツールであるAWS CLI(Command Line Interface)がありますので、CentOS 7.0にこれをインストールしてみました。
AWS CLIでAWSをCUIで使いこなすために、まずはインストール手順を記載します。
AWS CLI実行環境構築
公式手順を元にインストールを行います。LinuxではAWS-CLIのインストールのためにPython(バージョン2.6.3以上)が必要ですので、事前にインストールしておく必要があります。
AWS CLIのインストーラ取得
AWS CLI Bundled Installerを取得します。取得したファイルはどこでも良いので適当なディレクトリに設置します。
$ wget https://s3.amazonaws.com/aws-cli/awscli-bundle.zip
取得したファイルを展開します。
$ unzip awscli-bundle.zip
Archive: awscli-bundle.zip
inflating: awscli-bundle/install
inflating: awscli-bundle/packages/argparse-1.2.1.tar.gz
inflating: awscli-bundle/packages/virtualenv-1.10.1.tar.gz
inflating: awscli-bundle/packages/pyasn1-0.1.7.tar.gz
inflating: awscli-bundle/packages/rsa-3.1.2.tar.gz
inflating: awscli-bundle/packages/docutils-0.12.tar.gz
inflating: awscli-bundle/packages/six-1.8.0.tar.gz
inflating: awscli-bundle/packages/colorama-0.2.5.tar.gz
inflating: awscli-bundle/packages/bcdoc-0.12.2.tar.gz
inflating: awscli-bundle/packages/jmespath-0.5.0.tar.gz
inflating: awscli-bundle/packages/python-dateutil-2.3.tar.gz
inflating: awscli-bundle/packages/awscli-1.6.10.tar.gz
inflating: awscli-bundle/packages/ordereddict-1.1.tar.gz
inflating: awscli-bundle/packages/simplejson-3.3.0.tar.gz
inflating: awscli-bundle/packages/botocore-0.80.0.tar.gz
AWS CLIのインストール
# mkdir /usr/local/aws
インストールを実行します。
# ./install -i /usr/local/aws -b /usr/local/bin/aws
Running cmd: /bin/python virtualenv.py --python /bin/python /usr/local/aws
Running cmd: /usr/local/aws/bin/pip install --no-index --find-links file:///home/dev/local/awscli-bundle/packages awscli-1.6.10.tar.gz
You can now run: /usr/local/bin/aws --version
/usr/local/bin
にコマンドがインストールされるのでPATHを通す必要があります。
export PATH=$PATH:/usr/local/bin
AWS CLIの初期設定
AWS CLIを実行するには、以下の4つの情報をAWS CLIを実行する端末側で設定する必要があります。
- アクセスキー
- シークレットアクセスキー
- 接続先のAWSリージョン
- 出力フォーマット
AWS CLIのconfigure
コマンドを使うことで、対話的に設定できます。
$ aws configure
AWS Access Key ID [None]: XXXXXXXXXXXXXXXXXXXXXXXXX
AWS Secret Access Key [None]: XXXXXXXXXXXXXXXXXXXXXXXXX
Default region name [None]: ap-northeast-1
Default output format [None]: json
AWS Access Key ID
とAWS Secret Access Key
にはアクセスキーとシークレットアクセスキーを設定します。アクセスキーとシークレットアクセスキーはAWSマネジメントコンソールから作成できます。IAMユーザを作って運用するのが一般的と思います。
region name
には利用しているリージョンを指定します。
output format
には、json
、table
、text
の3種類を指定できます。 aws configure
コマンドを実行が完了すると、~/.aws
ディレクトリが作成され、その中に設定ファイルconfig
とcredentials
が作成されます。config
にはregion name
とoutput format
の情報が、credentials
にはAWS Access Key ID
とAWS Secret Access Key
の情報が記載されています。
AWS CLIの動作確認
AWSコマンドを実行してみて、動作することを確認します。
以下では EC2インスタンスの一覧を表示させています。
$ aws ec2 describe-instances