EC2
AWS_Educate
AWS_Starter_Account

AWS Starter Accountで初回ログインからWebページを公開するまで

More than 1 year has passed since last update.

前提

AWS Starter Accountは取得済み

Login

AWS Starter AccountはThird PartyのQWIKLABSが提供しています。そこで、最初はQWIKLABSのページからアカウント利用の手続きをします。

AWS Starter Accountの利用を開始する

  • Loginページにいきemailアドレスとパスワードを入力する
  • ログイン後、上のヘッダーメニューから”AWS Account”へ
  • ↓のようなページに飛ぶので”Go to your…”ボタンをクリック
なぜか同じページに飛ばされる時もあるがいずれ次のページ
(quiklabs)に飛べる

image

  • 飛ばされるページ(quiklabs)は下のような感じ

image

  • END LAB は押さないこと!押すと残り時間・クレジットにかかわらずEducate Starter Accountの使用が終了してしまう

  • 初回は、画像ではEND LABになっているボタンがSTART LABと表記された緑色のボタンになっているのでそこをクリックして、初回設定が終わるまで待つ(いつまでもボタンが変化しない場合は、一度Loginページからログアウトして、再ログインしてみる)

AWS Consoleへのログイン

  • 終わったら、左のOPEN CONSOLEをクリックすることでAWSコンソールへ行くことができる
例によってここも一回だとうまく飛べないことがあるがだいたい2回目で飛べる

image

EC2インスタンス(汎用コンピューティングリソース)の作成

EC2ダッシュボード

  • AWS ConsoleからEC2をクリック

image

インスタンス作成開始

  • 右上のリージョンの表示がオレゴンになっていることを確認する
  • インスタンスの作成をクリック

image

Amazon Machine Image (AMI) の選択

  • Amazon Linux AMIを選択

image

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

  • t2.microを選択

image

インスタンス詳細の設定

  • デフォルトのまま次に進む

image

ストレージの追加

  • ストレージサイズを20Gぐらいに変更して他はデフォルトのまま次に進む

image

タグの設定

  • Exp1-WebAPPなど自分でわかりやすい名前をつける

image

セキュリティグループの設定

  • 新しいセキュリティグループを作成するにチェック
  • ルールの追加から [ssh, tcp, 22, 0.0.0.0/0], [http, tcp, 80, 0.0.0.0/0]の2つのルールを定義
  • 「送信元:0.0.0.0/0」はどこからでもアクセス可能ということなので運用上は注意

image

設定の確認

  • 確認して作成をクリック

image

SSHキーペアの作成

  • モーダルが出てくるので「新しいキーペアの作成」、exp1-webappなどインスタンスに対応したファイル名を入力
  • キーペアをダウンロード(サーバにSSHログインできなくなるのでなくさないようにする)
  • インタンスの作成をクリック

image

起動確認

  • EC2コンソールでインスタンスの状態がrunningになれば使用可能に
  • 詳細説明にあるパブリックDNS or パブリックIPを対象にssh接続できる(パブリックDNS名をメモしておく)
  • インスタンスは右クリック or “アクション”->”インスタンスの状態”から
起動、停止できる
  • 
削除すると設定がまるごと消えるので注意
  • 起動しているだけで利用料金がかかるので、必要のないときは停止しておくこと

  • t2.microだと1ヶ月起動させっぱなしにすると$30ぐらいの利用料になる

  • $75を超えると自動的に利用できなくなる


image

利用料の通知について

  • 利用料キャップの50%、70%、90%に達すると通知されるようです。見逃さないようにしましょう。

Will I get billed if my charges exceed the amount of available credit in the AWS Educate Starter Account?

No, you will not be billed for use of AWS services because your usage is capped at your allocated AWS credit amount. The AWS Educate Starter Account alert system (through qwikLABS) will send out notifications when 50%, 75% and 90% of the AWS credit allocated in the AWS Educate Starter Account has been utilized. Once the AWS credit is depleted, the account will be terminated. We strongly recommend making a backup of important data to your local storage

サーバ構築(Windows)

sshキーペア、ec2インスタンスのパブリックDNSが必要

ログイン

  • TeraTermをインストール
  • EC2インスタンスにSSH接続する
    • host: パブリックDNS名
    • protocol/port: ssh/22
  • ユーザ名とSSHキーを指定する
    • user: ec2-user
    • RSA鍵: 保存したSSHキーペア (.pem拡張子のファイルが表示されない場合は表示対象をすべてのファイルにしてみる)

Webサーバのインストールとドキュメントルートの権限設定

(参考: チュートリアル: Amazon Linux への LAMP ウェブサーバーのインストール)

[ec2-user ~]$ sudo yum update -y
[ec2-user ~]$ sudo yum install -y httpd24
[ec2-user ~]$ sudo service httpd start
Starting httpd:                                            [  OK  ]
[ec2-user ~]$ sudo chkconfig httpd on
[ec2-user ~]$ chkconfig --list httpd
httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off
[ec2-user ~]$ ls -l /var/www
total 16
drwxr-xr-x 2 root root 4096 Jul 12 01:00 cgi-bin
drwxr-xr-x 3 root root 4096 Aug  7 00:02 error
drwxr-xr-x 2 root root 4096 Jan  6  2012 html
drwxr-xr-x 3 root root 4096 Aug  7 00:02 icons
[ec2-user ~]$ sudo groupadd www
[ec2-user ~]$ sudo usermod -a -G www ec2-user
[ec2-user ~]$ exit

一度ログアウトして再接続

[ec2-user ~]$ groups
ec2-user wheel www
[ec2-user ~]$ sudo chown -R root:www /var/www
[ec2-user ~]$ sudo chmod 2775 /var/www
[ec2-user ~]$ find /var/www -type d -exec sudo chmod 2775 {} \;
[ec2-user ~]$ find /var/www -type f -exec sudo chmod 0664 {} \;

ブラウザからhttp://パブリックDNS名にアクセスしてページが表示されればOK

デプロイ

  • TeraTermのメニュー[ファイル]->[SSH SCP]をつかう
  • ウェブサーバのドキュメントルート/var/www/html以下にファイルをアップロードする
  • http://DNS名/example.htmlなどでアクセスし確認する