1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【AWS初級】EC2を作成して自宅から接続しよう

1
Last updated at Posted at 2026-08-16

目的

本記事では、CloudTechの学習内容を参考に、EC2インスタンスを構築し、自宅PCからSSH接続するまでを実践します。

単純にEC2を1台構築するだけではなく、以下の2台を構築します。

  • EC2A:自宅PCからインターネット経由で直接接続できるEC2
  • EC2B:インターネットから直接接続せず、EC2Aを踏み台として接続するEC2

⚠️ 料金に関する注意事項

本ハンズオンでは、途中でNATゲートウェイを作成します。

NATゲートウェイは、作成したまま放置すると利用時間に応じて料金が発生し、学習用途でもAWS利用料金が高くなる可能性があります。

そのため、NATゲートウェイ作成後は途中で止めず、最後の「リソース削除」まで実施してください。

構成図

スプリント1 自宅からEC2をログインしよう.png

対象者

・ITパスポートレベルの知識はあること。
・LPICレベル1程度のLinuxコマンドがわかること。
・AWSのアカウントは作成済であること。

前提用語

EC2

AWS上で利用できる仮想サーバー。

VPC

AWS上に作成する仮想ネットワーク。

リージョン

AWSのサービスを提供している地理的なエリア。
例:東京リージョン ap-northeast-1

アベイラビリティゾーン

リージョン内にある、独立したデータセンター群。
略して「AZ」と呼びます。

パブリックサブネット

インターネットと直接通信できるように設定されたサブネット。

プライベートサブネット

インターネットから直接アクセスできないように設定されたサブネット。

インターネットゲートウェイ

VPCとインターネットを接続するための仕組み。

NATゲートウェイ

プライベートサブネット内のリソースから、インターネットへ通信するために利用します。

ハンズオン

VPCを作成する。

AWS マネジメントコンソールにログイン後、東京リージョンになっていることを確認します。
上方の右側のリージョン選択画面で東京リージョンになっていることを確認してください。

image.png

続いて、検索窓でVPCを検索して出てきたサービスの中でVPCを押します。
image.png

右側のVPC作成を押します。
20260816055442.png

VPC作成では、VPCのみと他のリソースも合わせて作成するVPCなどがありますが、今回はせっかくなので、VPCのみで一つずつ作成していきます。変更する項目のみ記載していきます。

項目 設定値
名前タグ VPC
IPv4 CIDR 10.0.0.0/21

必要事項を記入したら、右下のVPC作成を押します。
続いて、作成したパラメーターが表示されるので、自分が入力した箇所が正しいか確認します。名前タグとIPv4 CIDRぐらいですかね。

サブネットを作成する。

続いて、サブネットを作成します。作成するのは構成図通り、パブリックサブネットとプライベートサブネットとなります。上記記載の通り、インターネットからの接続の有無で役割が分かれておりますが、現時点では明確な役割は持たせられず、とりあえず枠だけとなります。

では、左側のVPCダッシュボードからサブネットを選択します。
20260816061900.png

右側のサブネット作成を押します。
20260816062134.png

VPC IDで先ほど作成したVPCを選択します。このVPCにサブネットを作成するよっていう宣言です。
サブネットは一度に複数個作成できるようになっているので、一番下の新しいサブネット追加を押します。
20260816062452.png

では、サブネット1にパブリックサブネット、サブネット2にプライベートサブネットを作成します。
サブネット1の設定項目になります。

項目 設定値
サブネット名 Public Subnet
アベイラビリティーゾーン アジアパシフィック(東京)/ ap-northeast-1a
IPv4 サブネット CIDR ブロック 10.0.0.0/24

サブネット2の設定項目になります。

項目 設定値
サブネット名 Private Subnet
アベイラビリティーゾーン アジアパシフィック(東京)/ ap-northeast-1a
IPv4 サブネット CIDR ブロック 10.0.2.0/24

必要事項を記入したら右下のサブネット作成を押します。作成後、緑の個所を×ボタンで閉じたら、今回作成したサブネットでフィルタリングされているので、作成されたのが確認できます。
20260816064207.png

