【AWS】EC2作成~ログインまでやってみよう
最終更新日:2026年8月5日
はじめに
| 項目 | AWS | Microsoft Azure | Google Cloud |
|---|---|---|---|
| 世界シェア | 約33%(首位) | 約22% | 約11% |
| 強み | サービス数・実績 | Microsoft製品連携 | データ分析・AI |
| 無料枠 | 12ヶ月+常時無料 | 12ヶ月無料 | 常時無料枠あり |
| 主な資格 | CLF / SAA / SAP | AZ-900 / AZ-104 | ACE / PCA |
【要注意】上記のシェア・料金・資格名は変動する場合があります
クラウド市場シェアや無料枠の内容は時期により変わるため、最新の情報は各社公式サイトでご確認ください。
AWS(Amazon Web Service)とは、世界でもっとも利用されているクラウドプラットフォームサービスです。多くの企業、団体がAWSを利用しており、AWS自体も数多くの新しいサービスが発表されるなど日々、進化しています。
これを期にAWSを勉強したいが、何から勉強していいか分からないといった悩みも多く敷居の高さを感じている方も多くいらっしゃいます。
AWSを理解するには、インターネットや書籍、セミナー等で知識を蓄える事も重要ですが、やはり、ご自身で手を動かして学ばれるほうが、より一層理解が深まるはずです。
今回の記事は、読者の皆様が実際にEC2を作成して、ログインする事。また、ログインに必要なキーペアとは何かについて解説してします。
また、少し面倒なログインの手順を楽に行えるように、TeraTermのマクロを使ったログイン方法も紹介致します。
準備して頂きたいもの
- – AWSアカウント
- – TeraTerm
本記事は2020年公開時点のEC2作成ウィザード(AMI選択→インスタンスタイプ→インスタンスの設定→ストレージの追加→タグの追加→セキュリティグループの設定→確認と作成、という複数ページ形式)を前提に書かれていました。現在のAWSマネジメントコンソールでは、この一連の項目が「インスタンスを起動」という1ページ完結型の画面に統合されています(Name and tags/Application and OS Images/Instance type/Key pair/Network settings/Configure storage/Advanced details を1画面で設定し、右側のSummaryパネルの「インスタンスを起動」ボタンで作成)。以下の手順は現行UIに合わせて更新しています。
EC2インスタンス作成
まずは、EC2インスタンスを作成します。EC2とはAWSにおける仮想サーバーのサービスです。サーバーの負荷や稼働させるアプリケーションの規模などに応じてスペックを選択し、仮想サーバーの台数を増やしたりすることができます。では、実際にEC2インスタンスを作成しましょう。
事前にAWSにログインし、マネジメントコンソールから、EC2と検索してEC2ダッシュボードを開き、リージョンは東京を選択しておいてください。
▼EC2インスタンス作成方法(現行UI)
EC2ダッシュボードの「インスタンスを起動」ボタンをクリックします。以降の設定はすべて1つの画面上で行います。
Name and tags:作成するサーバーの名前を任意で入力します。必須ではありませんが、複数台管理する際に分かりやすくなるため入力をおすすめします。
Application and OS Images(AMI):「Quick Start」タブからOSを選択します。以前は無料枠対象として Amazon Linux 2 AMI がよく使われていましたが、Amazon Linux 2は2026年6月30日にサポートが終了しており、現在は後継の Amazon Linux 2023(AL2023) を選ぶのが推奨です。「無料利用枠の対象」のラベルが付いたAMIを選べば費用面でも安心です。
Instance type:無料枠の対象インスタンスタイプは、AWSアカウントの作成時期によって異なります。
- – 2025年7月15日より前に作成し、作成から12か月以内のアカウント:t2.micro(t2.microが選べないリージョンではt3.micro)が12か月間無料
- – 2025年7月15日以降に作成したアカウント:t3.micro/t3.small/t4g.micro/t4g.small/c7i-flex.large/m7i-flex.large が、6か月間または付与クレジットを使い切るまで無料
学習用途であれば、まずは無料枠ラベルが付いているインスタンスタイプを選んでおけば問題ありません。なお t4g系はArm(Graviton)アーキテクチャのため、AMI側もArm対応版を選ぶ必要がある点に注意してください。
Key pair(login):既存のキーペアを選ぶか、新規作成します。新規作成の場合はキーペア名を入力してダウンロードします。なお、 .pemファイルは再ダウンロード出来ませんので、必ず大切に保管してください。
Network settings:以前は別ページだった「セキュリティグループの設定」も、現在はこの画面内に統合されています。「セキュリティグループを作成」を選択すると、デフォルトでSSH(ポート22)のルールが用意されています。無い場合は以下のように追加してください。
- タイプ:SSH
- プロトコル:TCP
- ポート範囲:22
- ソース:カスタム 0.0.0.0/0
※上記の設定ですと、すべての送信元からのアクセスを許可する設定になるため、画面上でも警告が表示されます。学習用途で一時的に試すだけなら許容範囲ですが、常時稼働させるインスタンスでは「マイIP」を選び、自分のIPアドレスからのみSSH接続を許可する設定に変更することを強く推奨します。
Configure storage:特に理由がなければデフォルトのままで問題ありません。
最後に画面右側のSummaryパネルで設定内容を確認し、「インスタンスを起動」ボタンをクリックします。インスタンスの状態がrunningになったら成功です。
キーペアとは
キーペアとは、情報の暗号化と復号化を行う公開鍵と秘密鍵のセットのことです。2つで一対なのでペアとなっています。上記の手順でダウンロードしたものが秘密鍵とよばれるもので、拡張子が.pemになっています
キーペアを新規で作成した際、EC2側に秘密鍵が作られます。ユーザーはログインする際、自身が持つ公開鍵でログイン情報を暗号化し、サーバー側はその情報を自身が持つ秘密鍵で復号化する事で、アクセスしたのが間違いなく、正規のユーザーである事を認証しているのです。
万が一、悪意ある第三者に通信を読み取られ、情報を改ざんされてしまっても、サーバー側の秘密鍵で復号化できなければ、ログインする事ができない為、安全性の高い仕組みとなっています。
EC2にログインしてみる
今回はWindowsで利用出来て、且つ無償のソフトウェアであるTeraTermを使ってSSHログインを試してみたいと思います。TeraTerm と検索してソフトウェアをダウンロードしておいて下さい。
まず、EC2の画面で、IPv4 パブリックIPを確認してください次にTeraTermを起動し、ホストの項目にそのIPアドレスを指定します。TCPポート:22番、サービス:SSH と選択してOKをクリックします。ユーザー名に ec2-user と入力し、RSA/DSA/ECDSA/ED25519鍵をつかう を選択して、キーペア作成時にダウンロードしておいた.pemファイルを指定します。
OKをクリックし、ログインします。初めてログインした時は、確認のメッセージが表示されますが、yesと入力しログインしてください。
ログアウトする際はexitと入力してログアウトします。
なお、TeraTermのようなSSHクライアントをインストールせずに接続したい場合は、AWSマネジメントコンソールから直接ブラウザ経由でSSH接続できる「EC2 Instance Connect」も利用できます。EC2の画面でインスタンスを選択し「接続」ボタンから「EC2 Instance Connect」タブを選ぶだけで、.pemファイルを指定せずにログインできる手軽さがメリットです。
ユーザーを追加する
上記の手順まで実行できれば、学習用途としてEC2インスタンスの操作ができますが、ec2-user というユーザーでしかログインできません。
そこで、新規でユーザーを追加と、sshキーペア作成手順を記載します。不要であれば読み飛ばして下さい。
- # (例) new-user という名前のユーザーを追加します
- # TeraTerm 上にペーストしたい場合は alt+V で行います
- # EC2インスタンスに ec2-user でログインする
- [ec2-user@ip-XXX-XXX-XXX-XXX ~]$
- # ルートユーザーに操作を切り替える
- [ec2-user@ip-XXX-XXX-XXX-XXX ~]$ sudo su
- # ユーザーの追加
- [root@ip-XXX-XXX-XXX-XXX ec2-user]# useradd new-user
- # 追加したユーザーに sudo実行権限を付与
- [root@ip-XXX-XXX-XXX-XXX ec2-user]# usermod -G wheel new-user
- # wheelグループのメンバーを確認する
- [root@ip-XXX-XXX-XXX-XXX ec2-user]# getent group | grep wheel
- wheel:x:10:ec2-user,new-user
- # パスワード不要でsudoの実行を許可する
- [root@ip-XXX-XXX-XXX-XXX ec2-user]# visudo
- ## 以下の記述のコメントアウト(#) を外す
- %wheel ALL=(ALL) NOPASSWD: ALL
- # 作成したユーザー(new-user) に操作を切り替える
- [root@ip-XXX-XXX-XXX-XXX ec2-user]# su – new-user
- # sshキーペアを作成する
- [new-user@ip-XXX-XXX-XXX-XXX ~]$ ssh-keygen -t rsa
- Generating public/private rsa key pair.
- Enter file in which to save the key (/home/new-user/.ssh/id_rsa): //何も入力せずENTERを押下
- Created directory ‘/home/new-user/.ssh’.
- Enter passphrase (empty for no passphrase): //何も入力せずENTERを押下
- Enter same passphrase again: // 何も入力せずENTERを押下
- # .ssh/ に作成されたキーを確認する
- ## id_rsa が秘密鍵で、id_rsa.pubが公開鍵
- [new-user@ip-XXX-XXX-XXX-XXX ~]$ cd .ssh
- [new-user@ip-XXX-XXX-XXX-XXX .ssh]$ ls -la
- total 8
- drwx—— 2 new-user new-user 38 Apr 27 07:08 .
- drwx—— 3 new-user new-user 74 Apr 27 07:06 ..
- -rw——- 1 new-user new-user 1675 Apr 27 07:08 id_rsa
- -rw-r–r– 1 new-user new-user 436 Apr 27 07:08 id_rsa.pub
- # 作成された公開鍵(id_rsa.pub)をauthorized_keysに登録し、秘密鍵で認証出来るようにする
- ## authorized_keys が無い場合
- [new-user@ip-XXX-XXX-XXX-XXX .ssh]$ mv id_rsa.pub authorized_keys
- ## 既にauthorized_keys がある場合(追記する場合)
- [new-user@ip-XXX-XXX-XXX-XXX .ssh]$ cat id_rsa.pub >> authorized_keys
- # authorized_keys のパーミッションを600に変更する
- [new-user@ip-XXX-XXX-XXX-XXX .ssh]$ chmod 600 authorized_keys
- # 秘密鍵(id_rsa)をダウンロードする
- ## TeraTerm のファイル > SSH SCP… を選択
- ## From に id_rsa 、To に パソコンの任意のフォルダを指定してReceiveボタンを押下
- ##
- ## Permission denied で拒否されてしまう場合はパーミッションを適切に変更する
- # 追加したユーザーでログインする
- ## ダウンロードしたid_rsaの拡張子を.pem に変更
- ## ユーザー名 : new-user
- ## RSA/DSA/ECDSA/ED25519鍵を使う : ダウンロードした秘密鍵(id_rsa.pem)
ログインを自動化する
毎回ログインの度に、ホスト名、ユーザー名、秘密鍵を指定してログインするのが面倒くさいと思われるかもしれません。そこで、ログインを楽に行えるようにTeraTermのマクロを使ってログインを自動化する方法を紹介します。
TeraTermマクロで自動化する方法
Tera Term Language (TTL) という言語を使って、sshログイン自動化のプログラムを作成します。
以下の例はssh2で公開鍵認証方式によるアクセスを自動化するプログラムとなります。
- ; セミコロンはコメントを表します
- ; EC2_ADDR に EC2インスタンスのパブリックIPアドレスを代入します
- ; USER にユーザー名を代入します
- ; KEY に秘密鍵のパスを指定します
- ; 文字列は ‘ ‘で囲みます
- ; strconcat コマンドで文字列の結合をしています
- ; ssh2で接続し公開鍵認証方式で認証する為の情報をMSGに格納し、
- ; connectコマンドで実行しています
- EC2_ADDR = ‘XX.XX.XX.XX’
- USER = ‘XXXXXXXXX’
- KEY = ‘C:XXXid_rsa.pem’
- MSG = EC2_ADDR
- strconcat MSG ‘:22 /ssh /2 /auth=publickey /user=’
- strconcat MSG USER
- strconcat MSG ‘ /keyfile=’
- strconcat MSG KEY
- connect MSG
- end
上記をテキストエディタなどに貼り付けて、IPアドレス、ユーザー、秘密鍵のパスを設定してください。保存する際に拡張子は .ttlにします。
また、 .ttlファイルを実行する時のプログラムをttpmacro.exeにして下さい。
マクロを利用すると、.ttlのファイルをクリックするだけでログインできる様になるので、非常に楽になりますので、是非お試し下さい
よくある質問(FAQ)
Q. Amazon Linux 2とAmazon Linux 2023はどちらを選べばいい?
これから新規に作成するインスタンスであれば、Amazon Linux 2023(AL2023)を選んでください。Amazon Linux 2は2026年6月30日にサポートが終了しており、以降はセキュリティアップデートが提供されません。既にAmazon Linux 2で稼働中のインスタンスがある場合は、早めにAL2023への移行を検討することをおすすめします。
Q. t2.microとt3.microの違いは?無料枠はいつまで使える?
どちらもバースト可能な小規模インスタンスタイプですが、t3の方が新しい世代でコストパフォーマンスに優れています。無料枠の内容はAWSアカウントの作成時期によって異なり、2025年7月15日以降に作成したアカウントでは無料期間が12か月から6か月に短縮され、対象インスタンスタイプもt3.micro等に変更されています。ご自身のアカウントがどちらに該当するかは、AWSマネジメントコンソールの請求ダッシュボードやインスタンス起動画面の「無料利用枠の対象」ラベルで確認できます。
Q. TeraTerm以外でEC2にSSH接続する方法はある?
あります。AWSマネジメントコンソールから、TeraTermなどのSSHクライアントをインストールせずにブラウザ上で直接SSH接続できる「EC2 Instance Connect」という機能が利用できます。手早く一時的に接続したい場合に便利です。日常的に運用するサーバーであれば、公開鍵の管理がしやすいTeraTermやターミナルソフトからの接続が引き続きおすすめです。
Q. キーペアの.pemファイルを紛失してしまったらどうすればいい?
.pemファイル(秘密鍵)はAWS側に一切保存されないため、紛失すると同じキーペアで再ログインすることはできません。対処法としては、稼働中のインスタンスに別の方法(EC2 Instance Connect等)で一度ログインし、新しいキーペアの公開鍵を`~/.ssh/authorized_keys`に追記する方法があります。今後のためにも、ダウンロードした.pemファイルはパスワード管理ツールなど安全な場所に必ずバックアップしておきましょう。
Q. セキュリティグループのソースを0.0.0.0/0にするのは危険ではない?
危険です。0.0.0.0/0はインターネット上のすべてのIPアドレスからのSSH接続を許可する設定のため、学習用に一時的に試す場合を除き、常時稼働させるインスタンスでは避けるべきです。マネジメントコンソールでも警告が表示されます。実運用では、セキュリティグループの設定時に「マイIP」を選択して自分のIPアドレスからのみ接続を許可するか、社内からのみアクセス可能なIPレンジに絞り込むようにしてください。
まとめ:EC2作成~ログインまで
この記事のポイント:
- EC2インスタンスの作成はAWSマネジメントコンソールの「インスタンスを起動」画面から行う。現在はウィザードが1ページに統合されている
- AMIは後継のAmazon Linux 2023(AL2023)を選ぶのが推奨(Amazon Linux 2は2026年6月末にサポート終了済み)
- 無料枠対象のインスタンスタイプ・期間はAWSアカウントの作成時期によって異なるため、起動前に確認する
- キーペアの秘密鍵(.pem)は再ダウンロードできないため、ダウンロード直後に必ず安全な場所へ保管する
- TeraTermでのSSHログインに加え、ブラウザから直接接続できるEC2 Instance Connectという選択肢もある
いかがでしょうか? 最初は難しそうに思えても、やってみれば案外簡単に出来てしまいませんか? 秘密鍵と公開鍵の関係性も実際に手を動かして、実践してみれば理解できたと思います。
EC2インスタンスやユーザーが増えてきたら、マクロを使ってログインを自動化を利用する仕組みを用意すると作業も捗ると思われますので、お試し下さい。
最後までご覧頂き、ありがとうございました。
関連記事
- 【AWS】 知識ゼロから無料で始めるEC2 — 無料枠を使ったEC2の始め方を初心者向けに解説しています
- 【AWS】 EC2でWebサーバーを構築してみよう! — 本記事の続編として、作成したEC2でWebサーバーを構築する手順を紹介しています
- AWS SSH接続方法。 — EC2へのSSH接続方法についてさらに詳しく解説しています
- AWS EC2 は無料で使える? EC2にかかる費用について — EC2の無料枠や料金体系について詳しく解説しています
▼ アクロビジョンについて


