【AWS】【Windows&Linux】「EC2 インスタンス」または「パソコン」に AWS CLI(aws コマンド)及び jq コマンドをインストールする手順

Amazon EC2 インスタンスもしくはパソコンに AWS CLI(aws コマンド)をインストールする手順を解説します。

OS は Windows および Linux 両方を対象としています。

 

 

Windows に AWS CLI(aws コマンド)をインストールする手順

Windows に AWS CLI(aws コマンド)をインストールします。

EC2 インスタンス、パソコン共通の手順です。

 

以下のURLにアクセスします。

Microsoft Windows で AWS Command Line Interface をインストールする
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/awscli-install-windows.html

 

使用している Windows の「システムの種類」を確認し「64ビット」もしくは「32ビット」の MSI インストーラの URL をクリックしてダウンロードします。

【AWS】【S3】作成手順 & アップロード手順 & アクセス権限設定手順

 

 

 

「コントロールパネル」「システム」をクリックして「64ビット」もしくは「32ビット」かを確認します。

【AWS】【S3】作成手順 & アップロード手順 & アクセス権限設定手順

 

 

 

ダウンロードした「AWSCLI32.msi」ファイルをダブルクリックします。

【AWS】【S3】作成手順 & アップロード手順 & アクセス権限設定手順

 

 

 

下図の画面が表示されたら「実行」ボタンをクリックします。

【AWS】【S3】作成手順 & アップロード手順 & アクセス権限設定手順

 

 

 

「Next」ボタンをクリックします。

【AWS】【S3】作成手順 & アップロード手順 & アクセス権限設定手順

 

 

「I accept the terms in the License Agreement」にチェックを入れて「Next」ボタンをクリックします。

【AWS】【S3】作成手順 & アップロード手順 & アクセス権限設定手順

 

 

 

 

「Next」ボタンをクリックします。

【AWS】【S3】作成手順 & アップロード手順 & アクセス権限設定手順

 

 

「Install」ボタンをクリックします。

【AWS】【S3】作成手順 & アップロード手順 & アクセス権限設定手順

 

 

インストールが完了したら「Finish」ボタンをクリックします。

【AWS】【S3】作成手順 & アップロード手順 & アクセス権限設定手順

 

 

Windows で AWS CLI を利用する

AWS CLI のインストール直後は、aws.cmd コマンドのパスが通っていないため、aws コマンドを実行しても Windows OS が実行ファイルを見つけることが出来ずに下図のようにエラーになります。

 

 

 

AWS CLI 実行ファイル(aws.cmd)を Windows OS のコマンド実行パスに通す

AWS CLI 実行ファイル(aws.cmd)を Windows OS のコマンド実行パスに通します。

具体的には、以下のように PATH 環境変数に AWS CLI 実行ファイル(aws.cmd)のパスを追加します。

 

■Windows 32ビットの場合

  • AWS CLI 実行ファイル(aws.cmd)のパス:C:\Program Files\Amazon\AWSCLI\bin\aws.cmd

 

 

 

Windows のスタートメニューより「コンピューター」を右クリックして「プロパティ」をクリックします。

【AWS】「EC2 インスタンス」または「パソコン」に AWS CLI(aws コマンド)及び jq コマンドをインストールする手順【Windows&Linux】

 

 

 

 

「システムの詳細設定」をクリックします。

【AWS】「EC2 インスタンス」または「パソコン」に AWS CLI(aws コマンド)及び jq コマンドをインストールする手順【Windows&Linux】

 

 

 

 

 

「システムのプロパティ」画面が表示されたら「詳細設定」タブをクリックし「環境変数」ボタンをクリックします。

【AWS】「EC2 インスタンス」または「パソコン」に AWS CLI(aws コマンド)及び jq コマンドをインストールする手順【Windows&Linux】

 

 

 

 

「環境変数」画面が表示されたら「システム環境変数」「Path」を選択して「編集」ボタンをクリックします。

