どんなサービスなのか、どんな時に使うべきなのかを教えてください。
こういった疑問に答えます。
本記事を読むことでこれからEC2の運用者が知っておくとよいことがわかります。
- EC2の利用イメージをつかめる
- EC2作成時のパラメータを理解できる(パラメータ全見せ 2021/1時点)
- どのようなときにEC2を使うべきなのかがわかる
筆者はAWS経験5年程度です。AWS資格は5冠達成しました。
現在は大規模ECサイトのAWS運用を任されるようになっています。
それでは見ていきましょう。
【AWS初心者向け】 EC2 運用担当者が知っておくべきこと
EC2 とは
- 数分で起動する仮想サーバ
- スペック変更も数分で可能
ざっくり過ぎな説明ですが、こんな感じです。詳細はblackblet見ると良いです。筆者がAWSで初めて使うサービスの概要を知りたいときは大体Blackbeltから見るようにしています。
20190305 AWS Black Belt Online Seminar Amazon EC2
EC2 インスタンス作成時のパラメータ
ステップ 1Amazon マシンイメージ (AMI)
- AMIとは
- 載せるアプリのシステム要件を満たすOSから選択する。
- 各OSの特徴を軽く理解
- 各OSのEOLは把握しておくと良い
- ルートデバイスタイプは基本はEBSを選択する
- 仮想化タイプは基本はhvmを選択
- ENA 有効
- 参考:AWS Marketplace
インスタンスの作成に必要なソフトウェア構成 (OS、アプリケーションサーバー、アプリケーション) を含むテンプレート
※一つのシステム内ではOSはバージョン含め統一しておいたほうが管理がしやすいです。
【ざっくりまとめ】Linuxディストリビューションを比較してみる
※RHEL:有償でサポート充実、CentOS:OSS(無償)です。RHELはクリティカルな業務で利用する。
RHEL・CentOS・Amazon Linux のサポート期間
instance-store:データ保存不可(再起動時に初期化)
EBS:データ保存可能
既存サーバがparavirtualの場合は他のサーバに合わせるが、新規構築ならhvm一択。
paravirtual:性能低(昔は性能高だった)
hvm:性能高
Linux AMI 仮想化タイプ
2018年に追加されたネットワーク高速化機能。古いインスタンスタイプでは有効化されていない。無効化状態のインスタンスを有効化するには複数回の停止が必要となる。
EC2 インスタンス向けの次世代ネットワークインターフェイス、Elastic Network Adapter (ENA) を導入
AWS Marketplaceでは各ベンダーなどが自社ソフト導入済のAMIを有料で販売しています。
AWS Marketplace概要
私は利用経験ないのですが、有料ソフトウェアを試してみたいというときに有用なようです。機会があれば使ってみたいです。
Tableau ServerをAWS Marketplaceから構築してみる
ステップ 2 インスタンスタイプの選択
- インスタンスタイプはシステムの要件より決定
- インスタンスタイプの世代は新規システム構築であれば最新世代で良い
- EC2 インスタンスリリース日の確認
- インスタンスタイプの世代について
- サーバ追加の場合は、他の世代と合わせる方がよい。
インスタンスタイプ一覧で各インスタンスタイプの特徴を確認。
「Amazon EC2 インスタンスタイプ」
※T2、T3、T4は本番では使わないほうが無難(CPUクレジットの管理が必要になってしまう)
新しすぎる(リリース後1年以内くらい??)とAWS全体の許容数を超えてリソース不足エラー(InsufficientInstanceCapacity)となり起動できないことも。。
AWS初心者 入門編 EC2のインスタンスタイプが多すぎて、どれを選べばいいか分からない問題に立ち向かう
第3、4世代のインスタンスタイプのAMIを第5世代で起動する場合、ひと手間加えないと起動しないなどがある
ステップ 3: インスタンスの詳細の設定
- 購入のオプション スポットインスタンスコスト最適化
- 配置グループ
- キャパシティの予約
- ドメイン結合ディレクトリ
- 停止動作に休止動作を追加する
- CloudWatch 詳細モニタリングを有効化
- Dedicated Host(専用ホスト)
- ユーザーデータ
スポットインスタンスは安いが場合によっては削除の可能性があるインスタンス。筆者は利用経験ないが本番では利用不可では?と思う。
ネットワークパフォーマンスを向上したりハードウェア障害を軽減できる
EC2のプレイスメントグループを活用するとネットワークパフォーマンスを向上したりハードウェア障害を軽減できます
リソース不足エラー(InsufficientInstanceCapacity)を回避するための予約機能
予約された容量は、インスタンスがその容量で実行中かどうかにかかわらず、選択されたインスタンスタイプのオンデマンド料金で課金される。時間指定可能
AWS Directory Serviceを利用している場合に選択
筆者は利用経験なし(踏み台サーバのみでユーザ管理し、他サーバは共通ユーザのみとしている)
休止とはWindowsのスリープ
基本モニタリング
データは自動的に 5 分間無料で取得できます。
詳細モニタリング
1 分間のデータを取得できます。追加料金がかかります。
ソフトウェアライセンスを、既存のソケット単位、コア単位、または VM 単位で使用
Dedicated Host は「ホスト単位」での請求となりそのホスト上で稼働するインスタンスには請求が発生しない
初回起動時に実行されるシェルスクリプト(#!/bin/bashから始める)
オートスケールするサーバに設定しておくと便利
NW断などの原因で中途半端に実行されることもあり、loggerでmessagesなどにログ出力させた方が良い
ストレージ
- ボリュームタイプ
- 暗号化
基本は汎用SSDでよい。HDDはシーケンシャルアクセス(データウェアハウスなどの特定用途)に強い
参考:20190320 AWS Black Belt Online Seminar Amazon EBS
銀行などセキュリティ要件が厳しい場合は暗号化必須の要件がある。その場合は暗号化する。多少性能影響あるため、非暗号化ボリュームから変更の場合は要注意
EC2 利用を検討
今回はEC2の解説ですが、運用性やコストメリットを考慮し、そもそもEC2を利用するべきかどうか検討するところから始めるのが良いかなと思っています。
AWSでコンピュートリソースを構築する場合、下記のような選択肢があります。
20190402 AWS Black Belt Online Seminar Let’s Dive Deep into AWS Lambda Part1 & Part2
上記リンクにコンピューティングの進化(P21~24)の図があります。EC2に比べ、コンテナやサーバレス構成の優位性が理解できます。
コメント