LoginSignup
3
3

More than 5 years have passed since last update.

AWS EC2やEBS周りの勉強メモ

Last updated at Posted at 2017-07-23

EC2

AMIを検索

CLIで確認。
表示される結果が多いのでマネジメントコンソールで探したほうがいいか。

aws --output table --profile [profile] ec2 describe-images \
    --filters "Name=architecture,Values=x86_64" \
              "Name=root-device-type,Values=ebs" \
              "Name=virtualization-type,Values=hvm" 

ec2を作成・起動する

成功すれば、dry-runオプションを消して実行。

aws --region us-west-2 --profile [profile] ec2 run-instances \
    --image-id [AMI Id] \
    --key-name [key name] \
    --instance-type t2.micro \
    --user-data file://PATH/my_script.txt \
    --subnet-id [Subnet Id] \
    --dry-run

ユーザーデータはインスタンス作成時に実行するシェルスクリプトのファイル。
デフォルトだと作成したEC2インスタンスは停止して起動するたびに物理ホストが変わる。

インスタンスからメタデータへのアクセス

インスタンス内からそのメタデータを参照できる。
ユーザーデータなどの初期化スクリプトで参照するのに便利。

取得先は下記。
http://169.254.169.254/latest/meta-data

例えば、instance-idは下記で取れる。
http://169.254.169.254/latest/meta-data/instance-id

参考: http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2-instance-metadata.html

起動時のStatusチェック

下記の2つのチェックが行われる。

  • System Status Checks: インフラ側
  • Instance Status Checks: OS側

T2系のCPUクレジット

ベースライン性能以上のCPU利用率時にバーストする。
ベースライン性能は

  • t2.nano 5%
  • t2.micro 10%
  • t2.small 20%
  • t2.medium 40%

と低い値。

参考: http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/t2-instances.html

仮想化方式

  • 準仮想化(Paravirtual, PV)
  • 完全仮想化(Hardware-assisted VM, HVM)

VM Import/Export

VMWareやVirtualBoxのイメージからインポートできる。
http://dev.classmethod.jp/cloud/aws/vm-import-image-import/
HVMのみ対応。

AWS Marketplace

AWS上で実行されるソフトウェアやサービスを見つけて購入し、すぐに使用開始できるオンラインソフトウェアストア。

ボリューム

  • インスタンスストア
    EBSと異なり無料。
    揮発性で停止すると、書き込んでいた内容は消える。
    利用するには対応するインスタンスタイプを使用する必要がある。
    下記表のInstance Storageで"EBS only"になっていないインスタンスタイプで利用可。 instance store.png タイプによって、利用できるインスタンスストアのサイズ等は決まっている。
    http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/InstanceStorage.html
    スワップ領域としても活用可能。
    CloudWatchで確認するときはEC2のDisk Metricを確認する。
  • EBS
    CloudWatchで確認するときはEBSのDisk Metricを確認する。

intance-store-backedインスタンスとEBS-backedインスタンス

intance-store-backedインスタンスはルートボリュームにインスタンスストアを指定したもの、
EBS-backedインスタンスはルートボリュームにEBSを指定したもの。
intance-store-backedインスタンスはs3-backedインスタンスとも呼ばれる。
intance-store-backedインスタンスは再起動と終了しかできない。

ルートボリュームはAMIの時点で決まっているので、intance-store-backedインスタンスを利用するにはそれ専用のAMIを利用する必要がある。

その他

  • EBS最適化インスタンス
    EBSとの接続時はDiskI/OよりNetworkのI/Oがボトルネックになる。(Provisioning EBS)
    これを解決するオプションで有効可していると帯域が確保される。
    m4, c4といった最近のタイプだとデフォルトオン。
  • プレイスメントグループ
    インスタンス間のネットワーク接続を高速化する。
    同一AZで使用できる。
  • Dedicatedインスタンス, EC2 Dedicated Host
    物理ホストを他者と共存させない仕組み。
  • Private IP
    VPCであれば、Stop/StartしてもIPは変わらない。
  • EC2が利用するIPアドレスレンジ
    http://docs.aws.amazon.com/ja_jp/general/latest/gr/aws-ip-ranges.html
    EC2の価格変更時にSNSで変更通知を受け取ることができる。
    AWS_SNS.png 参考: http://docs.aws.amazon.com/ja_jp/awsaccountbilling/latest/aboutv2/price-notification.html

EBS

EBSはAZサービス。そのためあるAZ用に作成したEBSは別のAZからは利用できない。
別のAZから利用するためには一度Snapshotにしてから、別のAZ用に復元する。(別のリージョンで使用するときも同様)

ebs_snapshot_copy.png

EBSスナップショット

EBSのバックアップをとること。
結果はS3に保存する。(ただし、保存先を見ることはできない。EC2のダッシュボードから確認できる)

取得の際、I/Oを停止する必要があり、対象のEBSボリュームをアンマウントしてから取得開始することが推奨されている。
ただし、開始後はそれ以降の書き込みはキャプチャ対象外となるため、完了を待たずに再マウントして使用できる。
作成を指示し、レスポンスが返ってきたらその時点で開始されている。この時点でI/Oを再開して問題なし。
1世代目は実データをすべてバックアップ。2世代目以降は差分バックアップ。
ちなみに、復元の際はもとのボリュームのサイズを大きくすることも可能。

データボリュームの暗号化

暗号化を指定するとAES-256によって暗号化される。(Snapshotも同様)
暗号/復号にはハードウェア機能が用いられるため、パフォーマンスへの影響は極めて小さいとのこと。

その他

EC2はタイプごとにサポートできるIOPSが決まっている。EBSもIOPSが決まっている。ボトルネックの解決はそこに注意。

http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/EBSOptimized.html
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/EBSVolumeTypes.html

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3