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の結果は返って来ているのですが,プレーンテキストで流れている様子はありませんでした.