はじめに
前回、EC2の便利な機能を幾つか体験してみました。
一つは、簡単にAMIを作成できたり、スナップショットが撮れることが分かりました。
また、インスタンスタイプの変更を体験することで、インスタンスのスケールアップが簡単にできることが分かりました。
今回は、攻めと守りの観点でパワーアップについてもう少し試してみたいと思います。
- 攻め ▶︎ I/Oを高速化します
- 守り ▶︎ セキュリティを高めます
EC2のボリュームの種類
- SSD(パフォーマンスはストレージ容量に比例します)
- プロビジョンドIOPS(DBなど高いI/Oが必要な場合に向いています)
- マグネティック(磁気ディスク、低パフォーマンスで問題ない時に使用)
高いI/Oのパフォーマンスを出すためには、プロビジョンドIOPS(In Out Per Seconds)にする必要があります。
通常EBSでパフォーマンスをユーザーがコントロールするのは難しいです(ストレージ容量に比例してしまうため)。
しかし、あらかじめ必要なIOPSが分かっているのであれば、IOPSのボリュームを使用したほうが無難です。
IOPSボリューム設定するタイミングは以下です。
- AMI作成時
- インスタンス起動時
- EBSボリューム作成時
試しに、2番目のインスタンス起動時にプロビジョンドIOPSに変更してみましょう。
前回作成したAMIからインスタンスを作成します。左のメニューから「AMI」を選択してください。
「起動」ー次の手順で進めていく中のステップ4で[ボリュームタイプ]を変更可能です。
なので、”プロビジョンドIOPS SSD”を選択しました。
あとはステップを進めて起動すればいいだけです。
このように、容易にI/Oのパフォーマンス向上を実現できるのは、オンプレのイメージでいると驚かされます。
EBS最適化オプション
プロビジョンドIOPSはEBSディスク性能を高めることはできるのですが、EBSはネットワーク接続型のストレージのため、ネットワークがボトルネックになるのです。
通常のEC2インスタンスでは、業務ネットワークの帯域とEBSのディスクI/Oの帯域が競合した状態になっているので、せっかくI/Oを高めてもフルで恩恵に与れなかったりします。
この対策として、「EBS最適化インスタンス」で起動することで、EBSのディスクI/O専用の帯域が確保され、EBSのディスクI/Oが安定化します。
EBSの高いディスクI/Oを生かすために、このパターンが推奨されています。
※大きめのインスタンスでないと利用はできません
セキュリティを高める
AWSサービスの中には、たくさんのセキュリティの仕組みがあります。
一番ベーシックなのはセキュリティグループです。
これは、インバウンド/アウトバウンドを設定したグループを用意し、インスタンス単位で紐づけます。
例えば、MySQLのインストールされたEC2では、TCP3306番ポートのアプリケーションサーバのIPアドレスに対し、インバウンドで許可をするみたいな感じで使用します。
その他の主な仕組みとしては以下のようになっています。
- EBSの暗号化
- IAM(Identity and Access Management)
- VPC(Virtual Private Cloud)
まとめ
今回はEC2を攻守の両面からパワーアップしてみました。
これにより、堅牢でパフォーマンスの高いインフラを作成する基礎知識を身につけることができました!