話題の記事

色々な言語・環境(計8言語12種類)でAWSを触ってみた

2013.05.05

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

様々なAWSのAPIやツールを紹介:『Tools for Amazon Web Services』

AWS SDKs & Tools

aws-sdks-000

しばらく前に、上記『Tools for Amazon Web Services』というページが公開されました。AWS利用に関するToolやAPIが整理され、ここを見ればどんな情報が用意され、何が出来るのか…そういった事が一目で把握出来るようになりました。

ただ、見渡してみるとその種類の多さにちょっと面食らいますw (※種類数は2013年04月末現在のもの)

  • SDKs:8種類
  • IDE Toolkits:2種類
  • Command Line Tools:23種類
  • Command Line Tools(復数サービス対応):2種類

既に使っている言語でAWSを利用する、またはAWS利用に当たって言語や環境が決まっている、と言うのであればそこまで悩むものでも無いかも知れませんが、そうでない場合だとこの種類の多さは選び放題である一方、『一体どれを使ってみれば良いんだろう?』というように迷ってしまう事もあるかも知れません。

という訳でこのエントリではそれらAWS APIやToolsを片っ端から色々試してみて使い勝手はどんなもんか、どういう手順が必要なのかという所の感触を掴んでみたいと思います。AWSサービス自体利用された事が無い方、また言語環境によっては使った事が無いという方の参考になれば幸いです。

事前(共通)準備

まずは何は無くともAWSアカウント。以下のページを参考に作成してください。

AWSログイン後メニューから[Security Credentials]を選択、[アクセス証明書]の欄にある『アクセスキー ID』と『シークレットアクセスキー』の情報を控えておいて下さい。この後のプログラミングで適宜利用します。

aws-credential-mozaic4

また、今回の各種動作確認、検証に使ったOSは以下となります。

  • Mac: Mac OS X Lion 10.7.5
  • Windows: Windows 7
  • Linux: Amazon EC2インスタンス(Amazon Linux AMI 2013.03)

AWS SDK for Java

Javaに関しては関連するJarファイルをクラスパス連携させるだけでOKです。入手アーカイブ配下の/lib/aws-java-sdk-(version).jar及び依存性解消に必要な各種ライブラリ(third-party/フォルダに揃ってます) を追加。

package aws.test;

import java.util.List;

import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.regions.Region;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.ec2.AmazonEC2Client;
import com.amazonaws.services.s3.AmazonS3Client;
import com.amazonaws.services.s3.model.Bucket;

public class CreateS3Bucket {
	public static final String ACCESS_KEY_ID = "<アクセスキーID>";
	public static final String SECRET_KEY = "<シークレットキー>";

	public static void main(String[] args) {
	
		// 認証・環境設定
		AWSCredentials awsCredentials = new BasicAWSCredentials(ACCESS_KEY_ID, SECRET_KEY);
		AmazonS3Client s3 = new AmazonS3Client(awsCredentials);
		s3.setRegion(Region.getRegion(Regions.AP_NORTHEAST_1));

		// Amazon S3: バケット一覧表示
		List<Bucket> buckets = s3.listBuckets();
		for(Bucket bucket : buckets) {
			String bucketName = bucket.getName();
			System.out.println(bucketName);
		}
		// Amazon S3: Bucket作成
		s3.createBucket("bucket-from-javasdk");

	}
}

AWS Toolkit for Eclipse

AWS ToolkitをEclipseで利用する場合はプラグインとして導入します。更新用URLで諸々導入完了すると、Eclipse上で様々な要素の確認、操作が行えるようになります。各種アカウントやKeyPair情報等も管理出来るのでEclipse派の人は入れて損は無いプラグインですね。

ec4 ec1

Java SDK with Groovy

上記公式サイトではJava/Eclipseでチュートリアル等が用意されていますが、勿論Javaの資産を生かしてGroovyで書く、なんて事も可能です。(※GroovyでAWS、の方がJavaよりも幾分お手軽感はあるような気はするのですが、検索してみても思った程エントリ等は無いようですね...)

以下はGroovy2.0/IntelliJ IDEA 12.1(Ultimate Edition)でS3バケット作成を試してみた時のスクリーンショットです。

aws-gr3

AWS SDK for Android

