CloudWatch を使いたい……のですが、以前 GUI 版で試した限りでは、先に SNS (Simple Notification Service)の設定が必要になります。
しかし、ザッと見てみた限りでは Amazon Linux でも sns-* 系のコマンドはインストールされていないように見えます…。



・SNS用コマンドラインツールの入手/ダウンロード
http://docs.aws.amazon.com/sns/latest/cli/welcome.html
上記 Amazon 公式マニュアル (API Version 2010-03-31 のモノ)を読むと、sns-* 系のコマンドは 別途インストールする必要があるようです。そもそもSNS用のコマンドラインツール自体、「コミュニティが制作したモノ」であって公式ツールではないとのこと…。

SNS用のコマンドラインツールは、以下のURLから入手できます。
⇒ http://sns-public-resources.s3.amazonaws.com/SimpleNotificationServiceCli-2010-03-31.zip

Amazon Linux に ssh し、そこから wget で取得してみます。
$ wget 'http://sns-public-resources.s3.amazonaws.com/SimpleNotificationServiceCli-2010-03-31.zip'

--2013-02-12 10:32:32--  http://sns-public-resources.s3.amazonaws.com/SimpleNotificationServiceCli-2010-03-31.zip
Resolving sns-public-resources.s3.amazonaws.com... 207.171.189.81
Connecting to sns-public-resources.s3.amazonaws.com|207.171.189.81|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 6537754 (6.2M) [application/zip]
Saving to: “SimpleNotificationServiceCli-2010-03-31.zip”

100%[====================================================>] 6,537,754   1.38M/s   in 8.7s

2013-02-12 10:32:42 (736 KB/s) - “SimpleNotificationServiceCli-2010-03-31.zip” saved [6537754/6537754]

特に問題なくダウンロード成功しました。



・SNSコマンドラインツールのインストールと環境設定

ダウンロードした 付似せファイルをunzipコマンドで展開します。
$ unzip SimpleNotificationServiceCli-2010-03-31.zip
Archive:  SimpleNotificationServiceCli-2010-03-31.zip
   creating: SimpleNotificationServiceCli-1.0.3.3/
  inflating: SimpleNotificationServiceCli-1.0.3.3/README.TXT
 ~
unzipで展開したディレクトリを見てみると…
$ cd SimpleNotificationServiceCli-1.0.3.3/
$ ls -1
bin
credential-file-path.template
lib
license.txt
notice.txt
README.TXT
RELEASENOTES.TXT
THIRDPARTYLICENSE.TXT
README.TXTというのがあるので、コレの中身を確認します。期待通り、インストール手順が書かれていました。
Installation:
-------------
1. Ensure that JAVA version 1.6 or higher is installed on your system: (java -version)
2. Unzip the deployment zip file
3. Set the following environment variables:
3.1 AWS_SNS_HOME - The directory where the deployment files were copied to
        check with:
           Unix: ls ${AWS_SNS_HOME}/bin should list sns-cmd...)
           Windows: dir "%AWS_SNS_HOME%\bin" should list sns-cmd ...)
3.2 JAVA_HOME - Java Installation home directory
4. Add ${AWS_SNS_HOME}/bin (in Windows: "%AWS_SNS_HOME%\bin") to your path

READMEによると JavaVM1.6以上 が必要らしいので JVM のバージョンを調べてみます。
$ java -version
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.5) (amazon-53.1.11.5.47.amzn1-i386)
OpenJDK Client VM (build 20.0-b12, mixed mode)
え゛ー。Amazon Linux ってOpenJDK がインストールされているんですね…。まぁ、互換性が問題になるようなものはインストールしていないのでコレで良いというコトにしておきます。
で、肝心のJava のバージョンは 1.6 以上なのでOK。

次は、Java用の環境変数。
$ export  | grep JAVA
declare -x JAVA_HOME="/usr/lib/jvm/jre"
JAVA_HOME 環境変数も期待通り設定されています。



次はファイルの配備場所です。
AmazonLinux では /opt/aws/ の下に AWS用コマンドラインツールがインストールされているので、それに倣って 同じような場所にインストールしてみます。
まず、展開したパッケージファイル群の所有者をrootに変更の上、/opt/aws/others/ へ移動します。
$ sudo chown -R root:root SimpleNotificationServiceCli-1.0.3.3/
$ sudo chmod -R u=rwx,og=rx SimpleNotificationServiceCli-1.0.3.3/

$ sudo mkdir /opt/aws/others
$ sudo chmod u=rwx,og=rx  /opt/aws/others
$ sudo mv SimpleNotificationServiceCli-1.0.3.3  /opt/aws/others/
別バージョンをインストールする際にカンタンに切り替えられるよう、symbolic link を作成します。
$ cd /opt/aws/others
$ sudo ln -s SimpleNotificationServiceCli-1.0.3.3/  sns
/opt/aws/others/sns/bin/ ディレクトリにある sns-* に該当するファイルの symbolic link を /opt/aws/bin/ の下に作成します。
$ cd /opt/aws/bin/
$ ls -1 /opt/aws/others/sns/bin/sns-* \
     | grep -v '.*\.cmd$' \
     | sed -e 's!^.*/!!' \
     | xargs -i sudo ln -s /opt/aws/others/sns/bin/{}  {}

ここまででファイル配備は完了。

次は…sns-* コマンド用の環境変数 AWS_SNS_HOME を設定します。
に PATH を通す必要があるので、以下のように設定します。
export AWS_SNS_HOME=/opt/aws/others/sns
環境変数PATHに、sns-* コマンドのディレクトリも登録する必要がありますが……、先にsymbolic link を /opt/aws/bin/ に作成しておいたので問題ナシです。


他に AWS_CREDENTIAL_FILE も必要なので、設定していないようなら追記しておきます。アクセスキー等は以前の方法で入手したものでOK。
$ export AWS_CREDENTIAL_FILE=~/.aws/aws-accesskey.ini

$ cat ~/.aws/aws-accesskey.ini
AWSAccessKeyId=アクセスキー
AWSSecretKey=シークレットアクセスキー
ここでは、export 設定をマトメてバッチファイルに記載しておきます。
メンドクサければ .bash_profile や .login 等に記載してもよいかもしれません。



・SNSコマンドラインツールの動作確認
環境変数が設定出来たら早速実行してみます。
⇒ ここでは、EC2_URL、EC2_REGION、AWS_CREDENTIAL_FILE、AWS_ACCESS_KEY、AWS_SECRET_KEY が正しく設定されている環境で動作確認しています。
$ sns-version
Amazon SimpleNotificationServiceCli CLI version w.x.y.z (API 2010-03-31)

$ sns-list-topics
No topics found.
バージョン表記が w.x.y.z とかなっていてチョット変ですが……バッチリ動作するようになりました!!!



これで、sns-* 系のコマンドが利用できるようになりました☆