【AWS】「EC2 インスタンス」または「パソコン」に AWS CLI(aws コマンド)及び jq コマンドをインストールする手順【Windows&Linux】

 

 

 

 

「Path」「編数値」に aws.cmd へのパス「C:\Program Files\Amazon\AWSCLI\bin」を追加して「OK」ボタンをクリックします。

※既存のパスに追加する場合は、パスの前に「;(セミコロン)」を追加します。

【AWS】「EC2 インスタンス」または「パソコン」に AWS CLI(aws コマンド)及び jq コマンドをインストールする手順【Windows&Linux】

 

 

 

 

「OK」ボタンをクリックして「環境変数」画面を閉じます。

【AWS】「EC2 インスタンス」または「パソコン」に AWS CLI(aws コマンド)及び jq コマンドをインストールする手順【Windows&Linux】

 

 

 

 

「OK」ボタンをクリックして「システムのプロパティ」画面を閉じます。

【AWS】「EC2 インスタンス」または「パソコン」に AWS CLI(aws コマンド)及び jq コマンドをインストールする手順【Windows&Linux】

 

 

 

 

パワーシェル&コマンドプロンプトを起動し aws コマンドを実行する

パワーシェルを起動し「aws –version」コマンドを実行します。

以下のようにバージョンが返ってくれば問題ありません。

【AWS】「EC2 インスタンス」または「パソコン」に AWS CLI(aws コマンド)及び jq コマンドをインストールする手順【Windows&Linux】

 

 

次にコマンドプロンプトを起動し「aws –version」コマンドを実行します。

以下のようにバージョンが返ってくれば問題ありません。

【AWS】「EC2 インスタンス」または「パソコン」に AWS CLI(aws コマンド)及び jq コマンドをインストールする手順【Windows&Linux】

 

 

 

■コマンドプロンプト実行結果

Microsoft Windows [Version 6.1.7601] 
Copyright (c) 2009 Microsoft Corporation.  All rights reserved. 
 
C:\Users\xxxx> aws 
usage: aws [options]   [ …] [parameters] 
To see help text, you can run: 
 
  aws help 
  aws  help 
  aws   help 
aws: error: the following arguments are required: command 
 
C:\Users\xxxx> aws –version 
aws-cli/1.16.101 Python/3.6.0 Windows/7 botocore/1.12.91 
 
C:\Users\xxxx>

 

 

AWS CLI を実行するための AWS 認証情報を設定する

「aws configure」コマンドを実行して AWS CLI を実行するための AWS 認証情報を設定します。

【AWS】「EC2 インスタンス」または「パソコン」に AWS CLI(aws コマンド)及び jq コマンドをインストールする手順【Windows&Linux】

 

 

 

PS C:\> aws configure 
AWS Access Key ID [****************]: AXXXXXXXXXXXXXXX ← アクセスキーを設定します。
AWS Secret Access Key [****************]: MXXXXXXXXXXXXXXXXXXXXXXXXXX ← シークレットアクセスキーを設定します。
Default region name [ap-northeast-1]: ← 東京リージョン(ap-northeast-1)で使用するため、Enter のみ押下します。 
Default output format [json]: ← いずれでもいいですが、デフォルトの「JSON」を設定します。 
PS C:\>

 

 

コマンドを実行する

最後にコマンドを実行して情報が取得できるか確認します。

