Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

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

More than 5 years have passed since last update.

概要

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起動しました!

horike37
CEO of Serverless Operations, Inc Serverless Framework Core Maintainer
https://serverless.co.jp
serverless-operations
AWSクラウド技術の豊富な知見を活かし、サーバーレスによる開発や運用の支援、コンサルティングまで行う会社です
https://serverless.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away