AWS Cloud9の使い方〜新しいEC2インスタンス作成編〜

AWS Cloud9の導入方法〜新しいEC2インスタンス作成編〜

クラウドIDEのCloud9は2016年にAmazonに買収され、2017年の12月にAWSに統合されました。
AWSに統合されたことで使い方が少し変わり、わかりにくくなったと感じる人もいるのではないでしょうか。

この記事ではビギナー向けにAWS Cloud9で環境構築する方法(新しいEC2インスタンス作成編)を解説していきます。
手順通りに進めていけば難しいことはありませんので難なく進めれると思います。

SSH接続編は「AWS Cloud9の導入方法〜SSH接続編〜」をご覧ください。

※AWSを利用する場合はセキュリティの観点からIAMユーザーを作成して作業を行うことが好ましいですが、この記事ではルートアカウントで作業しています。
IAMユーザーの作成、セキュリティ対策については下記記事をご覧ください。

AWSコンソールから環境を作成

まずAWSのアカウントを作成してコンソールにログインします。
ログインしたら「サービス」から「Cloud9」をクリックします。

AWSコンソール サービス一覧

Cloud9は東京リージョンをサポートしていないので、他のリージョンで利用する形となります。
どこでも問題ありませんが、ここでは「アジアパシフィック(シンガポール)」を選択します。

AWS Cloud9 リージョン選択

次に「Create environment」をクリックして、環境作成画面に移動します。

AWSコンソール ホーム

Nameに任意の環境名を入力して「Next step」をクリックします。

AWS Cloud9 環境名、ディスクリプションの入力

設定画面に移動したら「Environment type」で「Create a new instance for environment (EC2)」にチェックを入れます。

AWS Cloud9 環境タイプの選択

Instance type」は制作環境に合わせて適当なものを選択してください。
今回は「t2.micro (1 GiB RAM + 1 vCPU)」にチェックを入れました。

AWS Cloud9 インスタンスタイプの選択

Cost-saving setting」はデフォルトの「After 30 minutes (Default)」で良いでしょう。

AWS Cloud9 自動停止設定

これはブラウザを閉じてから何分後にインスタンスを自動停止するかの設定です。
Cloud9の利用自体は無料ですが、インスタンスを起動している間料金がかかるのでコスト節約のために短めに設定しておくと良いでしょう。

Network settings (advanced)」は特に変更する必要はありませんので「Next step」をクリック。

AWS Cloud9 確認画面へ移行

確認画面に移るので問題なければ「Create environment」をクリックして、作成します。

AWS Cloud9 確認画面

環境構築まで1、2分かかります。
完了するとCloud9 IDEの画面が現れます。

AWS Cloud9 環境構築完了

次は、パブリックIPの固定化を行いましょう。

パブリックIPの固定化

パブリックIPを固定しておかないとEC2インスタンスが起動するたびにパブリックIPが変わってしまいますので、こちらももれなく行いましょう。

サービス」から「EC2」をクリック。

AWSコンソール サービス一覧

左側のメニューから「Elastic IP」をクリック。

AWS EC2

画面上の「新しいアドレスの割り当て」をクリック。

AWS EC2 Elastic IP新しいアドレスの割り当て

画面右の「割り当て」をクリック。

AWS EC2 Elastic IP割当

割り当てが成功すると「新しいアドレスのリクエストが成功しました」という画面に変わるので画面右の「閉じる」をクリック。

AWS EC2 Elastic IP割当成功

これでElastic IP(固定パブリックIP)を取得できたので、先程Cloud9で作成したインスタンスにこのIPアドレスを関連付けます。
今作成したElastic IPを選択した状態で「アクション」→「アドレスの関連付け」をクリック。

AWS EC2 Elastic IPアドレスの関連付け

先程Cloud9で作成したインスタンスを選択して「関連付け」をクリック。

AWS EC2 Elastic IP関連付け

成功すると「新しいアドレスの関連付けが成功しました」という画面に変わるので右下の「閉じる」をクリック。

AWS EC2 Elastic IP関連付け成功

これでパブリックIPの固定化は完了です。
次はセキュリティグループでポートの開放を行います。

セキュリティグループでポートの開放

