自由気ままに書いちゃおう

好きなことをつらつらと・・・

RHEL7にawscliをオフラインインストール(失敗)

■目的
 インターネットから隔離された環境に存在するサーバに対して、awscliをインストールしたい。

■補足
 事前に作業は下記参照。
 

www.guri2o1667.work



■余談
 NATゲートウェイを使って外と通信した方が簡単/早いけど、そういう環境も許されていないようなところもあると思うので・・・
 
■サーバ種別
RHEL7.6(ami-00b95502a4d51a07e)

■作業前のawscli情報
  # aws --version
  -bash: aws: コマンドが見つかりません  ※インストールしてないので当たり前・・・

■作業前のPython3情報
  # python3 --version
  Python 3.7.3

  # python --version
  Python 2.7.5

■手順 
0.以下を実施

www.guri2o1667.work


  
1.ローカルPCから下記URLにアクセスし、awscliのZIPファイル(awscli-bundle.zip)を取得
  https://s3.amazonaws.com/aws-cli/awscli-bundle.zip

.下記RPMファイルを取得し保存しておく。
  ※RPMファイルはRHNから取得可能なため、そこから入手。
  ・unzip-6.0-20.el7.x86_64.rpm

3.対象サーバに上記手順2のファイルを転送(SCP/FTP等。手段問わず。)
  ここでは転送先ディレクトリを以下のようにした。
  awscli-bundle.zip → /root/ に格納
  unzipのRPM   → /var/tmp/unzip/ に格納

4.対象サーバにログインし、rootユーザにスイッチ

5.以下コマンドを実行し、unzipをインストール
  # cd /var/tmp/unzip;pwd
  # rpm -Uvh unzip-6.0-20.el7.x86_64.rpm

6.以下コマンドを実行し、awscliをインストール
  # cd;pwd
  # ls awscli-bundle.zip
  # unzip awscli-bundle.zip
  # cd awscli-bundle;pwd
  # ./install -i /usr/local/aws -b /usr/local/bin/aws
  → 「You can now run: /usr/local/bin/aws --version」と表示されればOK

  ■./install のオプションについて
  上記コマンド実行結果は以下の通り。
  # ls -l /usr/local/bin/aws
  lrwxrwxrwx 1 root root 22 12月 6 12:00 /usr/local/bin/aws -> /usr/local/aws/bin/aws
  
    -i インストール先
    -b シンボリックリンク作成  ※/usr/local/bin/aws にアクセスすると、/usr/local/aws/bin/aws にアクセスすることになる。

    -bオプションには、既にパスが通っているところを指定したほうが今後扱いやすい。

  # aws --version
  aws-cli/1.16.298 Python/2.7.5 Linux/3.10.0-957.5.1.el7.x86_64 botocore/1.13.34

■まとめ
上記の通り、awscliのバージョンは最新になったが、Python2系を使い続けている。。。
awscliオフラインインストール時にPython3系を使うことができていない。。。