Tiger Bridge, Surveillance Bridgeのターゲットストレージとして使用可能なAmazon S31に対してAWSはコマンドシェルでコマンドを使用してAWSサービスをやり取りするためのオープンソースツールAWS CLI(AWS Command Line Interface)を提供しています。(AWS Command Line Interfaceバージョン2ユーザーガイドより)
Linuxシェル、Windowsコマンドプロンプト、Windows PowerShell、PuTTY、SSH等のリモートターミナルプログラム上で使用できます。(この記事ではWindowsコマンドプロンプトで説明しています)
上記のユーザーガイドに日本語で詳細に説明しているので本記事では、インストール、操作の流れ、シェルとの連動について説明します。
AWS CLIを使用するまで
AWS CLIを使用するためには、Windowsコマンドプロンプト、PowerShellを使用するPCにAWS CLIをインストールする必要があります。
インストールはインストーラーをAWSからダウンロードし、インストールするか、または、Internetが接続されたPCであればmsiecec.exeコマンドで実施することができます、その場合は以下のコマンドを実行します。「msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi」
以下はこのコマンドを実施した際の画面キャプチャ―です。
インストールは1分程度で終了します。
インストール後に新しいコマンドプロンプトを開き、「aws –version」と入力するとバージョンが表示され、インストールが成功したことを確認できます。ここまでの詳細はAWS CLI の最新バージョンを使用してインストールまたは更新を行うで説明されています。
AWS CLIを使用する
AWS CLIはAWSサービス全般に使用できますが、本記事ではS3操作に限って説明します。
インストール後にS3のストレージを特定するために「aws configure」を実行します。以下は実行時の画面キャプチャです。AWS Access KeyとAWS Secret Access Key他、必要な情報を入力してください。
ここまで設定を行うとAWS CLIコマンドをストレージに対して実行することができるようになります。
AWS CLIコマンドにはバケットの作成、削除のための「mb」「rb」のようなコマンドもありますが、Linuxと同様の「ls」「cp」「rm」等のオブジェクト操作のためのコマンドが用意されています。
S3のオブジェクトを操作する場合は「aws s3」をコマンドの前に付加します。オブジェクトのリストを表示する際には「aws s3 ls」と入力します。以下は「aws s3 ls」を実行した際の画面キャプチャです。4つのバケットがあることがわかります。
Linuxのコマンドに似たS3用AWS CLIの詳細についてはAWS CLI で高レベル (S3) コマンドを使用するに説明しています。
AWS CLIをPowerShellのスクリプトで実行
冒頭に説明した通り、AWS CLIはWindows PowerShell等のシェルと共に使用できます。
以下のスクリプトの例です。「lstest.ps1」は「aws s3 ls」コマンドに再帰表示オプション「–recursive」をつけてバケット内のファイル情報を取得し、取得した情報よりファイル数とバイト数の合計を表示します。
#スクリプト名 lstest.ps1
$lsout = aws s3 ls s3://XXX --recursive #XXXはバッケト名
$byte = 0
for($i = 0; $i -lt $lsout.length ; $i++)
{
$array = -split $lsout[$i]
$byte = $byte + $array[2] #ファイルのバイト数を加算
}
Write-Host "Total Files:", $lsout.length, "Total Byte:", $byte
下記はスクリプト「lstest.ps1」を実行した際の画面キャプチャです。最初の手動入力コマンド「aws s3 ls バケット名 –recursive」でバケット内のファイルをリストを出力しています。8個のファイルがこのバケットにあることがわかります。また、バイト数の合計は5,145,308です。次に「lstest.ps1」を実行し、その結果が表示されています。ファイル数とバイト数の合計が上記の手動入力コマンドと一致していることがわかります。
ちなみに、上記の「.tt_rt/meta/」に続くファイルはSurveillance BridgeがS3をターゲットストレージにした際に、Surveillance Bridgeが生成するメタデータです。
まとめ
AWS CLIをAWS S3に適用する例をインストールからPowerShellとの組み合わせ処理までの流れを簡単に説明しました。
インストールも1分程度で終了し、CLIをいつも使用している方にはハードルが低いツールであることを感じていただいたと思います。
GUIやAWSのコンソール画面では煩雑であったり、遅く感じていた処理を繰り返し、簡単に、かつ、高速で処理できるのがAWS CLIだと思います。日々のAWS S3管理に不満やストレスを感じている方はSurveillance Bridgeと共にAWS CLIの利用も検討すると良いと思います。
- 対応クラウドは本ブログの記事「Surveillance Bridge対応クラウドストレージサービス」を参照してください。 ↩︎