今回はAWSでよく使うサービスであるEC2のパラメータを徹底解説していこうと思います。EC2起動時の流れに沿って説明します。
名前とタグ
当設定は後から変更可能です。タグ付けとはメタデータを付与することを意味します。タグ付けに関するベストプラクティスがAWSから公開されています。
タグは、リソースの管理、識別、整理、検索、フィルタリングするために使う情報です。つまり、EC2に限らず、利用している各AWSサービスで一貫性のある名前付けが求められます。私が設計するときは特に以下を意識しています。
- 個人情報等の機密情報や秘匿性の高い情報はタグに追加しない
- 以下のような情報をカテゴライズするために使用する
- システム的なカテゴライズ
- 役割やロール(WEB、API、DB、SYS、BASTON、等)
- 環境(テスト、本番、ステージング、等)
- バージョン
- 立ち位置(インターネット公開、イントラ公開、等)
- バックアップ周期等
- ビジネス的なカテゴライズ
- 所有者(所有チーム名)
- コスト負担者(負担部署名)
- システム的なカテゴライズ
- 後から設定可能であるが、色々作ってからの変更は大変なので、最初にほとんどのことを決めておく
- プログラムから使われる、という意識を持ち、一貫性を意識する
アプリケーションおよび OS イメージ (Amazon マシンイメージ)
ここではOSを決定します。AmazonLinuxや、Ubuntu、RHEL、WindowsServer等から選択します。OSの種類によって、利用料が異なります。(RHELやWindowsServerはライセンス料がかかる)
こちらは後から変更できません。(後からRHEL→WindowsServer等出来るはずないですね)
インスタンスタイプ
インスタンスタイプとは、CPUの種類や数やメモリの大きさ、帯域等の組み合わせです。予め、必要なリソース量をある程度試算しておく必要があります。互換性がある場合のみ、後から変更できますので、性能テスト等の結果を踏まえて変更可能です。EC2にインストールするミドルウェアのシステム要件や、業務要件(パフォーマンス要件)を踏まえ決定します。
インスタンスタイプはインスタンスファミリー(t2等)とインスタンスサイズ(micro等)の組み合わせで表現され、インスタンスファミリーは以下の5つに分類されます。
汎用
汎用という名前の通り、汎用的な用途でEC2を構築する場合、こちらを選んでおけば無難です。管理系のEC2は基本的にこの中から選びます。業務系のEC2は、メモリを沢山積みたいとか、EBS帯域を多く使用したい、等の要件があることが多いので。
コンピューティング最適化
高いCPU能力を持つタイプです。オンライン系ではメモリよりCPUを重視する場合、バッチ系ではIOよりCPUを重視する場合、こちらを利用します。汎用以外では、まずコンピューティング最適化が第一選択肢となるかと思います。
メモリ最適化
ご存じの通り、メモリはディスクアクセスより圧倒的に高速ですから、パフォーマンスが厳しく求められる業務アプリケーション等は可能な限りメモリ上でアプリケーションを稼働させたいです。特に多数のプロセスやスレッドを立ち上げるアプリケーションではメモリを多く使うことになるため、大きく確保するためにメモリ最適化インスタンスを選択したりします。
高速コンピューティング
高速コンピューティングは、ハードウェアアクセラレーター (コプロセッサ) を使用して、浮動小数点計算、グラフィックス処理、データパターン照合などの機能を、CPU で実行中のソフトウェアよりも効率的に実行するために使用します。機械学習系のEC2を立てる場合、第一選択肢となります。
ストレージ最適化
高いIOPSを求めるバッチ系業務に適しています。バッチ系業務でも、DBアクセス中心の場合は該当しません。フラットファイルIOのような純バッチを処理するサーバに適しています。(最近純バッチって聞かないな・・・)
キーペア
キーペアとはEC2にログインする際に必要なもので、とても重要なものです。後から変更することが出来ませんので、キーペアを変更したい場合、EC2の再作成が必要になります。
Linux系サーバの場合、初期ユーザであるec2-userでのログインでこのキーペア(秘密鍵)を使って認証します。WindowsServerの場合、Administratorのパスワードはこのキーペア(秘密鍵)を使って複合化します。
ネットワーク設定
EC2をデプロイするVPCとサブネットを選択します。
パブリック IP の自動割り当て
パブリックIPとはグローバルIPのことで、自動割り当てを有効化した場合、インターネットからのアクセス許可を意味します。もちろん、デプロイするサブネットがプライベート(=インターネットゲートウェイなし)の場合、アクセスは出来ません。
ファイアウォール (セキュリティグループ)
セキュリティグループは、「どのIPから(どのIPへ)」「何番ポートの通信を許可する」、というホワイトリストで設定するファイアウォールです。例えばLinux系のOSを選んでSSH接続をする場合、自分のIPから22番ポートの通信が通るようにセキュリティグループを設定しなければいけません。
後から変更可能です。
高度なネットワーク設定
高度なネットワーク設定ではENI(ネットワークインターフェース)を指定することが出来ます。デフォルトでは新しいENIがアタッチされますが、リストア時に同じプライベートIPを維持したい場合等、ここでENIを指定することで特定のENIを付与することが出来ます。HA構成の場合、サービス用のIP(ENI)を付け替えたりする際にも利用します。
ストレージを設定
ストレージのサイズやボリュームタイプを選択します。
ボリュームタイプ
ボリュームタイプは以下の種類があります。バッチ系でIOPSを求める場合は、性能が高いものを選択します。
- 汎用 SSD (gp2 および gp3) ボリュームは、幅広いワークロードに最適な、コスト効率の高いストレージを提供します。
- プロビジョンド IOPS SSD (io1 および io2) ボリュームは、低レイテンシーを提供し、I/O 集約型ワークロードのニーズを満たすように設計されています。EBS 最適化インスタンスに最適です。
- スループット最適化 HDD (st1) ボリュームは、低コストのマグネティックストレージで、大規模なシーケンシャルワークロードに最適です。
- コールド HDD (sc1) ボリュームは、st1 よりも低いスループットを提供する低コストのマグネティックストレージを提供します。sc1 は、必要となるデータへのアクセスの頻度が高くない、大規模なシーケンシャルコールドデータワークロードに適しています。
- Magnetic (標準) ボリュームは、データへのアクセス頻度が低いワークロードに最適です。
終了時に削除
終了時に削除とはEC2削除時に合わせてストレージも削除するかどうかのオプションになります。EC2削除後にストレージは保持しておく場合、Noを選択します。ストレージが残っていれば何とかなることが多いので、基本的に「No」を選択しておき、不要と判断した場合に手動で削除でよいと思います。
後から変更可能です。
暗号化済み
暗号化済みとは、EBSを暗号化するかどうかのオプションです。(デフォルトはNoです)
後から変更することは出来ません。後から変更したい場合は、snapshotから暗号化済EBSへ復元しアタッチするといった操作が必要になります。(別の暗号化EBSに付け替える、というイメージ)
高度な詳細
購入オプション
スポットインスタンスとする場合に選択します。
IAM インスタンスプロフィール
IAMロールをEC2に適用する場合に指定します。
インスタンスの自動復旧
システムステータスチェックが失敗した場合に、インスタンスの自動復旧によってインスタンスが復旧させるかを選択します。デフォルトを選択した場合、ローカルストレージと GPU のない共有テナンシーは自動復旧に設定されます。自身でCloudWatch Alarmで設定することも可能です。
シャットダウン動作
OS停止時に、EC2を削除するかどうかを選択します。「終了」を選択するとOS停止と同時にEC2も削除され、再起動することは出来ません。
終了保護
終了保護を有効にすると、この保護オプションを外すまでEC2を終了することが出来なくなります。つまり、誤って終了(削除)してしまった際にガード出来ます。「有効化」を選択しておく方がよいです。
CloudWatch モニタリングの詳細
有効にすると追加料金が発生しますが、詳細モニタリングが有効になります。
最後に
いかがだったでしょうか。EC2を作成しよう、と思うとこれだけのことを決める必要があります。しかし、クラウドサービスなので後から柔軟に変更できるのほとんどです。スモールに始めつつ、スケールを徐々に上げていく等といった、クラウドならではの使い方が出来ます。
AWSはとても幅が広く、検索等で部分的に理解することは出来ても全体を体系的に理解することが難しいです。公式ドキュメントを上から順に読んでいくことで理解が深まりますが、資格取得の書籍等で勉強することをお勧めします。
なぜ資格取得の書籍かというと、重要な部分を浅く抑えているからです。全体を体系的に浅く押さえておき、深く知る必要があるときに色々調べたり、試したりするとバランスのよいAWSエンジニアになれると思います。このあたりの書籍が分かりやすくおすすめです。
AWS認定資格試験テキスト AWS認定ソリューションアーキテクト – アソシエイト 改訂第2版 [ NRIネットコム株式会社 ] 価格:2,618円 |
みんなのAWS 〜AWSの基本を最新アーキテクチャでまるごと理解! [ 菊池 修治、加藤 諒 ] 価格:2,618円 |
改訂新版 徹底攻略 AWS認定 ソリューションアーキテクト – アソシエイト教科書[SAA-C02]対応 [ 鳥谷部 昭寛 ] 価格:2,618円 |
コメント