技術ブログ
技術ブログ
2018年02月09日
このエントリーをはてなブックマークに追加

AWS Cloud9とLightsailの開発環境構築をパフォーマンス監視してみる

はじめに

NewRelic APM Agentは、オンプレサーバやクラウド(IaaS)以外にもPaaS(Platform as a Service)やVPS(Virtual Private Server)にもインストールすることができます。
現在下記PaaS環境のインストールドキュメントが用意しており、導入も簡単に行う事ができます。

また、インストールドキュメントが用意されていないPaaSやVPS環境でも、インストール条件や環境さえ合えば、APMやInfrastructureのAgentを動作させることが可能です。
今回は、NewRelicでパフォーマンス監視できる開発環境を、AWSのVPSであるLightsailとCloud9を使用して簡単に構築する方法についてご紹介したいと思います。

AWS Lightsailとは

2016年11月のre:inventで発表された、「シンプルで低額」「定額で月額$5から」「データ転送量やストレージ利用料込」な特徴をもつVPSサービスです。
数クリックで簡単に利用できるため、スケールアップや細かい設定などができない制限もありますが、EC2よりも手軽に利用できます。

アプリケーション(WordPress,Redmine,GitLab, Plesk)や開発環境(LAMP, MEAN, Node.js)を含んだイメージが複数用意されているので、検証等で手軽にサーバを準備したいケースなどで有効活用できます。

Lightsailでは、WebベースでSSH接続できる機能を持っていますが、必要最低限の機能であり開発環境として使うには不十分です。開発環境といえば、昨年のAWS SummitでリリースされたCloud9がとても便利なので一緒に活用したいと思います。

AWS Cloud9とは

2019年7月にAWSが買収した、クラウド環境で利用できるIDE(統合開発環境)で、昨年のAWS SummitでAWS Cloud9としてリリースされました。

無料で利用できる!!SSHリモート接続が可能であれば、AWSでない既存のオンプレミスサーバーでも利用できます。まだ東京リージョンでリリースされていないため、下記リージョンに切り替えて使用する必要があります。

  • アジアパシフィック (シンガポール)
  • 米国東部 (バージニア北部)
  • 米国東部 (オハイオ)
  • 米国西部 (オレゴン)

必要環境とサービス

サービス名  費用
AWS Lightsail 0.01 USD/時、5 USD/月から
AWS Cloud9 無料
New Relic APM 無料
New Relic Infrastructure Trial期間なら無料

AWS Lightsailの準備

New Relicですぐアプリケーション監視をしたいので、アプリケーション(WordPress)を含んだインスタンスをLightsailで準備したいと思います。

1.インスタンス作成

Lightsailのコンソール画面で「インスタンスの作成」ボタンを押すと
下記画面が表示されるの下記内容(デフォルト)にて「作成」ボタンを押します。

  • プラットフォーム Linux/Unix
  • 設計図の選択 WordPress
  • インスタンスプランの選択 $5/月
    (どれでも良いです)
  • インスタンスの名前の指定 WordPress-512MB-Tokyo-1×1
    (ユニークな名前なら何でも良いです)
2.接続確認

WordPressアイコンのインスタンスが一覧に表示されます。インスタンス情報からSSHとWordPressに接続できるか確認します。

   
  • SSH接続確認
    Web SSHターミナルのアイコンをクリックして、SSH接続できるか確認
    このターミナル画面は、あとで説明するCloud9設定で使用します。
  • WordPress確認
    グローバルIPアドレスが表示されるので、ブラウザを使用してWordPressの画面が表示されるか確認

Cloud9の準備

1.環境作成

Cloud9が利用できるリージョンに変更しCloud9コンソール画面を開きます。

“New AWS Cloud9 environment”の
「Create environment」ボタンを押します。
2.環境名
Nameにはユニークな名前を入力し
「Next Step」ボタンを押します。
3.環境設定

Lightsailで作成したWordPressにSSH接続して利用するので、下記内容で設定します。
(※ Userは、Lightsailで作成したアプリケーションや開発環境によって異なります)

  • Environment type
    Connect and run in remote server (SSH)
  • SSH server connection
    User :bitnami (WordPressの場合)
    Host :WordPressのグローバルIPアドレス
    Port :22
