AWSを利用して仮想インスタンス(Amazon EC2)を作成する手順を詳しく説明します。EC2インスタンスの作成は、インフラをクラウドで利用するための第一歩です。今回は、VPC内にすでに作成済みのサブネットやルートテーブル、インターネットゲートウェイなどのリソースを活用して、Amazon EC2を構築し、SSHでアクセスするまでを確認します。
前提条件
AWSでのインスタンス作成は、ネットワークの設定がしっかりしていることが重要です。下記の参考記事で、VPCやサブネット、ルートテーブルの設定を事前に確認しておくとスムーズに進められます。
>> 参考記事 : 【AWS】ネットワーク(リージョン、AZ、VPC、サブネット)設定確認 >> 参考記事 : 【AWS】ネットワーク(ルートテーブル、インターネットゲートウェイ、NATゲートウェイ)設定確認今回は、仮想インスタンスとして、Amazon Linuxを構築し、SSHでアクセスできるまでを確認します。
EC2インスタンスの作成
EC2の設定画面へ移動します。 検索で”EC2“と入力することで、設定画面へのリンクが表示されます。
インスタンスよりインスタンスの起動をクリックします。
ステップ 1: Amazon マシンイメージ(AMI)
今回は、無料枠で使用できるAmazon Linux 2を選択します。これは、軽量でセキュアなLinuxディストリビューションで、多くのAWSサービスと互換性があるため、初心者にも使いやすいです。
ステップ 2: インスタンスタイプの選択
次に、インスタンスタイプを選択します。無料枠で利用できるt2.microを選びます。これは、小規模なアプリケーションやテスト環境に適しています。インスタンスタイプは、後で必要に応じて変更することが可能ですので、ここではコストを抑えてスタートするのが良いでしょう。
選択後、次のステップ:インスタンスの詳細の設定をクリックします。
ステップ 3: インスタンスの詳細の設定
インスタンスの詳細設定では、どのVPCやサブネットに配置するかを指定します。例えば、MyVPCというVPCを選び、パブリックサブネットにインスタンスを配置する場合は、public-subnet-1aを選択します。さらに、自動でパブリックIPを割り当てて、インターネットから接続できるようにします。
- ネットワーク:配置するVPCを選択します。今回はあらかじめ設定済みのMyVPCを選択します。
- サブネット:インターネットゲートウェイにアタッチされているパブリックサブネットとして、public-subnet-1a を選択します。
- 自動割り当てパブリックIP:インターネットから接続できるパブリックIPアドレスを自動割り当てするため、有効にします。
次にネットワークインタフェースの設定をします。今回は自動割り当てではなく、サブネットpublic-subnet-1a(10.0.1.0/24)のうちから固定で10.0.1.100を割り当てます。このように手動でIPを設定することで、複数インスタンスを扱う際に管理がしやすくなります。
ステップ 4: ストレージの追加
ストレージは、デフォルトの設定のままで進めますが、必要に応じてストレージ容量や種類を変更することが可能です。小規模なテスト環境であれば、デフォルトのEBS(Elastic Block Store)をそのまま利用して問題ありません。
下記、デフォルト値は変更せず、次のステップ:タグの追加 をクリックします。
ステップ 5: タグの追加
タグはインスタンスの識別に役立ちます。複数のインスタンスを運用する場合、後で管理しやすくするために、適切な名前を付けることをお勧めします。ここでは、EC2-publicという名前を付けます。これにより、ダッシュボード上でどのインスタンスかを一目で確認できるようになります。
ステップ 6: セキュリティグループの設定
セキュリティグループは、インスタンスへのトラフィックを制御するファイアウォールのような役割を持っています。今回は新しいセキュリティグループを作成するを選択し、このインスタンスに適用します。デフォルトではインバウンドルールとして、外部からSSHの接続を許可するフィルタが設定されています。
既に登録済みのセキュリティグループを適用する場合、既存のセキュリティグループを選択するを選びます。
あらかじめセキュリティグループを作成する手順は、下記の記事を参考にしてください。
>> 参考記事 : 【AWS】セキュリティグループの概要と設定確認上記の記事で作成したセキュリティグループ(WebSV-SG)を適用するには、下記のとおり、該当のリストを選択します。
セキュリティグループの設定が完了したら、確認と作成をクリックします。
ステップ 7: インスタンス作成の確認
設定を確認し、問題がなければインスタンスを起動します。
SSHで使用するキーペアの作成をします。今回は新しくキーペアの作成を選択し、任意のキーペア名を設定します。
そのあと、キーペアのダウンロードをクリックし、秘密鍵であるpemファイルをダウンロードし、任意の場所に保管してください。
ダウンロードが完了したら、インスタンスの作成 をクリックします。
作成ステータスが下記のとおりとなります。
インスタンスの表示をクリックします。
インスタンスのステータスが確認できます。作成実行直後のステータスは初期化していますであり、インスタンス作成中です。
しばらくすると、チェックに合格しました となり、インスタンス作成が完了します。
インスタンスのネットワーキングタブより、自動割り当てしたパブリックIPv4アドレスを確認できます。
このパブリックアドレスに対してSSHで接続します。仮想インスタンスを選択し、接続をクリックします。
SSHクライアント タブより、SSHでの接続方法が記載されています。
私の環境では、ダウンロードしたpemファイルをMACのデスクトップに保存します。はじめにpemファイルのパーミッションを制限することも忘れず設定する必要があります。デフォルトのユーザ名は、ec2-user です。
仮想インスタンスへアクセス
インスタンスが起動したら、ネットワーキングタブでパブリックIPを確認し、SSHで接続します。例えば、macOSのターミナルを使う場合は、次のようなコマンドで接続できます。
最初に接続する際には、ホストの認証を求められますが、続行して問題ありません。
mac:~ hirotano$ cd Desktop/ mac:Desktop hirotano$ chmod 400 hirotano-key.pem mac:Desktop hirotano$ ssh -i "hirotano-key.pem" ec2-user@13.230.222.39 The authenticity of host '13.230.222.39 (13.230.222.39)' can't be established. ECDSA key fingerprint is SHA256:jLIi62VYQ+eN9ZXqbTg+sA36dJFHi4kKz9+TwSF6uqg. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '13.230.222.39' (ECDSA) to the list of known hosts. __| __|_ ) _| ( / Amazon Linux 2 AMI ___|\___|___| 4 package(s) needed for security, out of 16 available Run "sudo yum update" to apply all updates. [ec2-user@ip-10-0-1-100 ~]$
インスタンスに無事接続できたら、基本的な動作確認を行いましょう。例えば、外部のIPアドレス(GoogleのDNSサーバーなど)に対してping
コマンドを実行し、インターネットアクセスが可能であることを確認します。
インスタンスを配置したサブネットのルートテーブルはインターネットゲートウェイ向けのルートも登録されているため、インターネットへアクセスもできます。
[ec2-user@ip-10-0-1-100 ~]$ ping 8.8.8.8 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_seq=1 ttl=104 time=2.56 ms 64 bytes from 8.8.8.8: icmp_seq=2 ttl=104 time=2.60 ms 64 bytes from 8.8.8.8: icmp_seq=3 ttl=104 time=2.56 ms ^C --- 8.8.8.8 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2003ms rtt min/avg/max/mdev = 2.565/2.577/2.602/0.044 ms
れで、仮想インスタンスが正常に作成され、外部ネットワークにアクセスできることが確認できました。
まとめ
今回のブログでは、Amazon EC2インスタンスを作成し、SSHでアクセスするまでの基本的な設定手順を解説しました。AWSの基礎的な操作をマスターすることで、さらにステップアップした内容を進めていけるでしょう。ぜひお試してください!
コメント