PS C:\> aws ec2 describe-instances | more 

    “Reservations”: [ 
        { 
            “Groups”: [], 
            “Instances”: [ 
                { 
                    “AmiLaunchIndex”: 0, 
                    “ImageId”: “ami-xxxxx”, 
                    “InstanceId”: “i-xxxxxxxxxxxx”, 
                    “InstanceType”: “t2.xlarge”, 
                    “KeyName”: “xxxxxxxx”, 
                    “LaunchTime”: “20xx-10-17T06:06:00.000Z”, 
                    “Monitoring”: { 
                        “State”: “disabled” 
                    }, 
                    “Placement”: { 
                        “AvailabilityZone”: “ap-northeast-1a”, 
                        “GroupName”: “”, 
                        “Tenancy”: “default” 
                    }, 
                    “PrivateDnsName”: “ip-xx-xx-xx-xx.ap-northeast-1.compute.internal”, 
— More  —

 

 

 

 

Windows に jq コマンドをインストールする手順

次に Windows に jq コマンドをインストールする手順を解説します。

 

jq 公式サイトにアクセスします。

https://stedolan.github.io/jq/

 

 

jq 公式サイトにアクセスをしたら、メニューより「Download」をクリックします。

【AWS】「EC2 インスタンス」または「パソコン」に AWS CLI(aws コマンド)及び jq コマンドをインストールする手順【Windows&Linux】

 

 

 

 

自身が使用しているアーキテクチャ(64-bit か 32-bit)を選択します。

※私は Windows 7 32bit を使用しているので「32-bit」をクリックします。

【AWS】「EC2 インスタンス」または「パソコン」に AWS CLI(aws コマンド)及び jq コマンドをインストールする手順【Windows&Linux】

 

 

 

「jq-win32.exe」ファイルをダウンロードしました。

この実行ファイルをパスが通っているフォルダに移動すれば、とりあえずは利用できるようになりますが、毎回「jq-win32」とコマンドを打ち込むのは面倒です。

【AWS】「EC2 インスタンス」または「パソコン」に AWS CLI(aws コマンド)及び jq コマンドをインストールする手順【Windows&Linux】

 

 

jq-win32.exe のファイル名を jq.exe にリネームする

「jq-win32.exe」のファイル名を毎回打ち込むのは面倒なので「jq.exe」にリネームします。

リネーム後にファイルを以下の場所にコピーしました。

すでに Windows OS の設定で PATH を通しているので、jq コマンドが実行できる状態になっています。

【AWS】「EC2 インスタンス」または「パソコン」に AWS CLI(aws コマンド)及び jq コマンドをインストールする手順【Windows&Linux】

 

 

■動作確認

jq コマンドが実行できています。

PS C:\> aws ec2 describe-instances | jq ‘.Reservations[].Instances[].InstanceId’
“i-0xxxxxxxxxxxxxxxx”
“i-0xxxxxxxxxxxxxxxx”

“i-0xxxxxxxxxxxxxxxx”

 

 

 

Linux(RedHat) に AWS CLI(aws コマンド)をインストールする手順

Linux(RedHat)に AWS CLI(aws コマンド)をインストールします。

 

最初に OS の確認です。

[root@redhat7 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.6 (Maipo)
[root@redhat7 ~]#

 

 

もし pip コマンドがインストールされていない場合、Linux 系の EC2 インスタンスへの pip インストール手順は以下の記事を参考にしてください。 

 

【AWS】EC2 インスタンスへの pip インストール手順

 

pip コマンドで AWS CLI(aws コマンド)をインストールします。

[root@redhat7 ~]# pip install awscli 
Collecting awscli 
  Downloading https://files.pythonhosted.org/packages/41/b5/4e48f49bcf38d10d027b419b9be0a0ce98a370a5f75e1a2e0640073e1a5b/awscli-1.16.92-py2.py3-none-any.whl (1.4MB) 
    100% |????????????????????????????????| 1.4MB 15.8MB/s 
Collecting s3transfer<0.2.0,>=0.1.12 (from awscli) 
  Downloading https://files.pythonhosted.org/packages/d7/14/2a0004d487464d120c9fb85313a75cd3d71a7506955be458eebfe19a6b1d/s3transfer-0.1.13-py2.py3-none-any.whl (59kB) 
    100% |????????????????????????????????| 61kB 22.6MB/s 
Collecting botocore==1.12.82 (from awscli) 
  Downloading https://files.pythonhosted.org/packages/ee/3a/2c1ef0f7d9f13db88a3b1475bfc0eafacfd9e5a622ecf8fb34ffb0c33fe3/botocore-1.12.82-py2.py3-none-any.whl (5.2MB) 
    100% |????????????????????????????????| 5.2MB 7.9MB/s 
Collecting colorama<=0.3.9,>=0.2.5 (from awscli) 
  Downloading https://files.pythonhosted.org/packages/db/c8/7dcf9dbcb22429512708fe3a547f8b6101c0d02137acbd892505aee57adf/colorama-0.3.9-py2.py3-none-any.whl 
Collecting rsa<=3.5.0,>=3.1.2 (from awscli) 
  Downloading https://files.pythonhosted.org/packages/e1/ae/baedc9cb175552e95f3395c43055a6a5e125ae4d48a1d7a924baca83e92e/rsa-3.4.2-py2.py3-none-any.whl (46kB) 
    100% |????????????????????????????????| 51kB 23.5MB/s 
Collecting docutils>=0.10 (from awscli) 
  Downloading https://files.pythonhosted.org/packages/50/09/c53398e0005b11f7ffb27b7aa720c617aba53be4fb4f4f3f06b9b5c60f28/docutils-0.14-py2-none-any.whl (543kB) 
    100% |????????????????????????????????| 552kB 31.4MB/s 
Requirement already satisfied: PyYAML<=3.13,>=3.10 in /usr/lib64/python2.7/site-packages (from awscli) (3.10) 
Collecting futures<4.0.0,>=2.2.0; python_version == “2.6” or python_version == “2.7” (from s3transfer<0.2.0,>=0.1.12->awscli) 
  Downloading https://files.pythonhosted.org/packages/2d/99/b2c4e9d5a30f6471e410a146232b4118e697fa3ffc06d6a65efde84debd0/futures-3.2.0-py2-none-any.whl 
Collecting jmespath<1.0.0,>=0.7.1 (from botocore==1.12.82->awscli) 
  Downloading https://files.pythonhosted.org/packages/b7/31/05c8d001f7f87f0f07289a5fc0fc3832e9a57f2dbd4d3b0fee70e0d51365/jmespath-0.9.3-py2.py3-none-any.whl 
Collecting python-dateutil<3.0.0,>=2.1; python_version >= “2.7” (from botocore==1.12.82->awscli) 
  Downloading https://files.pythonhosted.org/packages/74/68/d87d9b36af36f44254a8d512cbfc48369103a3b9e474be9bdfe536abfc45/python_dateutil-2.7.5-py2.py3-none-any.whl (225kB) 
    100% |????????????????????????????????| 235kB 30.9MB/s 
Collecting urllib3<1.25,>=1.20; python_version == “2.7” (from botocore==1.12.82->awscli) 
  Downloading https://files.pythonhosted.org/packages/62/00/ee1d7de624db8ba7090d1226aebefab96a2c71cd5cfa7629d6ad3f61b79e/urllib3-1.24.1-py2.py3-none-any.whl (118kB) 
    100% |????????????????????????????????| 122kB 37.4MB/s 
Collecting pyasn1>=0.1.3 (from rsa<=3.5.0,>=3.1.2->awscli) 
  Downloading https://files.pythonhosted.org/packages/7b/7c/c9386b82a25115cccf1903441bba3cbadcfae7b678a20167347fa8ded34c/pyasn1-0.4.5-py2.py3-none-any.whl (73kB) 
    100% |????????????????????????????????| 81kB 28.4MB/s 
Requirement already satisfied: six>=1.5 in /usr/lib/python2.7/site-packages (from python-dateutil<3.0.0,>=2.1; python_version >= “2.7”->botocore==1.12.82->awscli) (1.9.0) 
Installing collected packages: futures, jmespath, docutils, python-dateutil, urllib3, botocore, s3transfer, colorama, pyasn1, rsa, awscli 
  Found existing installation: python-dateutil 1.5 
    Uninstalling python-dateutil-1.5: 
      Successfully uninstalled python-dateutil-1.5 
  Found existing installation: urllib3 1.10.2 
    Uninstalling urllib3-1.10.2: 
      Successfully uninstalled urllib3-1.10.2 
Successfully installed awscli-1.16.92 botocore-1.12.82 colorama-0.3.9 docutils-0.14 futures-3.2.0 jmespath-0.9.3 pyasn1-0.4.5 python-dateutil-2.7.5 rsa-3.4.2 s3transfer-0.1.13 urllib3-1.24.1 
[root@redhat7 ~]#

 

Linux 系の EC2 インスタンスへの pip インストール手順は以下の記事を参考にしてください。 

 

【AWS】EC2 インスタンスへの pip インストール手順

 

aws コマンドのバージョンを確認します。

[root@redhat7 ~]# aws –version
aws-cli/1.16.92 Python/2.7.5 Linux/3.10.0-957.el7.x86_64 botocore/1.12.82
[root@redhat7 ~]#

 

 

 

jq コマンドのインストール手順

jq コマンドのインストール手順です。

jq コマンドは epel リポジトリからインストールできます。

 

まずは epel リポジトリをダウンロードするために wget コマンドをインストールします。

[root@redhat7 ~]# yum install wget

 

epel のリポジトリをダウンロードします。

[root@redhat7 ~]# wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

 

epel リポジトリをインストールします。

[root@redhat7 ~]# yum install epel-release-latest-7.noarch.rpm

 

jq コマンドをインストールします。

[root@redhat7 ~]# yum install jq

 

 

jq コマンドがインストールされていることを確認します。

[ec2-user@redhat7 ~]$ jq 
jq – commandline JSON processor [version 1.5] 
Usage: jq [options] <jq filter> [file…] 
 
        jq is a tool for processing JSON inputs, applying the 
        given filter to its JSON text inputs and producing the 
        filter’s results as JSON on standard output. 
        The simplest filter is ., which is the identity filter, 
        copying jq’s input to its output unmodified (except for 
        formatting). 
        For more advanced filters see the jq(1) manpage (“man jq”) 
        and/or https://stedolan.github.io/jq 
 
        Some of the options include: 
         -c             compact instead of pretty-printed output; 
         -n             use `null` as the single input value; 
         -e             set the exit status code based on the output; 
         -s             read (slurp) all inputs into an array; apply filter to it; 
         -r             output raw strings, not JSON texts; 
         -R             read raw strings, not JSON texts; 
         -C             colorize JSON; 
         -M             monochrome (don’t colorize JSON); 
         -S             sort keys of objects on output; 
         –tab  use tabs for indentation; 
         –arg a v      set variable $a to value 
         –argjson a v  set variable $a to JSON value 
         –slurpfile a f        set variable $a to an array of JSON texts read from 
        See the manpage for more options. 
[ec2-user@redhat7 ~]$

 

 

 

AWS CLI の動作確認

インストールが完了したら AWS CLI の動作確認を行ないます。

 

IAM ユーザーの作成

最初に AWS CLI 用の IAM ユーザーを作成します。

 

AWS 管理コンソールより「サービス」「セキュリティ、ID、およびコンプライアンス」「IAM」をクリックします。

 

 

 

 

 

左側ペインより「ユーザー」をクリックします。

【AWS】「EC2 インスタンス」または「パソコン」に AWS CLI(aws コマンド)及び jq コマンドをインストールする手順【Windows&Linux】

 

 

 

 

「ユーザーを追加」ボタンをクリックします。

【AWS】「EC2 インスタンス」または「パソコン」に AWS CLI(aws コマンド)及び jq コマンドをインストールする手順【Windows&Linux】

 

 

 

 

 

「ユーザーを追加」画面で以下のように設定します。

  • ユーザー名 ← AWS CLI 用ユーザーに付ける任意の名前を入力します。
  • アクセスの種類 ← 「プログラムによるアクセス」を選択します。

「次のステップ:アクセス権限」ボタンをクリックします。

【AWS】「EC2 インスタンス」または「パソコン」に AWS CLI(aws コマンド)及び jq コマンドをインストールする手順【Windows&Linux】

 

 

 

 

 

 

「アクセス許可の設定」「既存のポリシーを直接アタッチ」をクリックします。

既存のポリシー一覧が表示されるので「AdministratorAccess」を選択し「次のステップ:タグ」ボタンをクリックします。

※AdministratorAccess は一番権限が強いので本番環境の場合は絞れるなら権限を絞りましょう。

【AWS】「EC2 インスタンス」または「パソコン」に AWS CLI(aws コマンド)及び jq コマンドをインストールする手順【Windows&Linux】

 

 

 

 

 

「タグの追加(オプション)」画面で、必要な場合は下図のようにタグを設定します。

設定したら「次のステップ:確認」ボタンをクリックします。

【AWS】「EC2 インスタンス」または「パソコン」に AWS CLI(aws コマンド)及び jq コマンドをインストールする手順【Windows&Linux】

 

 

 

 

 

「確認」画面で「ユーザーの作成」ボタンをクリックします。

【AWS】「EC2 インスタンス」または「パソコン」に AWS CLI(aws コマンド)及び jq コマンドをインストールする手順【Windows&Linux】

 

 

 

 

下図の画面に切り替わったら「csv のダウンロード」ボタンをクリックします。

【AWS】「EC2 インスタンス」または「パソコン」に AWS CLI(aws コマンド)及び jq コマンドをインストールする手順【Windows&Linux】

 

 

 

 

 

下図のように csv ファイルに「Access key ID」「Secret access key」が記載されていることを確認します。

【AWS】「EC2 インスタンス」または「パソコン」に AWS CLI(aws コマンド)及び jq コマンドをインストールする手順【Windows&Linux】

 

 

 

 

 

AWS CLI を実行するための AWS 認証情報を設定する

AWS CLI をインストールしたマシンにログインし「aws configure」コマンドを実行して AWS CLI を実行するための AWS 認証情報を設定します。

 

[ec2-user@redhat7 ~]$ aws configure 
AWS Access Key ID [None]: Axxxxxxxxxxxxxxxxx 
AWS Secret Access Key [None]: lQxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
Default region name [None]: ap-northeast-1 
Default output format [None]: json 
[ec2-user@redhat7 ~]$

 

 

 

コマンドを実行する

最後にコマンドを実行して情報が取得できるか確認します。

[ec2-user@redhat7 ~]$ aws ec2 describe-instances 

    “Reservations”: [ 
        { 
            “Instances”: [ 
                { 
                    “Monitoring”: { 
                        “State”: “disabled” 
                    }, 
                    “PublicDnsName”: “ec2-54-xxx-xxx-xxx.ap-northeast-1.compute.amazonaws.com”, 
                    “State”: { 
                        “Code”: 16, 
                        “Name”: “running” 
                    }, 
                    “EbsOptimized”: false, 
                    “LaunchTime”: “2019-05-12T11:06:42.000Z”, 
                    “PublicIpAddress”: “54.xxx.xxx.xxx”, 
                    “PrivateIpAddress”: “172.31.10.244”, 
                    “ProductCodes”: [], 
                    “VpcId”: “vpc-34776f56”, 
                    “CpuOptions”: { 
                        “CoreCount”: 1, 
                        “ThreadsPerCore”: 1 
                    }, 
                    “StateTransitionReason”: “”, 
                    “InstanceId”: “i-0xxxxxxxxxxxxxx”,

 

 ~ 省略 ~

 

 

 

 

 

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

AlphaOmega Captcha Medica  –  What Do You See?
     
 

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください