初心者向け:EC2インスタンスの起動フローと基礎知識
初心者向け:EC2インスタンスの起動フローと基礎知識
1. EC2とは?
Amazon EC2(Elastic Compute Cloud)は、AWSが提供する仮想サーバーサービスです。仮想サーバー(インスタンス)を簡単に作成・管理でき、必要に応じてCPUやメモリ、ストレージなどのリソースを柔軟に選択できます。
2. EC2インスタンスの起動フロー
EC2インスタンスを起動する際は、以下の7つのステップで設定を行います。
① 名前とタグの設定
インスタンスの識別や管理をしやすくするために、名前やタグを付与します。タグを付けることで、後から検索や管理が簡単になります。
② AMIの選択
AMI(Amazon Machine Image)は、インスタンスのOSや初期設定が含まれたテンプレートです。公式AMIや自作AMI、AWS MarketplaceのAMIなどから選択できます。
③ インスタンスタイプの選択
インスタンスのCPU・メモリ・ネットワーク性能などを決める「インスタンスタイプ」を選びます。例:t2.micro、m5.largeなど。
④ キーペア設定
インスタンスへ安全に接続するための「鍵(キーペア)」を設定します。キーペアを使ってSSH接続やリモートデスクトップ接続を行います。
⑤ ネットワーク設定
インスタンスを配置するVPCやサブネット、セキュリティグループ(ファイアウォール)を設定します。セキュリティグループでアクセス制御が可能です。
⑥ ストレージ詳細設定
インスタンスにアタッチするストレージ(EBSボリュームなど)を設定します。必要に応じて容量や種類を選択できます。
⑦ インスタンス詳細設定
IAMロールの割り当てや、ユーザーデータ(起動時に実行するスクリプト)、モニタリング設定など、追加のオプションを設定します。
3. インスタンス起動時のオプション
オプション | 説明 |
---|---|
ユーザーデータ | インスタンス起動時にスクリプトを自動実行できる機能。初期セットアップやソフトウェアのインストールなどに利用されます。 |
起動テンプレート(Launch Template) | 上記の設定をテンプレート化し、複数インスタンスの一括起動や再利用が可能です。 |
4. プレイスメントグループ
インスタンスの配置戦略を指定することで、可用性や耐障害性、パフォーマンスを最適化できます。
配置戦略 | 説明 |
---|---|
Cluster | 同じアベイラビリティゾーン内にインスタンスを集約し、高速な通信が必要な場合に有効。 |
Spread | インスタンスを物理的に分散配置し、障害の影響を最小限に抑えたい場合に有効。 |
Partition | インスタンスを複数のパーティションに分けて配置し、大規模分散システム向け。 |
5. EC2インスタンスからAWSリソースへのアクセス
EC2からS3やDynamoDBなど他のAWSサービスへアクセスする場合、認証情報の設定が必要です。
主な方法
- 認証情報ファイル
EC2のホームディレクトリの.awsディレクトリ内に認証情報(アクセスキー等)を保存。 - 環境変数
AWS_ACCESS_KEY_ID
やAWS_SECRET_ACCESS_KEY
を環境変数で設定。 - IAMロール
EC2インスタンスにIAMロールを割り当てることで、安全かつ自動的に権限を付与。
実運用では、セキュリティの観点から「IAMロール」の利用が推奨されます。