AmazonEC2の概要
EC2
仮想サーバを必要なときに必要なだけ調達でき、使った分だけ料金を支払えばよいサービス
スケールアップ、スケールアウトを柔軟に変えていける
インスタンスタイプ
サーバスペックを定義するもの。
サーバの利用料金はインスタンスタイプごとの時間単価x利用時間となる。
T2インスタンス
T2インスタンスはバーストする機能を持っている。
AMI(Amazon Machine Image)
仮想サーバの起動に必要な情報が入っている
稼働当初からあるインスタンスストアと、後発のEBSがある。
現在はEBSが主流
AMIの仮想化形式
- 準仮想化(PV)
- 開始当初からある
- ハードウェア仮想マシン(HVM)
- 2013年~。現在の主流
今はHVMをAWSも使うことを推奨している
EC2のストレージ
EBS(Elastic Block Store)
ボリュームという単位で表現されるストレージ。EBSボリュームと呼ばれる。
|タイプ|ハードウェア|容量|IOPSのパフォーマンス|用途| |General Purpose(GP2)|SSD|1GB~16TB|1GBごとに3IOPS得られる|ルートボリュームや中小規模のDB| |プロビジョンドIOPS|10GB~16TB|IOPSは作成時に指定。IOPSと容量には30:1の制約がある|高負荷なDB| |Magnetic|磁気ディスク|1GB~1TB|平均100IOPS、最大数百IOPSまでバースト|読書速度やアクセス頻度が低い場合|
インスタンスストア
他のインスタンスへ付け替え不可能な、インスタンスを起動している間のみ利用できるストア
用途としてはtmpディレクトリの感覚
ただ、直接インスタンスにつながっているためEBSよりも高いパフォーマンスが期待できる
|ストレージタイプ|永続性|耐久性|パフォーマンス|用途|費用| |EBS|高い|99.5~99.999%|ランダムアクセスに強い|OSやDBなどの永続性、耐久性が必要なストレージ|有料| |インスタンスストア|低い|EBSより低い|シーケンシャルアクセスに強い|失われても問題がないストレージ|無料|
EC2の起動
EC2の起動に必要なのは以下2点
- キーペアの作成
- セキュリティグループの作成
キーペアの作成
インスタンスへの接続に使用。
Linuxインスタンスの場合はSSH接続の公開鍵認証、Windowsインスタンスの場合はリモートデスクトップ接続での管理者パスワード取得用に使用する。
(Windowsインスタンスなんてあるのか)
- サービス: EC2
- メニュー: キーペア
- 概要:
キーペアの作成
ボタンから作成
秘密鍵のダウンロードが行われ、公開鍵はAWSの方で保管してもらえる。
セキュリティグループの作成
セキュリティグループは、EC2の外側にあるファイアウォールのようなもの。
通信の入出力制御を行うために用意されている。
基本的にサーバへ入ってくる通信(インバウンド)は全て閉じられていて、必要なものだけ開けていく。
逆にサーバから出て行く通信(アウトバウンド)のポートは全て開いている。
- サービス: EC2
- メニュー: セキュリティグループ
- 概要:
セキュリティグループの作成
ボタンから作成
セキュリティグループ名や説明を記入した後、インバウンド/アウトバウンドの設定を行える。
SSHやHTTP、Railsなどのアプリケーションサーバ用のポートを開けたり許可IPを設定したりが簡単にできる。
簡単!
リソースの整理用にタグづけとかも出来るっぽい。まぁこの辺りは管理するサーバーがたくさんあったらかなぁ〜
仮想サーバの起動
EC2を起動する準備が整ったらしいので、実際に起動する。
- AMIの選択
- インスタンスタイプの選択
- インスタンスの詳細設定
- ストレージの追加
- インスタンスのタグ付け
- セキュリティグループの設定
- インスタンス作成の確認
- 既存キーペアの選択/新規作成
- Elastic IP Address(EIP)の取得
- インスタンスへのEIP付与
以上の設定をやって、EC2の起動をしていく。
- サービス: EC2
- メニュー: インスタンス
- 概要:
インスタンスの作成
ボタンから作成
AMIの選択
ここでRed Hat系だったりWindowsだったりといった色々を決めれる。OS選択的なイメージかな?
Amazon Linux AMIを今回は使う。
インスタンスタイプの選択
ここで性能が決まる。今回はt2.microを選択。
次の手順: インスタンスの詳細の設定
ボタンを押して詳細設定画面へ。
インスタンスの詳細の設定
要件に合わせてインスタンスの設定のカスタマイズが可能。
- 起動するインスタンス数の指定
- 一度に複数のインスタンスを選択して作成可能可能
- スポットインスタンスのリクエスト設定
- 柔軟で中断されても問題ないアプリケーションにはスポットインスタンスを使用するとコストカットが狙える
- ネットワークの設定
- インスタンスをAmazon Virtual Private Cloud(VPC)で作成
- サブネットの設定
- 異なるEC2リソースを互いに、またはインターネットから隔離するために使用できるVPCのIPアドレス範囲の設定。
- サブネットはそれぞれ1つのアベイラビリティゾーンに存在。
- 自動割り当てパブリックIP
- AmazonのパブリックIPアドレスプールからIPアドレスをリクエストしてインスタンスにインターネットからアクセスできるようにする。
- そのインスタンスが使用できなくなってから停止または削除されるまでそのインスタンスに関連付けられる。
- 自由に関連付け/解除が行いたい場合はElastic IP Address(EIP)を使用する。
- IAMロールの設定
- あらかじめ作成したロールを指定することでインスタンスに安全に認証情報を配備して権限付与ができる。
- アプリケーションでAWSアクセスキーを保存する必要がなくなる。
- シャットダウン動作設定
- OSレベルのシャットダウンが実行されたときのインスタンスの動作を指定できる。
- 削除保護の有効化設定
- インスタンスを削除できないように保護する設定が可能。
- モニタリング設定
- CloudWatchによる監視をより詳細化(1分間隔)するかを指定
- テナンシー設定
- 共有/専有ハードウェアの利用を指定できる
- 高度な詳細
- インスタンス起動時に実行されるスクリプトを指定可能。
次の手順: ストレージの追加
ボタンを押して次へ。
ストレージの追加
ストレージの設定をしていく。まぁ大体わかるので省略。
合わせて削除
を有効にするとインスタンスを削除した場合に一緒にストレージも削除するかの設定が可能。
次の手順: インスタンスのタグ付け
ボタンを押して次へ。
インスタンスのタグ付け
管理目的。詳しくはリンク参照。
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/Using_Tags.html?icmpid=docs_ec2_console
次の手順: セキュリティグループの設定
ボタンを押して次へ。
セキュリティグループの設定
既存のセキュリティグループを選択する
から、先ほど作ったセキュリティグループを指定。
確認と作成
ボタンを押して次へ。
今までの設定情報が表示されるので、問題がなければ作成
ボタンを押す。
そうするとキーペアの選択画面へ行くので、先ほど作成したキーペアを選択して、インスタンスの作成
ボタンを押して完了。
EIPの取得と付与
インスタンスの停止と起動のたびに変わってしまうPublic IPだと色々と不便なので、EIPの設定を行う。
EIPの取得
- サービス: EC2
- メニュー: Elastic IP
- 概要:
新しいアドレスの割り当て
ボタンからEIPを取得し、関連付ける
EIPのインスタンスへの付与
アクション
ボタンから、アドレスの関連付けをクリックし、インスタンス名を入力して補完された情報からインスタンスを選択。
関連付ける
ボタンを押して関連付け完了。
簡単だな...
EIPの注意点として、インスタンスに関連付けを行っていない状態でEIPを保持しているとわずかだが課金されていくらしい。
なので、利用がおわったらEIPは理由がないならささっと開放したほうが良さそう。