Mobingi Advent Calendar 2018 15日目の記事です。

みなさん、Mobingi ALM をご存知でしょうか?
ALM とは Application Lifecycle Management の略で、簡単な作業でパブリッククラウドの環境構築・運用を自動化できるアプリケーションです。
煩わしいインフラ環境構築を最小限にとどめ、デベロッパーが開発に集中できる環境を整えられます。
そんな Mobingi ALM の魅力をお伝えすべく、使い方をハンズオン形式でご紹介します。
アカウントの作成から、PHP製のWebアプリケーション構築まで行います。
ぜひ一緒に手を動かしてみてください。

目次

  1. アカウントの作成
  2. 初期パスワードの変更
  3. ユーザーの作成
  4. パブリッククラウドの認証情報設定
  5. スタックの作成

1. アカウントの作成

ALM にログインできるアカウントを用意しましょう。
こちらからお問い合わせいただければすぐにアカウントを発行いたします。

2. 初期パスワードの変更

モビンギから送られてきた初期パスワードは、直ちに変更しましょう。右上に表示されている自身のアカウント名をクリック→歯車マークの「一般設定」をクリック→「パスワードを変更する」から、パスワードを変更できます。

3. ユーザーの作成

スタックの作成やパブリッククラウドの認証情報設定などは、ルートアカウントではなく、ルートアカウントから作られたユーザーから行います。
ルートアカウントでは基本的にユーザーの管理をメインで行います。

ルートアカウントから、ユーザーを作成します。
引き続き「一般設定」から左メニュー一覧の「ユーザー/グループ設定」をクリック→「ロール」をクリック→「新しいロールを作成」をクリックします。

権限のテンプレートがいくつか用意されているので、それをそのまま使うこともできますし、テンプレートから生成されるJSONファイルを自分で編集してより細かい制御を行うことも可能です。

ここでは、全権限が付与されているテンプレート「ALLOW ALL」を選択し、「Create New Role」をクリックします。

ロールが作成できたところで、ユーザーを作成します。
一般設定画面より、左メニュー一覧から「ユーザー/グループ設定」をクリック→「ユーザー」をクリックします。
ユーザIDやパスワード、メールアドレスを入力して「ユーザーの追加」をクリックします。

ユーザーの追加に成功すると、画面下部にユーザー一覧が表示されるので、追加したユーザーのアクション項目の「Edit」をクリックし、先ほど作成したロールを紐付けます。

これで無事にユーザーが作成できました。
ここからは、ルートアカウントからログアウトして、作成したユーザーでログインして作業を行います。

4. パブリッククラウドの認証情報設定

ALM は AWS、Microsoft Azure、GCP、Alibaba Cloud Fujitsu K5 に対応しており、ご自身のアカウント上にスタックを展開します。
ここでは一例として、AWSの認証情報を追加します。

一般設定画面より、左メニュー一覧から「認証情報設定」をクリック→「AWS」をクリックします。
ここからは「IAM アクセス権限ガイド」に従い、アカウント名、アクセスキーID、シークレットアクセスキーを入力し「アカウントを追加」をクリックします。

AWSの認証情報の追加方法に関しては、動画も用意していますのでここでご紹介しておきますね。

5. スタックの作成

クラウド上にWebアプリケーションをデプロイします。
Mobingi ALM は、JSONファイルを用いてインフラの構成を管理(Infrastructure as Code)できます。

トップページ左メニューから「スタックを作成」クリックし、タブの「Json Editor」をクリックします。
以下のJSONデータから「your-credential-name-here」をご自身のクレデンシャルに書き換えてから、コピーしてEdidorに貼り付けます。

{
    "version": "2017-03-03",
    "label": "example template version label #1",
    "description": "Mobingi ALM Stack.",
    "vendor": {
        "aws": {
            "cred": "your-credential-name-here",
            "region": "us-east-1"
        }
    },
    "configurations": [
        {
            "role": "web",
            "flag": "phpApp",
            "provision": {
                "instance_type": "t2.micro",
                "availability_zone": "us-east-1a",
                "auto_scaling": null,
                "keypair": true,
                "instance_count": 1,
                "load_balancer": null,
                "subnet": {
                    "cidr": "10.0.1.0/24",
                    "public": true,
                    "auto_assign_public_ip": true
                }
            },
            "container": {
                "container_image": "mobingi/ubuntu-apache2-php7:7.2",
                "container_code_dir": "/var/www/html",
                "container_ports": [
                    80
                ],
                "container_git_repo": "https://github.com/mobingilabs/default-site-php.git",
                "container_git_reference": "master"
            }
        }
    ]
}

 

「スタックをデプロイ」をクリックし、Webアプリケーションが起動するまでしばらく(約5分)待ちます。

JSONファイルの中身を少し解説すると、バージニア北部のリージョン内にVPC、Subnet、EC2を作成し、インスタンス内に mobingi/ubuntu-apache2-php7:7.2 のDockerイメージからコンテナが実行されます。
コンテナ内では mobingilabs/default-site-php のソースコードが /var/www/html ディレクトリに配置されます。

さて、そろそろデプロイが完了した頃でしょうか。
左メニューから「スタック一覧」をクリックし、先ほど作成したスタックをクリックします。
コンテナが「complete」(緑色)になっていることを確認したら、パブリックIPをクリックします。

以下のようなWebアプリケーションが表示されたら成功です。おめでとうございます!

最後に

今回はアカウント作成からスタックの作成まで、一連の流れをお伝えしたかったので、あえてシンプルな構成のWebアプリケーション構築方法をご紹介しました。
Mobingi ALM は、仮想マシンはもちろんのこと ロードバランサ、DB、キャッシュなどWebアプリケーションで一般的に利用される様々な機能を一気に構築することができます。
そちらの具体的な利用方法については、また別の記事でお伝えしようと思います。