ドットインストールのAmazon Web Service入門を見て分かったこと(箇条書き)

ドットインスト－ルのAmazon Web Service入門

#01AmazonWebServiceとはなにか?
・Amazonが提供しているクラウドサービス。
・UnixコマンドとAWSアカウント取得(クレジットカードと電話での認証が必要)
・EC2とはElastic Compute Cloudの略で仮想サーバーのことである。
・RDSはRelational Database Serviceのことである。
・S3はSimple Storage Serviceのことである。
#02仮想サーバーを立ち上げてみよう
・EC2(仮想サーバー)を立ち上げる。
日本向けのソフトならばRegionをAsia Paciffic(Tokyo)に設定しておく。
EC2を立ち上げる時は「launch instance」をクリック。
Classic wizardが一番スタンダードなもの。
OSはAWSで使える便利なツールが事前に入っているAmazon Linux AMIが一番便利。
スペックはいつでも帰られる。
Availability zoneがregionの中にある物理的に分かれたデータセンターでどこでもいい。
他のスペックはデフォルトでOK。
Termination protectionではサーバーを落とす時に電源を落とすのか削除するのか選べる。
誤削除しないようにPrevention against accidential terminationにチェックを入れる。
タグやアクセス用の秘密鍵が作れる。
#03仮想サーバーを立ち上げてみよう(2)
・Security Group(ファイヤーウォール)の設定ではデフォルトでSSHのポートが空いている。
WEB用のHTTPもかけていく。
Source(0.0.0.0/0)はどこからでもアクセス可能という意味
・設定が終わるとinstanceをクリックして立ち上げた仮想サーバーの状態を確認。
#04仮想サーバーの詳細を確認しよう。
・URLは実際にそのEC2にアクセスするためのURL。
・サーバーのアクション「Instance actions」の「reboot(再起動)」や「stop(停止)」が重要。
「stop」はEC2の電源を落とす、「terminate」はEC2のInstance自体を削除する。
・EC2を起動するとインスタンスについているディスクであるElastic Block Store(EBS)にボリュームができていることを確認する。

#05仮想サーバーに接続してみよう
・connect with a standalone SSH clientを見る。接続するコマンドを確認、コピーする。
・～で秘密鍵ファイルをカレントディレクトリに移動させる。
Mvコマンド。
秘密鍵のPermissionは600でOK。 
コピーしたコマンドを実行。
接続完了。
・システムアップデートしろと表示されるのでコマンドをコピーして実行。「run “sudo yum update” to apply all updates」など。
#06仮想サーバーを設定しよう
・システムアップデートが終わったらいろいろなソフトをインストールする。「sudo yum –y install httpd php mysql」
・終わったらWEBサーバーを立ち上げる。「sudo service httpd start」
・再起動したときにhttpdが立ち上がっていてほしいので、「sudo chkconfig httpd on」
・WEBサーバーが動いているのかWEBページを作って確認「sudo vim /var/www/html/index.html」実行```<html>Hello</html>```実行
AWSに戻ってURLをコピー、ブラウザの別タブに打ち込み確認する。
#07イメージを作成してみよう
・イメージとは作成したInstanceの設定内容をテンプレ化したもの。
・次に同じ設定のWEBサーバーを作りたい時にそのイメージから作ることができる。
・「create image」で作成できる。サーバーのシャットダウンが行われ、volumeからsnapshotとimageが作られる。
#08IPアドレスを設定してみよう
・イメージを作るときにサーバーをシャットダウンしたが、シャットダウンするとURLが変わってしまう。
・IPアドレスを割り当てる必要がある。「Elactic IPs」>「Allocate New Address」>
「associate」
ブラウザにIPアドレスを入力すればページが見れる。
・外すのは「disassociate」、EC2についてないIPアドレスは課金されるので「release」する。
#09バックアップとスペック変更
・ディスクのvolumesの「create snapshot」でバックアップが取れる。
・ディスクのsnapshotからバックアップの成功が確認できる。
・Instanceのスペック変更、まずサーバーを停止「stop」stoppingからstoppedになったら「change  instance type」でスペックを変える。
その後「start」でサーバーを再始動させる。
#10データベースを立ち上げてみよう
・データベースはRDS。
・regionがtokyoであることを確認。
・DBのインスタンスを立ち上げる。MySQLでOK。
・DB instance classはインスタンスのスペック、一番小さいので良い。
・Muiti-availability zone deploymentをyesでこのDBのホットスタンバイみたいなものを別のavailablity zoneに作ってくれる。
物理的に離れたデータセンターに作ってくれるので障害に強い。
お金がかかるので練習ではNoでよい。

#11スペック変更とEC2からの接続
・ステータスがavailable担っていればDB Instanceが立ち上がっている。
・実際に接続するときに使うEndpointをコピーしてエディターにぺーストしておく。 
・右クリック>modifyでスペック変更ができる。
・EC2から接続する方法は、セキュリティグループを変える方法が最も良い。
・defaultからquickstart1をrule追加、これによりEC2からendpointに接続できる。
・connect to an instanceで接続
・「mysql –h endopointname」>パスワード入力でデータベースにアクセスできる。
#12サーバーを増設してみよう
・これまでEC2でページを作り、RDSinstanceに接続できるようにした。
・ページが重くなった場合のEC2増設する。
・ページのイメージからもう一つのインスタンスを立ち上げる。
・うまく負荷を割り振るためにLoadBalancerを作る。
#13サーバーを増設してみよう(2)
・ページ1のイメージからページ2のイメージを作る。
・ページ2のイメージからlaunch instance、セキュリティグループはquickstart1に
#14ロードバランサーを設置しよう
・NETWORK&SECURITY>LoadBalancer>create loadbalancer
・manually add instances to load balancerでページ1ページ2のインスタンスをつなげる。
・Load balancerのdescriptionのURLをブラウザで表示できるか確認。
・これは、ページ１とページ2のどちらかが振り分けられている。
・これによって負荷を減少させられる。
#15ストレージサービスを使ってみよう
・ストレージサービスであるS3、S3はストレージに特化しており容量を気にする必要がなくアクセスが速い。画像や動画を入れる。
・Bucketと呼ばれる入れ物を作る。Bucket nameはグローバルで一番になる必要がある。
・この中にフォルダーやファイルを入れる。
・
・アップロード後のファイルをクリックすると詳細情報が見れる。URLリンクにアクセスすると画像につながる。
・ファイル右クリックでmakepubllicにするとpermission errorが出ずに外部からつなげられる。
・WEBサービスでS3を使う場合は通常SDK(software development kit)を使う。
・だが、S3だけでwebサイトをホストできるのでその方法を紹介する。
#16S3でウェブサイトを運用する。
・S3だけで静的(画像とHTMLだけ)WEBサイトをホストできる。
・bucketを作る、独自ドメインをあてる。
・bucketの設定permissions とWEB site
・pernissions>add bucket policy> sample bucket policyの二番目を貼り付けるとアップロードした画像が自動的にmake publicになる。
・website>このwebsiteをbucketとして使えるようにenabledにチェックをいれてセーブする。
#17料金を確認してみよう
・アカウント>account activity>