4.公開鍵の登録
   
「Copy key to clipboard」ボタンをクリックして公開鍵をコピーします。
Lightsail WordPressのWeb SSHターミナル画面に戻り、Cloud9の公開鍵を登録します。
右下にある「クリップボードボタン」を押すと、テキスト入力フォームが表示されるので、先ほどコピーした公開鍵をペーストします。
「クリップボードボタン」を再度押すと、テキスト入力フォームが消えるので「a」キーで
Insertモードにした状態で、マウスの右ボタンをクリックすると公開鍵がviエディタにペーストされます。
5.接続確認とnode.jsのインストール
   
Cloud9のコンソール画面に戻り、「Next Step」ボタンを押してLightsail WordPressに接続するとnode.jsが実行できないとエラーが表示されます。
$ sudo apt install nodejs-legacy npm Cloud9を使用するには”Node.js”が必要なので、WordPressのWeb SSHターミナル画面に戻ってインストールします。
再度、Cloud9のコンソール画面に戻り、「Next Step」ボタンを押すと、Step3のReview画面になるので”Create environment”ボタンを押します。
6.AWS Cloud9 インストール
   

Lightsail WordPressでCloud9を使用する為のコンポーネントをインストールします。

デフォルトのまま「Next」ボタン3回押して完了です。

7.AWS Cloud9の操作

Cloud9のIDEは、左ペインにファイルがツリー構造で表示され、右ペインでファイル編集やコンソール操作を行う事ができます。LightsailのWordPressは「apps/bitnami/wordpress/」にインストールされているので、PHP、CSS、JacaScriptなどの編集やインスタンス管理も簡単にできるようになりました。いい感じですね。

Neww Relic Agentのインストール

Cloud9のコンソール画面からAPMとInfrastructureのAgentをインストールします

1.APM Agentのインストール

LightsailではアプリケーションにWordPressを選択したので、PHPのAPM Agentをインストールします。
WordPressサーバへのAgentインストールは、以前このブログでも紹介した事がありますので
詳細については下記記事を参照いただき、Lightsail環境での差分について説明したいと思います。

New RelicのAPMとINFRASTRUCTUREを使って監視してみました(前半)
※ LightsailのWordPressはUbuntu16なので、”Select your environment:”は「Debian-based (Debian, Ubuntu, etc.)」になります

   

$ get -O – https://download.newrelic.com/548C16BF.gpg | sudo apt-key add –

$ sudo sh -c ‘echo “deb http://apt.newrelic.com/debian/ newrelic non-free” > /etc/apt/sources.list.d/newrelic.list’

$ sudo apt-get update
$ sudo apt-get install newrelic-php5

$ sudo newrelic-install install

ここまでは一緒です。
LightsailではPHPのインストール先が標準と異なるためか、検出された”DSO ini file”の”php.ini”の場所が異なっています。
今回の場合であれば、この部分が環境に応じて変更する必要がある箇所となります。

 $ sudo vi /opt/bitnami/php/etc/php.ini

 正しくは左のパスのファイルになるので、NewRelicの拡張モジュールと設定を追記&修正します。

$ sudo service bitnami restart

Webサーバを再起動します。

2.Infrastructure Agentのインストール

Infrastructure Agentも、以前このブログでも紹介した事がありますので詳細については下記記事を参照ください。

New RelicのAPMとINFRASTRUCTUREを使って監視してみました(後半)
※ LightsailのWordPressはUbuntu16なので、”Select installer:”は「apt」になります
※ “③Create the agent’s apt repo using the command for your distribution version”は、「Ubuntu 16 (“Xenial”)」になります

 

3.New Relic ポータルで確認

APMで設定したアプリケーション名とInfrastructureでLightsailのホスト名が表示されていたら完了です。

 

 

 

このエントリーをはてなブックマークに追加

PROプランのすべての機能を
30日間無料でお試し

新規無料登録いただくとPROプランのすべての機能を
30日間無料でお試しいただけます。
クレジットカードなど決済情報の登録は不要です。

各プランの詳細はこちらからご確認ください。