HTMLとJavaScriptでEC2インスタンスを起動する

| コメントをどうぞ

AWSのSDKは様々な言語向けに用意されていますが、サーバーサイドの実装なしでAWSのAPIを叩く場合の選択肢として、AWS SDK for JavaScriptがあります。
http://aws.amazon.com/jp/tools/

ただ、他のSDKと違って対応しているサービスが限られています。
利用可能なサービスはS3、SQS、SNS、DynamoDBなどで、EC2は対象ではありませんでした。

EC2をサポート

6月24日のリリースで、In the BrowserにEC2がこっそり追加されていました。
http://aws.amazon.com/releasenotes/SDK/JavaScript/5873934951898767

6月18日のリリースにはEC2はありませんね。
http://aws.amazon.com/releasenotes/SDK/JavaScript/3577030144306744

HTMLファイルだけでEC2を起動

ついにHTMLファイルだけで、EC2の操作ができるようになりました。
このHTMLをブラウザで開いてボタンをクリックすれば、AWSコンソールのログインなしでインスタンスが起動できます。
※アクセスキーやシークレットを直接埋め込んでいるので、ローカルでの利用を想定しています。

<html>
<script src="https://sdk.amazonaws.com/js/aws-sdk-2.1.41.min.js"></script>
<script>
  AWS.config.update({
    accessKeyId: 'アクセスキー',
    secretAccessKey: 'シークレット',
    region: 'ap-northeast-1'
  });

  function startEC2Instance() {
    var params = {
      InstanceIds: ['インスタンスID']
    };
    var ec2 = new AWS.EC2();
    ec2.startInstances(params, function(err, data){
      if(err){
        console.log(err, err.stack);
      } else {
        console.log(data);
      }
    });
  }
</script>

<body>
  <div><button onclick="startEC2Instance()">Start EC2 Instance</button></div>
</body>
</html>

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>