AndroidについてはMacOSXで環境を整え、確認してみました。

Javaインストール

Java SE Downloadsでインストーラを入手、利用バージョンの設定等を行った上で動作環境に用いるJavaのバージョンを確認。

$ java -version
java version "1.7.0_11"
Java(TM) SE Runtime Environment (build 1.7.0_11-b21)
Java HotSpot(TM) 64-Bit Server VM (build 23.6-b04, mixed mode)

Eclipseインストール

Eclipse Downloadsから本体入手。ここではEclipse4.2、Eclipse IDE for Java EE Developers, Mac OS X(64Bit)のものをダウンロード。そして解凍後Application配下に配置、起動。

$ tar xvf eclipse-jee-juno-SR2-macosx-cocoa-x86_64.tar.gz 
$ mv eclipse eclipse_aws
$ mv eclipse_aws/ /Applications/
$ /Applications/eclipse_aws/eclipse -clean

Eclipseを日本語化させて使いたい、という場合はPleiadesのプラグイン用アーカイブファイルを別途入手し、各種ファイルを上書きする形で反映。

$ tar xvf pleiades_1.4.0.zip
$ cp -a pleiades_1.4.0/* /Applications/eclipse_aws/
$ sudo vi /Applications/eclipse_aws/Eclipse.app/Contents/MacOS/eclipse.ini
-javaagent:../../../plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar (←eclipse.iniファイルの末尾に追加)
$ /Applications/eclipse_aws/eclipse -clean

Android SDK Pluginのインストール

Installing the Eclipse Plugin | Android Developers

"新規ソフトウェアのインストール"で更新用URL( https://dl-ssl.google.com/android/eclipse/ )を追加、各種プラグインをインストール。この時点でAndroid SDKが入ってない場合は導入の過程で入れる事が出来ますので、ウィザードに従って最新バージョンを導入します。

sdk_android_02w

SDKが入ったら早速プロジェクトを作成しAndroid環境の動作確認。ちなみ仮想デバイスが無い場合は実行前に予め作成・起動しておく必要がありますので前以て作っておきましょう。Macの場合は導入したsdksフォルダ配下の/tools/androidを実行する事でデバイスの作成、管理が行えます。

sdk_android_05

[tools]→[Manage AVDs...]を選択。

sdk_android_06

新規に環境を作成し、起動。

android-run

AWSサンプルコード実行

Android SDK版では、/samples というフォルダの中に各種サービスを用いたサンプルコードが多数用意されています。今回はその中から『S3_SimpleDB_SNS_SQS_Demo』というプロジェクトを動かしてみる事にします。[インポート]で対象フォルダを指定し取込。

sdk_android_11w

認証関連の情報はcom.amazonaws.demoパッケージ配下、AwsCredentials.propertiesというファイルに記載するようです。所定の内容を記載しましょう。

# Fill in your AWS Access Key ID and Secret Access Key
# http://aws.amazon.com/security-credentials

#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# This sample App is for demonstration purposes only.
# It is not secure to embed your credentials into source code.
# Please read the following article for getting credentials
# to devices securely.
# http://aws.amazon.com/articles/Mobile/4611615499399490
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

ACCESS_KEY_ID=<アクセスキーID>
SECRET_KEY=<シークレットキー>

プロジェクト起動。S3他、幾つかのサンプル実行が行えるアプリケーションが起動しました。試しにS3でバケットを作成してみます。

s3-action

サンプルアプリケーションでの操作実行後、Amazon管理コンソールでも内容を確認してみます。ちゃんと出来ていますね。

sdk_android_17x

AWS SDK for iOS

iOSもMacOSXで環境整えるところから。

xCodeのインストール

iOSアプリ開発には何はなくともxCodeを入れないと始まりません。(つーかこれ入れればほぼ終わりですね...)

sdk_ios_02

iOS版もサンプルコードが各種揃ってますので、こちらを利用します。ダウンロード&解凍した中に含まれる*.xcodeprojファイルをxCode経由で選択。

ios-01

iOSプロジェクトの場合、AWS認証情報を設定するファイルはClasses/Constants.hファイルとなるようです。

sdk_ios_12x

プロジェクト実行。

iosaction2

AWS Tools for Windows PowerShell

当然の事ながら、Windows PowerShellが動く環境が必要です。Windows XP以降、Powershell 2.0以上が前提条件となります。

PS C:\> $PSVersionTable

Name                           Value
----                           -----
CLRVersion                     2.0.50727.4984
BuildVersion                   6.1.7600.16385
PSVersion                      2.0
WSManStackVersion              2.0
PSCompatibleVersions           {1.0, 2.0}
SerializationVersion           1.1.0.1
PSRemotingProtocolVersion      2.1

上記公式サイトからmsiファイルを入手し、実行。

powershell_001

PowerShellを起動、Import-ModuleコマンドでインストールしたPowerShellのpsdlファイルを取り込みます。これでPowerShell上でAWSコマンドが利用出来るように。

PS C:\> Import-Module 'C:\Program Files (x86)\AWS Tools\PowerShell\AWSPowerShell\AWSPowerShell.psd1'
PS C:\> Get-Module

ModuleType Name                      ExportedCommands
---------- ----                      ----------------
Binary     AWSPowerShell             {New-IAMUser, Update-EBApplicationVersion, Set-ASInstanceHealth, Remove-...

利用可能なサービス一覧を表示。

PS C:\> Get-AWSPowerShellVersion -ListServices

AWS Tools for Windows PowerShell
Version 1.0.9.0
Copyright 2012-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.

Amazon Web Services SDK for .NET
Version 1.5.18.0
Copyright 2009-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.

This software includes third party software subject to the following copyrights:
- Logging from log4net, Apache License
[http://logging.apache.org/log4net/license.html]


Service                                   Noun Prefix     Version
-------                                   -----------     -------
Auto Scaling                              AS              2011-01-01
Amazon CloudFront                         CF              2012-07-01
AWS CloudFormation                        CFN             2010-05-15
Amazon CloudSearch                        CS              2011-02-01
Amazon CloudWatch                         CW              2010-08-01
AWS Direct Connect                        DC              2012-10-25
AWS Data Pipeline                         DP              2012-10-29
AWS Elastic Beanstalk                     EB              2010-12-01
Amazon ElastiCache                        EC              2012-11-15
Amazon Elastic Compute Cloud              EC2             2013-02-01
Elastic Load Balancing                    ELB             2012-06-01
Amazon Elastic MapReduce                  EMR             2009-03-31
Amazon Elastic Transcoder                 ETS             2012-09-25
AWS Identity and Access Management        IAM             2010-05-08
AWS Import/Export                         IE              2010-06-01
AWS OpsWorks                              OPS             2013-02-18
AWS Route 53                              R53             2012-12-12
Amazon Relational Database Service        RDS             2013-02-12
Amazon Redshift                           RS              2012-12-01
Amazon Simple Storage Service             S3              2006-03-01
Amazon Simple Email Service               SES             2010-12-01
AWS Storage Gateway                       SG              2012-06-30
Amazon Simple Notification Service        SNS             2010-03-31
Amazon Simple Queue Service               SQS             2012-11-05
AWS Security Token Service                STS             2011-06-15

PS C:\>

認証情報の登録。

PS C:\> Initialize-AWSDefaults -AccessKey <アクセスキーID> -SecretKey <シークレットキー> -Region ap-northeast-1
Credentials retrieved from Strings
Region retrieved from String
Credentials and region will be saved in this session
PS C:\>

利用可能なコマンドの一覧。ただこれだと全サービスの全コマンドが表示されてしまうので、

PS C:\> Get-Command -Module AWSPowerShell

S3に関するコマンドだけ表示させてみます。

PS C:\> Get-Command -Module AWSPowerShell | Select-String s3

Copy-S3Object
Disable-S3BucketLogging
Enable-S3BucketLogging
Get-S3ACL
Get-S3Bucket
Get-S3BucketLocation
Get-S3BucketLogging
Get-S3BucketPolicy
Get-S3BucketTagging
Get-S3BucketVersioning
:

S3パケットを作ってみましょう。以下のコマンドで作成出来ました。

PS C:\> New-S3Bucket -BucketName "s3bucket-from-powershell"

BucketName                       CreationDate
----------                       ------------
s3bucket-from-powershell         土, 4 5 2013 21:01:14 GMT

AWS Toolkit for Visual Studio

まずは最初にVisualStudioを導入。以下のダウンロードサイトから試用版をダウンロードし、インストールします。

ダウンロード | Microsoft Visual Studio 2012

sdk_visualstudio_105

環境導入後は適当なプロジェクトを作成し、プロジェクトから[NuGetパッケージの管理]を選択。

sdk_visualstudio_202

[AWS SDK for .NET: Extensions]を選択。

sdk_visualstudio_203

導入が完了するとEclipse Toolkit同様、各種要素を閲覧・管理出来るようになります。

sdk_visualstudio_206

AWS SDK for Node.js

Node.jsはEC2インスタンスを使って環境構築を行いつつ試してみました。基本的には以下の両エントリを参考にしました。

nvm及びNode.jsのインストール。

$ sudo yum install -y git
$ sudo yum install -y openssl-devel
$ sudo yum install -y gcc-c++
$ sudo yum install -y make
$ git clone git://github.com/creationix/nvm.git .nvm
$ . .nvm/nvm.sh

$ nvm install v0.10.5
$ nvm install v0.8.23
$ nvm use v0.10.5
Now using node v0.10.5
$ nvm ls
   v0.8.23      v0.10.5
current: 	v0.10.5
$ 
$ node --version
v0.10.5

npm及びaws-sdkのインストール。

$ curl https://npmjs.org/install.sh | sudo sh
$ git clone git://github.com/creationix/nvm.git ~/.nvm
$ echo . ~/.nvm/nvm.sh >> ~/.bashrc
$ . ~/.bashrc
$ nvm use 0.10.5
$ npm install aws-sdk

認証ファイルの作成。

$ sudo vi credential.json
{
"accessKeyId": "<アクセスキーID>",
"secretAccessKey": "<シークレットアクセスキー>",
"region": "ap-northeast-1"
}

実行ファイル(S3バケット作成)の作成。

$ sudo vi s3.js

var AWS = require('aws-sdk');
AWS.config.loadFromPath('./credential.json');

var ep = new AWS.Endpoint('s3-ap-northeast-1.amazonaws.com');
var s3 = new AWS.S3({endpoint: ep});

s3.createBucket({Bucket: 'bucket-from-nodejs'}, function() {
  var params = {Bucket: 'bucket-from-nodejs', Key: 'myKey', Body: 'Hello!'};
  s3.putObject(params, function(err, data) {
    if (err)
      console.log(err)
    else
      console.log("Successfully uploaded data to bucket-from-nodejs/myKey");
  });
});

実行。

$ node s3.js
Successfully uploaded data to bucket-from-nodejs/myKey

ちゃんとバケットも出来てます。

nodejs-bucket

AWS SDK for Ruby

Ruby SDKもAWS EC2 Linux上にて確認。aws-sdk導入まで一気に。

$ sudo yum install -y ruby
$ sudo yum install -y ruby-devel
$ sudo yum install -y rubygems
$ ruby -v
ruby 1.8.7 (2012-10-12 patchlevel 371) [x86_64-linux]
$ sudo yum install -y libxml2-devel
$ sudo yum install -y libxslt-devel
$ sudo gem install aws-sdk

実行ファイル作成&実行。

$ sudo vi s3-create-bucket.ruby
------------
#!/usr/bin/ruby

require 'rubygems'
require 'aws-sdk'

AWS.config(
    :access_key_id => '<アクセスキーID>',
    :secret_access_key => '<シークレットアクセスキー>')

s3 = AWS::S3.new
s3.buckets.create('bucket-from-ruby')
------------
$ ruby s3.ruby

AWS SDK for PHP

PHP版はLinux(EC2インスタンス)にて検証。

PHPのインストール。

$ sudo yum install -y php
$ php -v
PHP 5.3.23 (cli) (built: Apr  3 2013 19:20:26) 
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies

AWS SDK for PHPのインストール。

$ sudo yum -y install git 
$ git clone git://github.com/amazonwebservices/aws-sdk-for-php.git AWSSDKforPHP
$ ll
:
drwxrwxr-x 11 ec2-user ec2-user 4096  5月  4 15:04 2013 AWSSDKforPHP
:

実行ファイルの作成。

sudo vi s3.php
-------
<?php
// Instantiate the class
require_once 'AWSSDKforPHP/sdk.class.php';
$s3 = new AmazonS3(array(
  'key' => '<アクセスキーID>',
  'secret' => '<シークレットキー>',
));
//$bucket = 'bucket-from-php' . strtolower($s3->key);
$bucket = 'bucket-from-php';

$response = $s3->create_bucket($bucket, AmazonS3::REGION_US_STANDARD);

// Success?
var_dump($response->isOK());

?>

実行。

$ php s3.php
bool(true)

boto(A Python interface to Amazon Web Services)

Pythonでは2つの環境・ツールが提供されています。まず1つめは『boto』。

easy_installが導入されていれば、botoの導入は以下のコマンドで完了です。

$ sudo easy_install pip
$ sudo pip install boto

実行ファイルを配置する場所に.botoファイルを作成し、認証情報を設定します。

$ sudo vi .boto
[Credentials]
aws_access_key_id = <ACCESS_KEY_ID>
aws_secret_access_key = <SECRET_KEY_ID>

以下、対話モードによる実行結果。

$ python
Python 2.6.8 (unknown, Mar 14 2013, 09:31:22) 
[GCC 4.6.2 20111027 (Red Hat 4.6.2-2)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import boto
>>> from boto.s3.connection import S3Connection
>>> s3 = S3Connection()
>>> s3.create_bucket('bucket-from-boto')
<Bucket: bucket-from-boto>
>>>

awscli(Python Command Line Tools)

最後に紹介するこちらのPython製コマンドラインツール。こちらはEC2インスタンス(Amazon Linux AMI 2013.03)作成後の環境にデフォルトで入ってたりしてます。

$ aws --version
aws-cli/0.8.2 Python/2.6.8 Linux/3.4.37-40.44.amzn1.x86_64

基本的には以下のコマンド群を実行することでawscliの導入は完了するのですが(一番下のコマンドはawscliの補完を効かすためのもの)

sudo easy_install pip
sudo pip install awscli
sudo pip install awscli --upgrade
complete -C aws_completer aws

ただ、EC2インスタンス作成後に補完コマンドを設定してみても、上手く動きません。

$ complete -C aws_completer aws
$ aws -bash: aws_completer: コマンドが見つかりません

色々導入コマンド実践してみたのですが、OS作成直後の状態ではaws_completerがインストールされておらず、sudo pip install awscliのタイミングでインストールされるようです。なので導入環境がおかしくなるようなら以下のコマンドで環境を整備し直すのが良いかも知れません。

$ sudo pip uninstall awscli
$ sudo pip install awscli
$ sudo pip install awscli --upgrade
$ complete -C aws_completer aws

認証情報作成の手段としては幾つかある模様。1つめは認証情報を記したファイルを作成し、設定ファイルの場所を環境変数『AWS_CONFIG_FILE』として定義する方法。

$ sudo vi awscli.txt
----------------
[default]
aws_access_key_id=<Access Key Id>
aws_secret_access_key=<Secret Access Key>
region=ap-northeast-1
----------------
$ export AWS_CONFIG_FILE=/home/ec2-user/awscli.txt

2つめはの認証に関する情報をそのまま環境変数として定義する方法。

$ export AWS_ACCESS_KEY_ID=<アクセスキーID>
$ export AWS_SECRET_ACCESS_KEY=<シークレットアクセスキー>

設定内容は以下のように .bash_profile に追記しておけば、ログインして即使えるようになります。

$ pwd
/home/ec2-user
$ vi .bash_profile 
------------------
# User specific environment and startup programs
export AWS_CONFIG_FILE=/home/ec2-user/awscli.txt
complete -C aws_completer aws

こちらのコマンドラインツール、便利なのはTab2回押下で該当するコマンドを一覧(補完)表示してくれるのです。便利。

$ aws s3 (Tab押下x2)
abort-multipart-upload      delete-bucket-website       get-bucket-request-payment  list-multipart-uploads      put-bucket-request-payment
complete-multipart-upload   delete-object               get-bucket-tagging          list-object-versions        put-bucket-tagging
copy-object                 delete-objects              get-bucket-versioning       list-objects                put-bucket-versioning
create-bucket               get-bucket-acl              get-bucket-website          list-parts                  put-bucket-website
create-multipart-upload     get-bucket-cors             get-object                  put-bucket-acl              put-object
delete-bucket               get-bucket-lifecycle        get-object-acl              put-bucket-cors             put-object-acl
delete-bucket-cors          get-bucket-location         get-object-torrent          put-bucket-lifecycle        restore-object
delete-bucket-lifecycle     get-bucket-logging          head-bucket                 put-bucket-logging          upload-part
delete-bucket-policy        get-bucket-notification     head-object                 put-bucket-notification     upload-part-copy
delete-bucket-tagging       get-bucket-policy           list-buckets                put-bucket-policy

s3 create-bucketコマンドで補完。

$ aws s3 create-bucket -- (Tab押下x2)
--acl                          --debug                        --grant-read-acp               --output
--bucket                       --endpoint-url                 --grant-write                  --profile
--color                        --grant-full-control           --grant-write-acp              --region
--create-bucket-configuration  --grant-read                   --no-verify-ssl                --version

補完機能だけで無く、実行エラーの場合は次に何をすれば良いのか等のメッセージも提示してくれます。

$ aws s3 create-bucket
usage: aws s3 create-bucket [--grant-full-control GRANT_FULL_CONTROL]
                            [--create-bucket-configuration CREATE_BUCKET_CONFIGURATION]
                            [--grant-write-acp GRANT_WRITE_ACP] --bucket
                            BUCKET [--acl ACL] [--grant-write GRANT_WRITE]
                            [--grant-read GRANT_READ]
                            [--grant-read-acp GRANT_READ_ACP]
aws s3 create-bucket: error: argument --bucket is required

バケット作成。

$ aws s3 create-bucket --bucket bucket-from-awscli

そしてバケット一覧の取得。

$ aws s3 list-buckets
{
    "Owner": {
        "DisplayName": "xxxxxxxxx", 
        "ID": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
    }, 
    "Buckets": [
        {
            "CreationDate": "2013-04-27T06:32:00.000Z", 
            "Name": "aws-create-s3bucket-test"
        }, 
        {
            "CreationDate": "2013-05-04T16:33:46.000Z", 
            "Name": "bucket-from-awscli"
        }, 
        {
            "CreationDate": "2013-04-28T04:25:36.000Z", 
            "Name": "bucket-from-boto"
        }, 
        {
            "CreationDate": "2013-05-01T11:28:53.000Z", 
            "Name": "bucket-from-groovy"
        }, 
        {
            "CreationDate": "2013-04-27T11:08:56.000Z", 
            "Name": "bucket-from-javasdk"
        }, 
        {
            "CreationDate": "2013-05-04T14:12:04.000Z", 
            "Name": "bucket-from-nodejs"
        }, 
        {
            "CreationDate": "2013-05-04T15:23:06.000Z", 
            "Name": "bucket-from-php"
        }, 
        {
            "CreationDate": "2013-04-28T05:23:18.000Z", 
            "Name": "bucket-from-ruby"
        }, 
        {
            "CreationDate": "2013-04-27T08:23:47.000Z", 
            "Name": "bucketfromios"
        }, 
        {
            "CreationDate": "2013-04-28T12:32:10.000Z", 
            "Name": "s3bucket-from-powershell"
        }, 
        {
            "CreationDate": "2013-05-04T14:20:57.000Z", 
            "Name": "xbucket-from-nodejs"
        }
    ], 
    "ResponseMetadata": {}

まとめ

というわけで、言語別SDKを中心に色々な言語でAWSの実行環境構築、及びAWSの操作を試してみました。(サービス別のコマンドラインツールはサービスによって環境言語がバラバラ過ぎるのと気力の限界で断念w まぁSDKなり今回触ったコマンドラインツールで事足りるのもありますし)

導入へのハードルは今回試したものは総じて高くないとは思いますが、"軽く試す"という場合であれば、個人的にはawscli辺りが設定で補完も効くし良いな〜と思いました。RubyやNode.js等も軽快で良いですね。後はJava SDKをGroovyで使うと言うのも便利な気がしてます。状況に応じて最適な環境を利用して行きたいところですね。