5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

AWS Mobile Hubで作ったスマホアプリでAMIMOTOを起動させる

Posted at

概要

hub_splash_1.png

AWSのMobile Hubで簡単にmobileアプリが作れるとのことなので、試して見ました。
実機からAMIMOTOのEC2インスタンスを起動・停止ができるアプリを作ってみましょう

Lambdaファンクション

まずは、AMMIMOTOを起動と停止させるファンクションを作ります。

start-instance


var AWS = require('aws-sdk');

function startInstance(instance_id, context) {
	var ec2 = new AWS.EC2();
    var params = {
        InstanceIds: [
            instance_id
        ]
    };
 
    ec2.startInstances(params, function(err, data) {
        if (err) console.log(err, err.stack);
        else     context.done();
    });
}

exports.handler = function(event, context) {
    startInstance(event.instance_id, context);
};

Mobile Hubからアプリを作る

今回はMobile HubのCloud Logicの機能を使って、アプリからLambdaを叩ける用にします。

スクリーンショット 2015-10-27 8.52.12.png

Cloud Logicを有効化して、アプリから叩きたいLambdaファンクションを指定します。

スクリーンショット 2015-10-27 8.57.10.png その後Buildメニューを選択して、iOSを選択します。Download iOS source packageをクリックすると構築済みのiOSアプリのパッケージがダウンロードできます。

アプリをiPhoneへインストール

Xcode7で1円も払わずに自作iOSアプリを実機確認するにあるようにここ最近出たxcode7では、無料で特に申請や難しい手順もなく、作ったアプリをiPhoneへインストールして立ち上げることが出来ます。

スクリーンショット 2015-10-27 9.04.18.png xcode7でMobile Hubからダウンロードしたアプリを読み込みます。そしてUSBでiPhoneを接続。ビルドの対象に自身のiPnoneを指定した上で実行ボタンを押すだけで実機にインストールして実行出来ます。

IMG_0374 copy copy.jpg
こんな感じで実機の上にアプリが現れます。

アプリの実行

IMG_0375.jpg
アプリを実行するとこんな画面が立ち上がります。デザインを適用しない場合にMobile Hubが自動で作ってくれる画面ですね。Cloud Logicを選択してLambdaファンクションを実行しましょう

IMG_0376.jpg
start-instance関数を設定してinvokeをタップします。

スクリーンショット 2015-10-27 9.29.20.png こんな感じでインスタンスが起動し始めました。 スクリーンショット 2015-10-27 9.51.48.png しばらくしてブラウザからアクセスすると、AMIMOTO起動しました!
5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?