AWS　入門してみた

AWSを使ってみたいので、勉強してみた。

# 用語
- EC2(Elastic Conmuting Cloud):仮想サーバ。初期費用不要。時間課金で増設可能。
- RDS(Relational Database Service):DB
- S3(Simple Storage Seivice):ストレージ。容量無制限。従量課金制。
- インスタンス：AWS上の仮想サーバのこと
- インスタンスタイプ：加増マシンのスペック。いろいろ種類がある。
- インスタンスファミリー：EC2の性能によって分類され、ファミリーと呼ばれる。世代が新しい物の方が性能良し。


# キーペアを作成
1. EC2を作る画面の左側に「キーペア」というのがあるので、選択。
2. 「キーペアの作成」を選択して適当な名前をつけて作成する。
3. ターミナルを起動
4. DLした鍵に読み取りの権限を与える。`$ chmod 600 作った鍵の名前~~.pem`

# セキュリティグループの作成
1. キーペアと同様に左側の帯に「セキュリティグループ」があるので選択。
2. 「セキュリティグループの作成」を選択。
3. 「セキュリティグループ名」と「説明」を入力。
4. ルールを追加する。sshとhttpを許可にしたいので、「ルールの追加」→「タイプ」のプルダウンで「SSH」を選択→「ソース」ではアクセス元のIPを入力するかプルダウンから選択。
同様にタイプに「HTTP」も選択して、「作成」をする。
ちなみに、「ソース」プルダウンにあるマイIPを選択すると自分が今使っているIPアドレスがソースとして認識される。

# Elastic IPを設定
1. キーペアと同様に左側の帯に「Elastic IP」があるので選択。
2. 「新しいアドレスの割り当て」を選択するとIPアドレスが割り当てられる。

# インスタンスを立てる
1. 左側の帯にある「インスタンス」を選択して「インスタンスを作成」。
2. **ステップ1:Amazonマシンイメージ(AMI)** では「Amazon Linux」を選択。
<img width="1093" alt="スクリーンショット 2017-12-07 14.34.42.png" src="https://qiita-image-store.s3.amazonaws.com/0/169137/960cfb16-afe7-0476-ba53-ca7557053638.png">
3. **ステップ2:インスタンスタイプの選択** では、インスタンスのスペックを決める。無料のやつを適当に選択。
4. **ステップ3:インスタンスの詳細の設定** では、インスタンスの台数とかを設定する。デフォルト値のまま次へ。
5. **ステップ4:ストレージの追加** では、ストレージの容量、タイプを選択。今回はコスト重視なのでマグネティック。  
[参考：ボリュームタイプの説明ページ](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
6. **ステップ5:タグの追加** では、インスタンスのタグをつける。[参考:タグの使い方](https://aws.amazon.com/jp/premiumsupport/knowledge-center/ec2-resource-tags/)
こんなイメージだと理解。<img width="735" alt="スクリーンショット 2017-12-08 11.34.15.png" src="https://qiita-image-store.s3.amazonaws.com/0/169137/c7fd6155-1ef4-bc3a-ca2e-289123a089b7.png">
7. **ステップ6:セキュリティグループの設定** では、セキュリティ設定をする。上記のセキュリティグループの作成を参照。
8. **ステップ7:確認** で内容を確認し、作成。
9. できあがり。「インスタンスの表示」で動いていることを確認できる。

# 作ったインスタンスにIPを紐づける
1. 左側の帯から「Elastic IP」を選択する。
2. 関連付け帯IPのチェックボックスを選択した状態で、上部にある「アクション」のプルダウンから「アドレスの関連付け」を選択。<img width="748" alt="スクリーンショット 2017-12-08 12.00.55.png" src="https://qiita-image-store.s3.amazonaws.com/0/169137/9006a58c-8356-d11f-5ef3-9ad6e8918932.png">

3. 下記のように設定。
**インスタンス:**自分が紐づけたいインスタンスを選択。
**プライベートIP:**紐づけたいインスタンスのプライベートIPがプルダウンに出てくる。
4. 完了したので、sshで確認してみる。
```$ ssh -i "ダウンロードしてあるキーペア.pem" ec2-user@(Elastic IPアドレス)```

# S3を導入してみる
[参考：AWSコンソールユーザーガイド バケットの作成](http://docs.aws.amazon.com/ja_jp/AmazonS3/latest/user-guide/create-bucket.html)
1. サービス一覧から「S3」を探して選択→「バケットを作成する」
2. バケット名をつけ、リージョンを選択。
ちなみにバケット名をつけるには下記のガイドラインがある。
<img width="748" alt="スクリーンショット 2017-12-09 14.40.44.png" src="https://qiita-image-store.s3.amazonaws.com/0/169137/bfcf6fad-f648-dc93-d8c0-baf57ad2d5e9.png">
3. プロパティの設定では特に設定の必要がなさそうだったのそのまま「次へ」
4. アクセス許可の設定で作成するバケットへのアクセス権限を設定する。
読み取り権限は世界中の誰に対しても付与可能。バケットをウェブサイトとして公開するときにはパブリックにするが、推奨値はデフォルトのまま。とくに変更なしで「次へ」
5. 確認して「作成」
  
[参考:バケットの使用](http://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/UsingBucket.html)
バケットに適当に画像をアップロードし、ブラウザでアクセスして確認してみる。  
<img width="874" alt="スクリーンショット 2017-12-09 13.35.06.png" src="https://qiita-image-store.s3.amazonaws.com/0/169137/de485a96-0579-338d-bd3d-a74ff494d7c5.png">
ちなみに、リージョンが東京のときは`ap-northeast-1`

# S3の静的ウェブサイトホスティングの設定
静的ページを作るときはS3でも作れるそうな。
1. S3のページで、設定を変更したいS3を選択。
2. 「プロパティ」→「Static Website hosting」を選択。
3. 有効にし、「保存」

以下今随時更新

# RDSを使ってみる
DBのマネージドサービス