インターネットゲートウェイを作成する。

続いて、インターネットゲートウェイを作成します。これを設置することで、AWSリソースがインターネットに接続することができます。では、左側のVPCダッシュボードからインターネットゲートウェイを選択します。
20260816070235.png

右側のインターネットゲートウェイ作成を押します。

20260816070403.png
インターネットゲートウェイの設定項目となります。

項目 設定値
名前タグ Internet Gateway

設定したら、右下のインターネットゲートウェイの作成ボタンを押します。
20260816071016.png

作成されましたが、この状態ですと、どこにも属していないので、VPCへアタッチします。
作成ボタン押した後の緑のVPCへアタッチを押してください。

20260816071303.png

今回作成したVPCを選択してください。IDの後ろにVPCの名前が書かれています。
選択したら右下のインターネットゲートウェイのアタッチボタンを押します。
20260816071402.png

アタッチすれば、VPCの状態がAttachedになりました。

20260816094716.png

NATゲートウェイを作成する。

そして、NATゲートウェイをパブリックサブネットに設置します。
左側のVPCダッシュボードよりNATゲートウェイを押してください。
20260816095422.png

右上のNATゲートウェイを作成を押します。
20260816095524.png

NATゲートウェイに以下の項目を設定します。

項目 設定値
名前-オプション NAT Gateway
アベイラビリティーモード ゾーナル
サブネット Public Subnet

そして、Elastic IPの割り当てを押してください。

20260816111951.png

ここで指定するElastic IPとは、NAT Gatewayからインターネットへ出る際に使用する
固定のIPアドレスです。

追加したら、右下のNATゲートウェイを作成ボタンを押します。
20260816110817.png

ルートテーブルを作成します。

続いて、ルートテーブルを作成します。ルートテーブルは、各サブネットから出ていく通信を「どこへ送るか」を決める設定です。
右のVPCダッシュボードよりルートテーブルを押します。
image.png

パブリックサブネット用とプライベートサブネット用の2つを作成します。
以下を設定してください。

パブリックサブネットのルートテーブルとなります。

項目 設定値
名前-オプション Public route
VPC 今回使用するVPC

値を入れたら、右下のルートテーブルの作成を押します。

続いて、同じようにプライベートサブネットのルートテーブルも作成します。

項目 設定値
名前-オプション Private route
VPC 今回使用するVPC

値を入れたら、右下のルートテーブルの作成を押します。

ルートテーブルまで作成しました。ただし、このままでは、ルートテーブルはどこにも属していないので、
サブネットへ関連付けます。

まず、ルートテーブルの作成画面に戻り、Public routeの左側にチェックを入れ、アクションからサブネットの関連付けの編集を押します。
image.png

Public Subnetを選択し、右下の関連付けを保存を押します。
image.png

同じようにPrivate routeもPrivate Subnetを選択して、右下の関連付けを保存を押します。
image.png

image.png

これでルートテーブルがサブネットに関連付けられました。

image.png

続いて、サブネットに関連付けられたルートテーブルのルーティングを指定します。
パブリックのルートテーブルIDを押します。
image.png

ルートの編集を押します。
image.png

ルートの追加を押し、パブリックサブネットからインターネットへ通信できるように、ルートテーブルに以下のルートを追加します。追加後、右下の変更の保存を押します。

送信先 ターゲット
0.0.0.0/0 Internet Gateway

10.0.0.0/21 宛の通信はVPC内部でルーティングされます。

一方、0.0.0.0/0 はそれ以外のすべてのIPv4アドレスを表しており、VPC外部への通信をInternet Gatewayへ送ります。
image.png

同様にプライベートのルートテーブルは内部通信以外はNAT Gatewayへ送るように設定します。
image.png

ルートの編集を押します。
image.png

以下、追加後、変更を保存を押します。

送信先 ターゲット
0.0.0.0/0 NAT Gateway

image.png

ルーティング設定したことにより、最初に作成したサブネットがようやくパブリックサブネット、プライベートサブネットとなりました。

