AWS CLIをproxy+NTLM環境下のWindowsで動かす手順メモ

こんな環境でやるのが間違ってるんだとは思うんだけど弊社のせいでこんなハードモードの環境しかない。
他の人から手順書もらったけどMacのしかなくて死にそうでした。なので次回同じ地獄を見ないように手順をメモしておく。
ちなみにWindows10ですが、7でもだいたい同じじゃないかと思います。

①AWSアクセスキーの生成

IAMでアクセスキーとシークレットアクセスキーを作る。

  • AWSコンソールTOP>IAM>ユーザー>(自分のID)>認証情報タブ>アクセスキーで、「アクセスキーの作成」ボタンを押す。

  • POPUPが出てきて、アクセスキーとシークレットアクセスキーの記載されたcsvがダウンロードできるようになるので、後生大事にする。

②必要情報の設定

AWS CLI設定

aws configure

すると、必要事項(アクセスキー、シークレットアクセスキー、リージョン、アウトプット形式)を聞かれるので素直に答える。
東京リージョンでアウトプットがjsonの場合の設定は下記通り。

  • アクセスキー:①で作ったアクセスキー
  • シークレットアクセスキー:①で作ったシークレットアクセスキー
  • リージョン:ap-notrheast-1
  • アウトプット:json

その他必要な設定

コマンドプロンプトでアクセスキーとシークレットアクセスキーを設定する。

set AWS_ACCESS_KEY_ID=(自分のアクセスキー)
set AWS_SECRET_ACCESS_KEY_ID=(自分のシークレットアクセスキー)

setコマンドを使っている時点で嫌な予感がするが、そのとおりで結局コマンドプロンプト経由で設定するだけだと動かない。
環境変数にも各種情報を記載する。

key value
AWS_ACCESS_KEY_ID (自分のアクセスキー)
AWS_SECRET_ACCESS_KEY_ID (自分のシークレットアクセスキー)
AWS_DEFAULT_REGION ap-northeast-1

③cntlmのインストール

このままだとプロキシが通らないのでcntlmを入れる。

④cntlm.iniの編集

cntlm.iniはファイルデフォルトだとの下にある。このファイルを自分の設定に修正する。

C:\Program Files (x86)\Cntlm

変更点

  • Usernameを自分のアカウントIDに変更
  • Domainを自分の参加ドメインに変更
  • PasswordはコメントアウトでOK
  • PassLM、PassNT、PassNTLMv2をコマンドcntlm -Hで出てくる内容に変更。
  • Proxyを普段使っているプロキシサーバのIPに変更。
  • Listenをいい感じのポート(競合しないやつ)に変更。今回は3128にした。

注意点

  • cntlm -Hで出てくる3項目(PassLM、PassNT、PassNTLMv2)はすべてcntlm.iniにコピペすること。PassNTLMv2だけだとうまく動かなかった。

  • Proxyの値がドメインだとうまくいかないので、nslookupでプロキシサーバのドメインからIPを逆引きし、設定すること。

⑤各種プロキシ設定の修正

Windowsマシンに設定されたありとあらゆるプロキシ設定をローカルに向くよう設定し直す。
下記を全部http://127.0.0.1:3128(※3128の部分は自分でListenに設定したポート)に変更する。

  • インターネットのプロパティ>LANの設定>プロキシサーバ
  • 設定>プロキシ
  • 環境変数(PROXY、HTTP_PROXY、HTTPS_PROXYあたり)
  • npm(npm -g config set proxy、 npm -g config set https-proxy)

設定が多いので頑張って片っ端から修正するしかない。

⑥動作確認

下記コマンドでcntlmをフォアグラウンドで起動する。

cntlm -f

起動したら、

aws s3 ls

などのコマンドでAWSのコマンドが通るか疎通確認する。
ここまでやると、多分大丈夫なはず。

⑦その他注意事項やコツ

  • cntlmを自動起動させたい場合、コントロールパネル>システムとセキュリティ>管理ツール>サービス>Cntlm Authentication Proxy>スタートアップの種類 を「自動」にしたりすると良い。ここは適宜お好きなように。
  • なんか動かないなと思ったらコマンドプロンプトなりpowershellなりのウインドウを一度閉じる。閉じて新しく作らないと設定が反映されないことが多い。

参考にさせていただいたサイト(:bow_tone1:ありがとうございます!:bow_tone1:

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.