AWS Cloud9でWEBアプリを開発するための環境構築メモ「AWSCloud9環境作成」→「WEBサーバ起動/確認」まで
AWS Cloud9でWEBアプリを開発するための環境構築メモ「AWSCloud9環境作成」→「WEBサーバ起動/確認」まで:
WEBアプリ開発を行うための環境構築をする手順をまとめました。AWS Cloud9を使用しています。
※なお今回は、とりあえず動かしてみることを目標としています。セキュリティや請求の管理についても重要ですが今回はふれません。知りたい方は、別にお調べ下さい。
※このドキュメントは、どのようなWEBアプリ開発の環境構築にも必要になってくる「前段階(下準備)の作業」を行う手順書として活用することを想定しております。また、環境構築の初心者を想定して書いています。
ただし、専門用語などは詳しく説明しておりませんので、WEBアプリとは何なのかは前もって情報収集しておくことをおすすめします。
アマゾン・ウェブ・サービス(AWS)のアカウントが無い方は、前もって作成してください。
アカウントの作成が終わったら、まずはログインしてください。おそらく、ログインに成功すると、AWSマネージメント・コントロールのページへ遷移するはずです。
AWSマネージメント・コントロールの「サービスの検索」にCloud9と打ち込んで、Cloud9のページへアクセスしてください。
Clopud9のページへ行ったら、オレンジ色の「Create environment」ボタンを押しましょう。下記の3ステップで環境構築ができます。
AWS Cloud9環境の名前を入力しましょう。ここでは、env_001と入力しました。わかりやすい名前をつけたほうがよいですが、後で変更ができます。
いろいろな設定項目がありますが、デフォルト設定で特に変更しなくても構いません。
「Environment type」がEC2、「Instance type」がt2.micro、「Cost-saving setting」がAfter 30minutesになっていることだけ、確認しておきましょう。
※AWS Cloud9の裏側は、EC2というサービスが動いています。そのため、EC2に関する設定が必要です。なお、EC2のサービス単位をインスタンスと呼びます。
※インスタンスの性能や起動時間は、特別な理由がない限り、もっとも低スペックで低コストなものにしておけばよいでしょう。
内容を確認したら、「Create Environment」ボタンを押しましょう。
開発環境が構築されて、Cloud9が起動します。
これでひとまず、プログラムのコードを書く環境を構築することできました。
しかし、この初期状態の環境では、外部からWebページへアクセスができません。Cloud9上でファイルを書き換えることはできますが、WEBブラウザを使用してWEBアプリへのアクセスができないという意味です。
なぜ、この様になっているかと言うと、AWSがセキュリティを考慮しており、初期状態ではファイアーウォールと呼ばれる防護壁でふさいでいるからです。
環境構築が完了した瞬間に、世界中の人に見られる状態であったら、なんだか恥ずかしいですよね。
それでは、WEBアプリの動作確認をするために、Webブラウザで外部からアクセスができるようにファイアーウォールの設定を変更します。具体的には、http通信やhttps通信ができるように穴を開けます。
※ファイアーウォールは一般的に使われている用語です。AWSでは、このファイアーウォールをセキュリティーポリシーと表現しています。今後は、ファイアーウォールを、セキュリティーポリシーと呼ぶことにします。
Cloud9の右下にあるbashウィンドウから、下記のコマンドを入力して「インスタンスID」を取得してください。
WEBブラウザの別タブを開いて、AWSマネジメント・コンソールに戻り、サービス検索から「EC2」を打ち込んで、EC2のページへアクセスします。
AWSマネージメントコントロールの「サービスの検索」にEC2と打ち込んで、EC2のページへアクセスしてください。(AWS Cloud9のページは後で使うので、Webブラウザの別タブで、AWSマネージメントコントロールを開くとよいでしょう)
インスタンスの一覧から、AWS Cloud9で起動中のEC2インスタンスを見つけましょう。さきほどCloud9でコマンドを打って取得した「インスタンスID」を目視で見つけてください。そして、そのインスタンスがどのセキュリティーグループに所属しているか、確認してください。
見つけ出したEC2インスタンスのセキュリティポリシーか分かったら、そのセキュリティポリシーの設定を変更します。左側のメニューから、セキュリティポリシーの一覧にアクセスして、httpとhttpsの通信を許可します。
※コンピュータのTCP/IPネットワークについての知識がない方には、チンプンカンプンな内容かと思いますが、ひとまず下記の図のとおり編集して更新をすればOKです。
設定が完了したら、(別タブの)Cloud9のbashウィンドウへ戻って、下記のコマンドを入力してください。WEBに公開されているIPアドレスを取得することができるはずです。
※取得したIPアドレスは後で使います。
それでは、httd(Apache)というWEBサーバを起動してみましょう。下記のコマンドを実行して下さい。
起動に成功したら、WebブラウザのURL欄へ、さきほど取得したIPアドレスを入力して、アクセスしてみましょう。
アクセスできたら、セキュリティポリシーの設定が上手くいっています。
上手く行ったら、以下のコマンドでWebサーバを停止してから、アクセスしてみてください。
WEBサーバへアクセスできないことが確認できましたか?(start状態とstop状態の違いを知るために、はじめのうちは動作結果を確認するくせをつけましょう)
以上で、WEBアプリ開発に必要な環境構築の下準備は終了です。
あとは、開発に必要なパッケージ・ソフトウェアなどをインストールして、プログラミングが初められるようにすればよいでしょう。
※php,python,ruby,node.js,Goなど、その辺のインストールをする手続きについても今後は書いて行く予定です。
WEBアプリ開発を行うための環境構築をする手順をまとめました。AWS Cloud9を使用しています。
※なお今回は、とりあえず動かしてみることを目標としています。セキュリティや請求の管理についても重要ですが今回はふれません。知りたい方は、別にお調べ下さい。
※このドキュメントは、どのようなWEBアプリ開発の環境構築にも必要になってくる「前段階(下準備)の作業」を行う手順書として活用することを想定しております。また、環境構築の初心者を想定して書いています。
ただし、専門用語などは詳しく説明しておりませんので、WEBアプリとは何なのかは前もって情報収集しておくことをおすすめします。
Cloud9にアクセス
アマゾン・ウェブ・サービス(AWS)のアカウントが無い方は、前もって作成してください。アカウントの作成が終わったら、まずはログインしてください。おそらく、ログインに成功すると、AWSマネージメント・コントロールのページへ遷移するはずです。
AWSマネージメント・コントロールの「サービスの検索」にCloud9と打ち込んで、Cloud9のページへアクセスしてください。
Clodu9の環境を構築する
Clopud9のページへ行ったら、オレンジ色の「Create environment」ボタンを押しましょう。下記の3ステップで環境構築ができます。- Step 1. Name environment
- Step 2. Configure settings
- Step 3. Review
Step 1. Name environment
AWS Cloud9環境の名前を入力しましょう。ここでは、env_001と入力しました。わかりやすい名前をつけたほうがよいですが、後で変更ができます。
Step 2. Name environment
いろいろな設定項目がありますが、デフォルト設定で特に変更しなくても構いません。「Environment type」がEC2、「Instance type」がt2.micro、「Cost-saving setting」がAfter 30minutesになっていることだけ、確認しておきましょう。
※AWS Cloud9の裏側は、EC2というサービスが動いています。そのため、EC2に関する設定が必要です。なお、EC2のサービス単位をインスタンスと呼びます。
※インスタンスの性能や起動時間は、特別な理由がない限り、もっとも低スペックで低コストなものにしておけばよいでしょう。
Step 3. Review
内容を確認したら、「Create Environment」ボタンを押しましょう。開発環境が構築されて、Cloud9が起動します。
これでひとまず、プログラムのコードを書く環境を構築することできました。
しかし、この初期状態の環境では、外部からWebページへアクセスができません。Cloud9上でファイルを書き換えることはできますが、WEBブラウザを使用してWEBアプリへのアクセスができないという意味です。
なぜ、この様になっているかと言うと、AWSがセキュリティを考慮しており、初期状態ではファイアーウォールと呼ばれる防護壁でふさいでいるからです。
環境構築が完了した瞬間に、世界中の人に見られる状態であったら、なんだか恥ずかしいですよね。
それでは、WEBアプリの動作確認をするために、Webブラウザで外部からアクセスができるようにファイアーウォールの設定を変更します。具体的には、http通信やhttps通信ができるように穴を開けます。
※ファイアーウォールは一般的に使われている用語です。AWSでは、このファイアーウォールをセキュリティーポリシーと表現しています。今後は、ファイアーウォールを、セキュリティーポリシーと呼ぶことにします。
セキュリティーポリシーの設定
Cloud9の右下にあるbashウィンドウから、下記のコマンドを入力して「インスタンスID」を取得してください。curl 169.254.169.254/latest/meta-data/instance-id/
AWSマネージメントコントロールの「サービスの検索」にEC2と打ち込んで、EC2のページへアクセスしてください。(AWS Cloud9のページは後で使うので、Webブラウザの別タブで、AWSマネージメントコントロールを開くとよいでしょう)
インスタンスの一覧から、AWS Cloud9で起動中のEC2インスタンスを見つけましょう。さきほどCloud9でコマンドを打って取得した「インスタンスID」を目視で見つけてください。そして、そのインスタンスがどのセキュリティーグループに所属しているか、確認してください。
見つけ出したEC2インスタンスのセキュリティポリシーか分かったら、そのセキュリティポリシーの設定を変更します。左側のメニューから、セキュリティポリシーの一覧にアクセスして、httpとhttpsの通信を許可します。
※コンピュータのTCP/IPネットワークについての知識がない方には、チンプンカンプンな内容かと思いますが、ひとまず下記の図のとおり編集して更新をすればOKです。
WEBブラウザからアクセス
設定が完了したら、(別タブの)Cloud9のbashウィンドウへ戻って、下記のコマンドを入力してください。WEBに公開されているIPアドレスを取得することができるはずです。curl http://169.254.169.254/latest/meta-data/public-ipv4
それでは、httd(Apache)というWEBサーバを起動してみましょう。下記のコマンドを実行して下さい。
sudo service httpd start
http://[さきほど取得したIPアドレス]
アクセスできたら、セキュリティポリシーの設定が上手くいっています。
上手く行ったら、以下のコマンドでWebサーバを停止してから、アクセスしてみてください。
sudo service httpd stop
以上で、WEBアプリ開発に必要な環境構築の下準備は終了です。
あとは、開発に必要なパッケージ・ソフトウェアなどをインストールして、プログラミングが初められるようにすればよいでしょう。
※php,python,ruby,node.js,Goなど、その辺のインストールをする手続きについても今後は書いて行く予定です。
コメント
コメントを投稿