ではいったんここまでで作成した構成図を見ます。

image.png

なんか家でいうと、家が建つのはまだだけど、道路や庭の整備は完了したよという感じです。

いよいよこれからEC2を立てていきます。

パブリックサブネットにEC2Aを作成する。

AWS マネジメントコンソールの検索窓でEC2を検索します。サービスのEC2を押します。
image.png

EC2のダッシュボードでインスタンスを押します。
20260816162006.png

右上にある、インスタンス起動を押します。
image.png

以下を記入・選択していきます。

項目 設定値
名前とタグ EC2A

Amazonマシンイメージ(AMI)は最新のAmazon Linux 2023が選択されていることを確認してください。
インスタンスタイプはt3.microが選択されていることを確認してください。
※ほかのインスタンスタイプを選択すると、コストが上がる可能性がある為、ハンズオン等で作成するときは小さいタイプを選択願います。(原則デフォルトで大丈夫です。)

image.png

キーペアを作成します。
すでに使用できるキーペアを持っている場合は、既存のものを選択しても構いません。キーペアは、EC2へSSH接続する際の認証に使用します。
AWSでキーペアを作成すると、秘密鍵(.pemファイル)をダウンロードできます。

注意

ダウンロードした秘密鍵は、絶対に第三者へ公開しないでください。

特にGitHubなどの公開リポジトリへ誤ってアップロードしないよう注意してください。
秘密鍵が漏えいすると、第三者にEC2へ不正アクセスされる可能性があります。

過去には、認証情報をGitHubなどへ誤って公開したことでAWS環境を不正利用され、
仮想通貨のマイニングなどに利用されて高額な料金が発生した事例もあります。

秘密鍵は、自宅PCなどの安全な場所に保管します。

ネットワーク設定は詳しい設定をする必要がありますので、ネットワーク設定の右側にある編集ボタンを押してください。

image.png

以下を選択していきます。

項目 設定値
VPC - 必須 今回使用するVPCを選択
サブネット Public Subnet
パブリックIPの自動割り当て 有効化

セキュリティグループは、そのまま使えるので、デフォルトの設定にします。

ここまで設定したら、右側のインスタンス起動ボタンを押します。

image.png

しばらくすると成功の緑のバーがあるので、記載されているインスタンスIDを押します。

image.png

設定内容となります。ここで大事なのは、パブリック IPv4アドレスだと思います。
image.png

インスタンス画面に戻り、ステータスチェックに3/3がつけば、EC2Aは起動しています。
image.png

ではEC2Aにログインしてみます。

AWSのEC2にログインするにはいくつか方法はありますが、今回はTera tarmを使用してログインします。
ダウンロードしていない方は、ダウンロードしてください。(最新バージョンでないと、最新のEC2のログインに失敗することがあります。)

tera tarmのホストにパブリックIPアドレスを入れます。その後OKを押します。

image.png

初回接続時は、接続先サーバーのホスト鍵を確認するセキュリティ警告が表示されます。接続先が今回作成したEC2であることを確認したうえで、続行します。
image.png

ユーザー名にデフォルトのec2-user、パスワードは空白、認証方式は鍵を使うを選択して、所持している秘密鍵を選択してOkを押してください。

image.png

ログインできました。
image.png

続いて、EC2Aがインターネットに出ていけるか確認します。

以下の通りになっていれば、インターネットに正常に接続できています。

コマンド

curl -I https://www.google.com | grep '^HTTP'

結果

HTTP/2 200

プライベートサブネットにEC2Bを作成する。

続いて、プライベートサブネットにEC2Bを作成します。

項目 設定値
名前とタグ EC2B

OSとインスタンスタイプはEC2Aと同じです。キーペアもEC2Aと同じキーペアを設定してください。

続いて、ネットワーク設定の右側の編集ボタンを押して、詳細設定をします。

項目 設定値
VPC - 必須 今回使用するVPCを選択
サブネット Private Subnet
パブリックIPの自動割り当て 有効化

