Amazon Web Service aws cliはデフォルトで暗号化通信されるのか?

Amazon Web Service,いわゆるAWSは多機能で難しいですけど,面白いですね.
各種言語のバインディングREST APIも面白いのですが,特にREST APIは手軽そうだと思ったのですがsignatureの計算が面倒そうなので,日常に使うにはAmazon Web Service Client Interface(aws cli)が凄く便利です.

pythonスクリプトベースなので,LinuxでもFreeBSDでもWindowsでもコマンドは動きます.
まだAmazon S3しか使っていないのですが,普通にシェルコマンド感覚で

> aws s3 ls
2014-03-25 15:01:22  test.backet

みたくオブジェクトを扱えます.

ただ,仕事で使うので,コマンドのやり取りはデフォルトで暗号化されていてほしいなぁと思いました.
REST APIでは,httpをhttpsにするだけでSSL通信に変わることは記載されていましたが,awsコマンドについては探しても分からなかったので,簡単に確認してみました.


まず,ドキュメントに従ってコマンドをインストールします.
Installing the AWS Command Line Interface - AWS Command Line Interface
まぁ,私がやったのはこれだけなのですが.

> wget --no-check-certificate https://s3.amazonaws.com/aws-cli/awscli-bundle.zip
> unzip awscli-bundle.zip
> su
# ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

別ウィンドウで,ポートを見はりました.

# tcpflow -c -i msk0 port 80

普通にhttpでアクセスしてみます.

> w3m www.yahoo.com

tcpflowのウィンドウは,こんな感じです.

192.168.001.023.39081-098.138.253.109.00080: GET / HTTP/1.0
User-Agent: w3m/0.5.3
Accept: text/html, text/*;q=0.5, image/*
Accept-Encoding: gzip, compress, bzip, bzip2, deflate
Accept-Language: en;q=1.0
Host: www.yahoo.com

awsコマンドでアクセスしてみます.

> aws s3 ls

tcpflowのウィンドウは反応無しです.

今度はポート443を見張って見ます.

# tcpflow -c -i msk0 port 443

普通にhttpでアクセスしてみます.

> w3m www.yahoo.com

tcpflowのウィンドウは,こんな感じです.

192.168.001.023.21163-206.190.036.045.00443: ....R...N..S6.!D'.m.qz.P..<t^R..ne...j"g.l.....0.,.(.$...

www.yahoo.comのトップページのソースを見ても,httpsへのリンクが結構ありますね.

awsコマンドでアクセスしてみます.

> aws s3 ls

tcpflowのウィンドウは,こんな感じです.

192.168.001.023.58192-103.246.150.250.00443: ....,...(..S6.Np........a.....t.K....X.A.......0.,.(.$...

lsの結果は返って来ているのですが,プレーンテキストで流れている様子はありませんでした.



どうやらawsコマンドはデフォルトSSLのようです.