Amazon Web Services入門 (全17回)
AWS 入門
http://dotinstall.com/lessons/basic_aws で入門します。
導入
- AWS はクラウドサービス
- http://aws.amazon.com/jp/
- amazon.com のアカウントでログイン
- AWS アカウント登録にクレジットカード、電話認証が必要(国コード +81 で)
- 電話番号認証では PIN コードを入力するか、1ケタずつ音声入力するかする(せっかくだから音声入力すればよかった)
- プランは Basic (free) を選んだ
- 用語
- EC2 (仮想サーバ)
- RDS (DB に特化したサービス)
- S3 (ストレージ)
仮想サーバを立ち上げてみよう
- コンソールログイン
- https://console.aws.amazon.com/console/home
- EC2
- https://console.aws.amazon.com/ec2/v2/home
- リージョンをえらぶ Oregon → Asia Pacific (Tokyo)
- launch instance (インスタンスをたちあげる) ボタン
- Classic Wizard
- EC2 コンソール
仮想サーバで何かしてみよう
- SSH 接続
- サーバで何かする
sudo yum -y install httpd php mysql
sudo service httpd start
してsudo chkconfig httpd on
して、/var/www/html/index.html に適当に何か置く- EC2 コンソールでサーバリストで選択したとき下に出てきてた URL をブラウザでみる → 適当に何か置いたのが見える
イメージを作る、IP アドレスをふる
- 今のサーバの状態からイメージを作る
- EC2 コンソールのサーバリストからサーバ選んで右クリック → Create Image (EBS AMI)
- イメージの名前をつけて、Yes, Create
- シャットダウン → スナップショット → イメージの作成
- シャットダウンするとホスト名がかわるので、IP アドレスをわりあてる
- Elastic IPs
- Allocate New Address
- IP アドレスのリストで右クリック → Associate → インスタンス選んでそれに関連つける
- Disassociate で関連はずす、Release Address で IP アドレスを開放
- Elastic IPs
バックアップ、スペック変更
- バックアップ
- ELASTIC BLOCK STORE
- Volumes
- 名前つけて Yes, Create
- Snapshots
- 今名前つけたやつでスナップショットつくられてる(ちょっと時間かかる)
- このスナップショットからインスタンス作るときは、ここからイメージつくってそれを立ち上げるなどする
- Volumes
- ELASTIC BLOCK STORE
- スペック変更
- EC2 サーバリストで右クリック、Instance Actions → Stop → stopping → stopped
- 止まったら Change Instance Type などでスペックを変更
- 変更したら、Instance Actions → Start で起動
RDS
- AWS コンソール Services から RDS を選ぶ
- Launch a DB instance
- とりあえず MySQL
Do you plan to use this database for production purposes?
と聞かれるが、とりあえず No にしておく- DB Instance Details
- DB Instance Class: db.t1.micro
- Multi-AZ Deployment: No
- DB のユーザ名とパスワード適当に
- 追加設定
- Database Name: なんかあったら適当に(ここではそのまま例にならい dotinstall で)
- Availability Zone: EC2 で選んだ region とあわせる
- Management Options → とりあえずそのまま
- スペックの変更 → DB Instance リストで右クリックして Modify
- 今みたところ Security Group みたいなメニュー設定ないが、インスタンスの設定では変えられる模様なのでここで変える
- 以前設定した、EC2 コンソールの Security Groups の quick-start みたいなやつで、MySQL の 3306 ポートあける(22 と 80 しか開けてないやつ)
サーバ増設してみよう
- Web サーバ (EC2 インスタンス) の AMI つくって、それをもとにインスタンスを作る
- EC2 コンソールのサイドメニュー Images - AMIs で AMI のリストに遷移、今つくった AMI の Status が available になったら、その AMI を右クリックして Launch
- INSTANCE DETAILS → 適当に
- CREATE KEY PAIR → 前つくったやつつかう
- CONFIGURE FIREWALL → Security Groups は合わせておく (quick-start 某)
- ロードバランサ置く
- EC2 サイドバーメニューから NETWORK & SECURITY の Load Balancers
- Create LoadBalancers
- DEFINE LOAD BALANCER
- 適当に名前つける
- HTTP (80 ポート) をバランシング
- CONFIGURE HEALTH CHECK
- 死活監視設定
- たぶん HTTP で /index.html が 200 で返ってくることをもっていきてるとみなす
- ADD EC2 INSTANCES
- 既存の Security Group を選んで、そこからインスタンス選ぶ (動画のときとちょっとちがう様子)
- DEFINE LOAD BALANCER
- ロードバランサのリストに来て、Instances の Status が Out of Service から In Service に入るまで待つ(ちょっとかかる)
S3
- AWS のコンソールから S3 のコンソール選ぶ
- Create Bucket
- Bucket 名はグローバルにユニークである必要があるので何かドメインとかで
- Create Folder して images とかディレクトリつくって、そこにファイルアップロード
- 右ペインが Transfers になってるから Properties えらんで詳細みられるようにする
- Link 踏んでもパーミッション設定されたないので見られないので、ファイルのリストの上で右クリック → Make Public
- S3 でサイト運用する際は、そのサイトのドメイン名とかつけて bucket つくる
- Add bucket policy
- sample bucket policy (http://docs.aws.amazon.com/AmazonS3/latest/dev/AccessPolicyLanguage_UseCases_s3_a.html) からサンプルの JSON コピーして書いとく
- Static Website Hosting
- Enable website hosting
- index.html のファイルとか、エラー時のファイルを指定できる
- リダイレクトとかもできるようす
- Enable website hosting
- Add bucket policy
- Create Bucket
料金確認
- Account Activity から
- 料金のモニタリングできるらしい
- 今回アカウント作ったばっかりということもあってか、
お客様には AWS 無料使用範囲が適用されます。無料使用範囲の使用開始の詳細に関しては、AWS 無料使用範囲入門ガイドをご覧ください。
とのこと
HTML入門 #22 実体参照とは?
HTML入門 #21 スタイル属性を使う
今日やったこと
- #21 スタイル属性を使う
- http://dotinstall.com/lessons/basic_html/321
やったこと・わかったこと
style 属性。
わからなかったり気になったこと
- とくにない
HTML入門 #20 汎用要素を作る
今日やったこと
- #20 汎用要素を作る
- http://dotinstall.com/lessons/basic_html/320
やったこと・わかったこと
文章のある範囲を指定して、意味をつけたりする。
- div
- 汎用ブロック要素 (前後に改行がはいる)
- span
- 汎用インライン要素 (前後に改行がはいらない)
- id 属性
- 意味をつける (文章の中にその要素がひとつだけあるもの)
- class 属性
- 意味をつける (文章の中にその要素が複数あるもの)
わからなかったり気になったこと
div と span、class の説明がビジュアル的な観点から説明されているが(その善し悪しは判断しかねる)、ちょっと動画みただけだとわかりにくいかもしれない(手をうごかしたほうがいいし、そういうものだと思って次にすすむのがいいと思う)。
HTML入門 #19 送信ボタンを作る
今日やったこと
- #19 送信ボタンを作る
- http://dotinstall.com/lessons/basic_html/319
やったこと・わかったこと
- form
- input
- type="submit" (送信ボタン)
- フォームの値を送信するボタン
- type="submit" (送信ボタン)
- input
- type="button"
- 汎用的なボタン(JavaScript とかで使う)
- type="button"
- input
わからなかったり気になったこと
- とくにない
HTML入門 #18 ラベルをつける
今日やったこと
- #18 ラベルをつける
- http://dotinstall.com/lessons/basic_html/318
やったこと・わかったこと
フォームのつかいがってをよくする。フォームの部品に付属する文字列をクリックして、その部品をクリックした状態になる
- form
- label タグでフォーム部品囲む
- label for 属性に フォーム部品の id を指定 (囲まなくていい)
わからなかったり気になったこと
- とくにない。
HTML入門 #17 隠しデータを送信する
今日やったこと
- #17 隠しデータを送信する
- http://dotinstall.com/lessons/basic_html/317
やったこと・わかったこと
隠しデータ。ユーザに見せる必要はないが、プログラムとして必要な値を送る。
- form
- おやくそくとして、form タグの属性に enctype="multipart/form-data" をつける
- input
- type="hidden"
- name でデータの名前
- value でデータの値
わからなかったり気になったこと
- とくにない。