エンジニアブログ

エンジニアブログ
イベント

AWS SDK for JavaScript を使ってみようと思い立った話

YT 2013年12月17日

こんにちわ。エンジニアのYTです。

いつだったか忘れましたが、先日(先月ぐらい?) AWS SDK for JavaScript がAmazon Web Services様よりリリースされましたね!

かなり前にPerlモジュール Net::Amazon::EC2 などを使って自前AWSコンソール的なものを作ってみた事はあったのですが、いかんせんソースを保管しておくという癖のない私。
また自前コンソールが必要になってきたなぁ・・・また同じの作るの面倒だなぁ・・・と思っていた矢先に AWS SDK for JavaScript がリリースされたので、喜び勇んで使ってみた顛末をご紹介したいと思います。

 

さて、AWS SDK for JavaScript ですが、JavaScriptですので当然(?)、サーバサイドの実装なしにブラウザだけで動いてしまうはずです。多分。

そして AWS SDK for JavaScript は、ブラウザ上のJavaScriptだけでなく、サーバサイドJavaScriptと呼ばれる、なんだかかっこいいけどよくわからないNode.js でも動くというようなシロモノのようです。

まぁとりあえずNode.jsとかよくわからないので、馴染み深いブラウザでのJavaScriptでサーバサイド実装なしに楽にポコっと動けばいいなと簡単にやってみました。

ソース

<html>
<head>
<script type="text/javascript" src="./js/aws-sdk.js"></script>
<script type="text/javascript">
var config = new AWS.Config({
    "accessKeyId": "***************************",
    "secretAccessKey": "****************************",
    "region": "ap-northeast-1"
});
var EC2 = new AWS.EC2(config);
EC2.describeRegions(function (err, result) { console.log(result); }).send();
</script>
</head>
<body>
</body>
</html>

実行結果


error.png

めっちゃエラー!

なんかクロスドメイン通信云々の問題っぽく見え・・・考えてみたら当然ですね。

僕はこれを、ローカルのMac上に立ち上げたWebServerに localhost としてアクセスして実行しているため、localhost からは amazonaws.com にAjax通信ができなかったのです。

何かサーバからのレスポンスヘッダによくわからないものを付加したりするといけるとかなんとかの情報をググって発見しましたが、色々と面倒になってきて諦めました!

やっぱり時代はNode.jsですよ。クロスドメイン制限とか考えなくていいし。という事でNode.jsで更に試してみたりしている最中です。
またご紹介できるくらいになったらここで紹介させて頂きます!

 

さて、こんなに色々と楽しい仕組みを絶えず提供してくれるAWSをもっと楽しく使いましょう!
という事で、来る2014年1月18日に、Amazon Web Services 様にご協力頂き、AWS ハンズオンセミナーを開催する運びとなりました。
詳細はこちらの記事をご覧いただき、ご興味を持たれましたらふるってご参加頂ければ幸いです。
そらちゃんも来るよ!

 

ご注意
  • AccessKeyなどをソース内にハードコーディングしてしまっているのは、ローカルでのお試し実装である事によるものです。
    実際にご利用になる際には公式ドキュメントに従って、外から見られる事のない場所で管理するようにしてください!