AWSメモ

#VPC（Virtual Private Cloud）
AWSが提供するネットワークは大別すると2つ
AWSネットワーク（インターネットから接続可能）
VPCネットワーク（VPC内の閉じたネットワーク）
VPCはAWSネットワーク内に論理的に分離したネットワークを作成するサービス。
インターネットゲートウェイを設置することでインターネットとの通信も可能。
 
#ELB（Elastic Load Balancing)
負荷分散装置。
EC2インスタンスの前において、複数のEC2インスタンスに通信を振り分ける。
#Auto Scaling
CPUやメモリの利用率等の決められた条件に応じてEC2インスタンスを自動的に増減させる。
ELBとセットで使われることがほとんど。
#AWS Direct Connect
VPCの接続する専用線接続サービス。自社やデータセンターから専用線でAWSに直結可能。
VPNより安定かつ高速。
#Cloud Formation
AWS環境自動構築ツール
ELBやRDS、Elastic Cacheなども丸ごとテンプレート化できる。
#Route53
DNSサービス。
EC2インスタンスは起動時にIPアドレスが割り振られるが、IPアドレスが変更された場合でも同一のホスト名で接続し続けられる。
#Region
AWSの拠点。国や地域を指す。災害時などに早急に復旧するために複数のRegionに利用することがある。（マルチリージョン）
基本的には近いRegionを選択する。（物理的に距離があるのでどうしても遅延が発生する。）
#AZ(Availability Zone)
そのRegionのデータセンター。基本的にRegionごとに2つ以上設置されている。AZ間は高速な回線が引かれているので通信の遅延はほとんどない。
複数のAZを任意で指定してシステムを構築できるので国内DR構成が簡単に実現可能。可用性や耐障害性の面からマルチAZを推奨している。


#EBS（Elastic Block Store)
EC2インスタンスにアタッチして使用するブロックレベルのストレージサービス。（イメージは外付けHDD）
OSやアプリケーション、データの置き場所など様々な用途で利用される。
インスタンス作成時にAMIから情報がコピーされる場所
可用性を備えている。
容量は～16GBの1GB単位で指定可能。
アべイラビティゾーン（リージョンのロケーションのこと：AZ）ごとに独立しているので同一AZのインスタンスからのみ利用可能。
EC2に複数のEBSを接続可だが、EBSを複数のインスタンスに接続はできない。
ボリュームタイプにはSSDとHDDがある。
インスタンス作成時にAMIのテンプレート内容がEBSにコピーされる
↓
その後はEBSからインスタンスが起動される
#Instance Strage
EC2の物理筐体  ⇒ EBSはEC2に仮想外付けされるストレージ
インスタンスタイプによりサイズ、個数、HDD/SSDが決まっている
ローカルディスクのため、ネットワークの影響を受けにくい
インスタンスを停止させるとデータが消去される（Rebootでは消去されない）  ⇒ EBSは永久保存
スナップショット機能はない
別のEC2に付け替え不可
 
#S3（Simple Storage Service)
AWSネットワーク内に存在する。FTPサーバのような感覚でファイルの保存領域として使用可能。
耐久性は99.9999999%
S3に保存したデータは自動的に複数のデータセンターに同期される。（このことによって耐久性が保たれている）
そのため、同期を行っている間に同期が終了していないデータセンターが参照先になるとデータ保存前の状態を参照することがある。
項目
使用場面
バケットポリシー⇒バケット単位でアクセス制御が確定しており将来的に変更が少ないとき
ACL⇒オブジェクト単位で公開・非公開を整除する場合
IAM⇒ユーザ単位でリーソース制御をするとき
 
 
EC2からの見たストレージ分類


参考 http://www.slideshare.net/imaifactory/ephemeral-ssd
#EBSのスナップショットとAMIの違い
AMI（Amazon Machine Image）とEBS（Elastic Block Store）のスナップショットの違いをよく分かってなかったので調べた。
スナップショット = 「EBS ボリュームの中のデータ」を特定のタイミングで取得しS3に保存したもの
AMI  = 「EBS ボリュームの中のデータ(スナップショット) とインスタンスを構成する管理情報」を含む起動テンプレート

###AMI	
「EBS ボリュームの中のデータ(スナップショット) とインスタンスを構成する管理情報」を含む起動テンプレート
⇒EC2インスタンスの元となるテンプレート
（EBS = インスタンス作成時にAMIから情報がコピーされる場所）
###スナップショット	
「EBS ボリュームの中のデータ」を特定のタイミングで取得しS3に保存したもの
ある時点のEBSのコピーを保存したもの
初回でフルコピーを行い、次回以降は差分のみコピーする
※AMIは無料だがスナップショットは料金が発生する
 
 

※参考 http://aws.typepad.com/sajp/2014/04/trainingfaqbest10.html
 
スナップショットからリストアするためには以下の2つの方法がある。
EBSスナップショットからAMIを作成し、そのAMIからEC2インスタンスを新規に作成する方法
（Private IP固定で構成している場合、旧インスタンスを完全に削除してからでなければ、同じPrivate IPを持った新規インスタンスを作れないので注意）
EC2は同じインスタンスを利用し、EBSのルートボリュームのみを差し替える方法
※参考 http://dev.classmethod.jp/cloud/aws/restore-ec2-from-ebs-snapshot/
https://docs.aws.amazon.com/ja_jp/storagegateway/latest/userguide/RestoringSnapshotVolumeMain.html

###スナップショットからの復元
共有された暗号化スナップショットへのアクセス権を持っており、そのスナップショットからボリュームを復元する場合は、スナップショットの個人用コピーを作成してから、そのコピーを使用してボリュームを復元する必要がある。
自分で管理している別のキーを使用して、コピー処理中にスナップショットを再暗号化することをお勧めします。元のキーが侵害された場合や、所有者が何らかの理由でキーを無効にした場合に、ボリュームへのアクセスが保護されます。
方法は↓ のリンクを参照
 
###共有にはアカウントIDが必要
共有されたEBS スナップショットを元に自分のEBS ボリュームを作成

クロスアカウントコピーの手順
 
スナップショットに関連づけられたカスタムキーを共有先アカウントと共有する
暗号化された EBS スナップショットを相手先アカウントと共有する
共有先アカウントで、スナップショットのコピーを作成する
新しいボリュームを作成するために作成したコピーを利用する
※詳しくは⇒https://aws.amazon.com/jp/blogs/news/new-cross-account-copying-of-encrypted-ebs-snapshots/

 
スナップショットからインスタンスを作成する場合は以下の3っの工程が必要です。
 
スナップショットよりAMI(Amazon マシンイメージ)の作成
AMIより新規インスタンスを作成
既存のインスタンスについているEstaticIPを新規インスタンスに再割り当てする。