本来EC2Aを踏み台サーバーとしてEC2Bに接続する場合、パブリックIPの自動割り当ては無効が正しいのですが、
今回はつながらないということを確認するためにあえて、有効化しておきます。

また、セキュリティーグループの設定も本来であれば、EC2BにSSH接続するのに、EC2Aのセキュリティーグループの通信のみを許可しますが、こちらも、つながらないことを確認するためにそのまま(SSH接続であれば、どのIPからも接続可)にしておきます。

すべての設定を確認したら、インスタンス起動ボタンを押します。
同じように、ステータスチェックが完了するまで待ちます。

では、ステータスチェックも終わったので、tera tarmからログイン出来ないことを確認します。
image.png

グローバルIPアドレスを入れて、OKを押します。
image.png

接続出来ませんでした。
image.png

では、正しく接続できるようにします。

EC2Aを踏み台サーバーとしてEC2Bに接続する。

まず、EC2Bに接続するための秘密鍵をEC2Aが持つ必要があるので、自分のPCからEC2に転送します。
転送方法はいくつかありますが、今回は一番簡単なドラッグ&ドロップで実施します。
image.png

鍵の送信先はどこでもよいですが、今回は/tmpに持っていきます。

image.png

/tmpに鍵が転送されているか確認します。

[ec2-user@ip-10-0-0-199 ~]$ ls -l /tmp|grep pem
-rw-r--r--. 1 ec2-user ec2-user 1678 Mar 20 05:21 test-ec2-key.pem

転送されていました。

次が一番トラブルになりやすいところで、鍵のパーミッションは400に変更します。SSHでは秘密鍵が他のユーザから読み取れる状態になっていると、セキュリティ上の理由から鍵の使用を拒否される場合があります。
踏み台サーバー使用時に、接続できないエラーはまずは鍵のパーミッションを疑ってください。

[ec2-user@ip-10-0-0-199 ~]$ chmod 400 /tmp/test-ec2-key.pem;ls -l /tmp/test-ec2-key.pem
-r--------. 1 ec2-user ec2-user 1678 Mar 20 05:21 /tmp/test-ec2-key.pem

では鍵の状態も整ったので、いよいよEC2Bにログインします。まず、EC2BのプライベートIPアドレスを確認します。

image.png

ではEC2Aで次のコマンドを打ちます。

[ec2-user@ip-10-0-0-199 ~]$ ssh -i /tmp/test-ec2-key.pem ec2-user@10.0.2.101

その後、初回接続サーバーだけど接続してよいか?と聞かれるので、そこでyesと打つとつながります。

image.png

では、次にインターネットに出られるか確認します。

コマンド

curl -I https://www.google.com | grep '^HTTP'

結果

HTTP/2 200

接続出来ました。ようやく最初に記載した、構成図どおりになりました。

スプリント1 自宅からEC2をログインしよう.png

後処理(必ず実施すること。!!!)

では、目的を達したので、今回作成したAWSリソースの削除を行います。削除を行わなかった場合、今回の小規模な構成でも、月約13000円かかりますので、削除します。円安が進めばもっとかかる可能性はあります。
削除するのは逆からがよいと思います。また、基本料金がかからない、VPCやサブネットはそのままでよいかとも思いますが、今回は参考のために削除を実施します。

①EC2A,EC2Bを削除します。削除する場合は、両方にチェックを入れインスタンス終了(削除)を選択します。
image.png

終了(削除)を押します。

VPCダッシュボードでNATゲートウェイを選択して、削除します。
image.png

フィールドに「削除」と入力し、削除ボタンを押します。
image.png

NATゲートウェイ削除後、EIPの解放が必要のためしばらく待ちます。
状態がDeletedになったのを確認して、EIPの開放に移ります。

続いて、VPCダッシュボードのElastic IPを選択して、対象のElastic IPの開放を実施します。
image.png

image.png

最後にVPCからVPC,サブネット,インターネットゲートウェイを削除します。
image.png

image.png

AWSの学習はリソースの削除を実施するまでが学習です。

以上となります。お疲れさまでした。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?