通常のHTTPアクセスはポート80番を使いますが、Cloud9の場合8080番が割り当てられているのでこのポート番号を開放します。

セキュリティグループ」→「cloud9のセキュリティグループ」→「インバウンド」→「編集」の順にクリックします。

AWS EC2 セキュリティグループ

ルールの追加」をクリックし、ポート範囲に「8080」を入力、ソースに「0.0.0.0/0」と入力し保存をクリック。

AWS EC2 セキュリティグループ インバウンドのルールの編集

これで8080番のポートが開放されました。

次はCloud9上でPHPを書いて実行・確認する所までやっていきましょう。

PHPの実行

サービス」から「Cloud9」を選択すると、「Your environments」に先程作ったCloud9の開発環境が出てきますので「Open IDE」をクリックしてCloud9 IDEを開きましょう。

AWS Cloud9 Your environments

IDEが開いたら確認用のPHPファイルを作成します。
ルートディレクトリを選択した状態で、「File」の「New From Template」から「PHP File」を選択します。

AWS Cloud9 PHPファイルの作成

すると新しいファイルが作られますのでphpinfo();と入力し、⌘+SまたはCtrl+Sで保存します。
ファイル名はindex.phpとしましょう。

AWS Cloud9 名前をつけて保存

保存ができたら先程書いたPHPを実行してみます。
Run」をクリックし、「Run With」から「PHP(build-in web server)」をクリックします。

AWS Cloud9 RUN(サーバーを起動)

そして「パブリックIPの固定化」で紐づけたIPアドレスに:8080をつけたURLにアクセスします。
画面にPHPの情報が出ていれば成功です。

AWS Cloud9 PHPの実行確認

これでPHPを実行・確認するところまでできました。
次はWordPressをインストールしていきたいと思います。

WordPressのインストール

ここからはコマンドを使っていきますのでIDE上でターミナルを開きます。

View」の「Console」をクリックしてコンソール画面を表示。

AWS Cloud9 コンソールを開く

ターミナルが出ていなければ⊕ボタンから「New Terminal」をクリックします。

AWS Cloud9 ターミナルを開く

そしてwgetコマンドでWordPress本体をダウンロードします。

wget https://wordpress.org/latest.tar.gz
Bash

次に解凍。

tar -xzf latest.tar.gz
Bash

wordpressというディレクトリの中に本体ファイルが入っていることが確認できます。

AWS Cloud9 WordPress本体が入っていることを確認

解凍前のlatest.tar.gzはもう削除して大丈夫です。

次に、MySQLを起動してWordPress用のデータベースを作成していきます。

MySQLの起動

sudo service mysqld start
Bash

rootでログイン

mysql -u root
Bash

データベースの作成

CREATE DATABASE データベース名;
Bash

ユーザーとパスワードの作成

CREATE USER 'ユーザー名'@'localhost' IDENTIFIED BY 'パスワード';
Bash

ユーザへ権限付与

GRANT ALL PRIVILEGES ON データベース名.* TO "ユーザー名"@"localhost";
Bash

終了

exit
Bash

これでデータベースの作成は完了しましたので、
パブリックIP:8080/wordpress/にアクセスしてみてWordPressのインストール画面が出るか確認しましょう。

AWS Cloud9 ターミナルを開く

あとは画面に沿って必要事項を入力していけばWordPressのインストールは完了です。

複数のWordPressをインストールする場合は、ディレクトリを分けて今やった作業を繰り返すだけです。

使ってみた感想

メリット

  • 簡単に開発環境を構築できる
  • インスタンスの自動停止時間を設定できるためコストが節約できる

デメリット

  • 表示速度が遅い時がたまにある。WordPressのまっさらのトップページでも2〜4秒かかったり。リージョンが東京じゃないからなのかビルトインウェブサーバーなのかは不明。

以上のことから「速度が多少遅くても気にしない、コストを最小限にしたい」という方はこの記事の方法で、
サクサク本格的に開発したい、コストは多少掛かってもいい」という方はKUSANAGIなりFastPressなりで別個にサーバーを構築して、そこにSSH接続して使う方法がオススメです。

SSH接続して使う方法については「AWS Cloud9の導入方法〜SSH接続編〜」に書きましたのでそちらをご覧ください。