目次
EC2とは?
EC2(Elastic Compute Cloud)とはAWSの提供する仮想マシンサービスです。
EC2を利用する事で、アプリケーションを実行する為のWebサーバーや、データベースを作成する為のDBサーバーなどの構築が可能です。
仮想マシンとは、1つの物理的なマシン(コンピューターの実態)で複数のコンピューターを動かす技術(仮想化)によって作成された仮想的なコンピューターです。
AWSやAzureなどのクラウドベンダーは物理マシンを多数保持し、それぞれの物理マシンで仮想化を行う事で、大量の仮想マシンを生み出し、ユーザーへ提供しています。
クラウドベンダーが提供する仮想マシンを利用する事で、自社でハードウェアを保持する必要が無くなり、コストの削減や、マシンの拡張を容易にするなどのメリットがあります。
また、EC2はIaaS(Infrastructure as a Service)であり、カスタマイズ性が高いというメリットがあります。
ユースケース
主な利用ケースはクラウド上でのサーバーの作成が挙げられます。EC2を利用し、WebサーバーやDBサーバーを作成する事が出来ます。
より実務的な視点見ると、クラウド上でオンプレミスと同等のサーバーを構築し、クラウド移行を実施するというケースでよく利用されます。
メリット/デメリット
● メリット:IaaSサービスの為サーバーを構築する際のカスタマイズ性が高い。
● デメリット:カスタマイズ性が高い分、サーバー構築に時間が掛かる上、OSやミドルウェアの管理が必要となる。
以上の様に、EC2はサーバーを構築する際などに利用される仮想マシンサービスで、サーバーを作成する際のカスタマイズ性が高いサービスという事が分かりました。
続いて利用方法を見ていきましょう。
利用手順
※当ページでは2023年3月現在のEC2について解説します。クラウドサービスは頻繁にアップデートが施されるため、仕様が若干変わる可能性があります。
ログイン
まずは、AWS公式ページからAzureにログインしましょう。
EC2の新規作成
サインインすると、以下のようなコンソール画面が表示されます。こちらで、EC2を選択しましょう。
遷移先にて、”インスタンス”タブを押下します。
“インスタンスの作成”を押下します。
左上の”作成”をクリックし、Azure 仮想マシンを新規作成します。
名前の付与
まず、EC2に任意の名前を付与します。今回は”test-ec2″と命名します。
OSイメージ(Amazonマシンイメージ)の設定
OSのイメージを設定します。LinuxやWindowsOSなどが存在します。要件に応じてイメージを選択します。今回は”Amazon Linux”を利用します。
64ビットと32ビットを選択できる場合がありますが、メモリを考慮すると基本的に64ビットが好ましいです。
※Amazon LinuxはAWSがメンテナンスしており、AWS各サービスと連携するツールなどが事前にインストールされています。
インスタンスタイプの設定
インスタンスタイプとは、サーバーのスペックを定義したもので、それぞれのインスタンスタイプによりCPUやストレージ、メモリなどが異なります。利用用途に応じて最適なインスタンスタイプを選択する事が可能です。
インスタンスタイプは${インスタンスファミリー}.${インスタンス世代}.${インスタンスサイズ}という形で表記され、例えばt3.smallの様に表されます。
それぞれの変数の意味は以下の様になります。
- インスタンスファミリー:インスタンスの種類を表します。tやm、rなど様々な種類があり、それぞれに異なる特徴があります。メモリ、CPUの処理能力が高いインスタンスファミリーやメモリが大きいインスタンスファミリーなど様々なものが存在します。
- インスタンス世代:バージョンの様なものです。基本的に数字が大きいほど新しく、パフォーマンスが優れています。最新のものの利用が推奨されます。
- インスタンスサイズ:インスタンスの大きさを示します。small, medium, largeなどがあり、大きいほどCPUやメモリが多くなります。
インスタンスタイプは、上記を踏まえて要件によって決定します。今回は無料利用枠の”t2.micro”を選択します。
キーペア
インスタンスへSSH接続する際に利用する鍵となります。こちらの鍵を利用してログインを行う事となります。
“新しいキーペアの作成”を押下してキーペアの作成を行います。
- キーペア名:任意の名前を付与します。今回は”test-ec2-key”とします。
- キーペアのタイプ:RSAを選択します。セキュリティ上RSAの方が安全な為、特別要件が無ければRSAが好ましいです。
- プライベートキーファイル:接続形態に合わせて選択します。今回は”.pem”を選択します。
ネットワーク設定
ネットワーク設定では、配置先のVPC、サブネット及び許可するアクセス元などを設定します。
- VPC:任意のVPCを選択します。今回はデフォルトのVPCを選択します。
- サブネット:任意のサブネットを指定します。今回は指定しません。
- パブリックIPの自動割り当て:外部からのアクセスを受け付ける為に”有効化”を選択します。
- ファイアフォール(セキュリティグループ):外部からのアクセス制御を定義します。”セキュリティグループを作成する”を選択します。
- セキュリティグループ名:任意のセキュリティグループ名を付与します。今回は”test-ec2-sg”と命名します。
- 説明:セキュリティグループに対する説明を付与します。こちらは任意項目です。
- インバウンドセキュリティグループのルール:インバウンド通信に対するルールを付与します。
- タイプ:アクセスを許容する通信の形態を指定します。今回はSSH接続を想定する為、”ssh”を指定します。
- ソースタイプ:通信元のソースタイプを指定します。今回は”任意の場所”を指定し、どこからでもアクセス可能な状態とします。
ストレージの追加
ストレージを設定し、データの保管場所を確保します。EBS(Elastic Block Store)及びインスタンスストアという2つの選択肢が存在します。
- EBS:独立しており、他のEC2に付け替えが可能です。EC2とは別で料金が発生します。永続的なデータを保管する目的で作成します。
- インスタンスストア:他のEC2への付け替えは不可能です。追加の料金は発生しません。揮発性があり、EC2を止めたり、削除するとデータが削除されます。キャッシュなどを配置する際に利用します。
今回はテストの起動のみなので、ルートボリューム(インスタンスストア)で特に他ボリュームを追加はしません。
高度な設定
高度な設定では、より詳細なEC2の設定が可能です。今回は不要となるので割愛します。
上記の設定が完了したら、”インスタンスの起動”を押下し、インスタンスを作成しましょう。
起動が完了したら、”すべてのインスタンスを表示”を押下します。
EC2へのSSH接続
作成が完了したら、EC2へSSH接続を実施してみます。
作成したEC2を選択し、パブリックIPアドレスをコピーします。
Macを利用している方はターミナルを、Windowsを利用している方はPowerShellやGit bashなどからSSH接続をします。
以下のコマンドを実行します。
ssh -i ${ダウンロードしたpemキーへのパス} ec2-user@${作成したEC2のパブリックIPアドレス}
上写真の様にEC2という文字が現れ、ユーザーが”ec2-user”となっていればSSH接続が完了です。
関連記事