2022/9/25)はじめに今回の記事の目的AWSに入門してみる。EC2サーバ(Linux)を構築し、サーバにログイン(SSHアクセス)を実施する。設定完了EC2インスタンスへのSSHアクセスsshコマンドで接続する方法おわりに関連記事EC2へのアクセス時にポートフォワーディングを設定するEC2でdockerを立ち上げてみた前提AWSマネジメントコンソールにアクセスできること。IAMユーザに対し、必要なAWSサービスの利用を許可するIAMロールが紐づいていること。teratermまたはWindowsPowershellなど、SSH接続できるターミナルがインストールされていること。今回の構成インターネットからアクセス可能なパブリックサブネットを作成し、その中にEC2インスタンスを起動します。EC2を利用したサーバの構築手順VPCを作成VPCを作成する。AWSコンソール画面の「VPC」から「VPCを作成」を選択。CIDRCIDRブロックは10.0.0.0/24とした。意味としては以下の通り。部分)ネットワーク全体を表すIPアドレス=ホスト部を0としたアドレス(最後の0の部分)ホスト部には、8ビット分(32-24=8)、256個のアドレスを利用可能。10.0.0.1~10.0.0.254のIPアドレスが利用可能。サイト]サブネットを作成する同じVPCコンソールから、サブネットタブを選んで「サブネットを作成」を選ぶ。IDは先ほど作ったVPCを設定する。今回サブネットにはインターネットゲートウェイとの通信を設定して、インターネットからアクセスできるようにしたいので、パブリックサブネットとする。サブネットを配置するアベイラビリティゾーン(AZ)はap-northeast-1a(東京リージョンのAZ-a)を選ぶことにする。サブネットの名前は、以上の状況を表すpublic-1aとした。システムを作る際には可用性を高めるためマルチAZ構成を検討する。(マルチAZは基本的にやっておく、マルチリージョンは必要に応じてやることが多い印象)サブネットをパブリックサブネットとするため、インターネットゲートウェイと、ルートテーブルの設定を行う。インターネットゲートウェイを作成する同じVPCコンソールから、インターネットゲートウェイを選んで「インターネットゲートウェイの作成」を選ぶ。次に、作成したインターネットゲートウェイにチェックマークを入れ、「アクション」→「VPCにアタッチ」。先ほど作成したVPCにアタッチする。ルートテーブルの作成・設定VPCコンソールから、ルートテーブルを選んで「ルートテーブルの作成」を選ぶ。VPCは先ほど作ったVPCを選ぶ。作成したルートテーブルを選び、「ルートを編集」→「ルートを追加」で、0.0.0.0/0(フルオープン)から、インターネットゲートウェイへのアクセスルートを追加する。ルートテーブルを選択し、「サブネットの関連付け」→「サブネットの関連付けを編集」から、先ほど作ったサブネット(public-1a)を関連付ける。EC2インスタンスを起動するマネジメントコンソールからEC2のコンソール画面に移動。「インスタンスを起動」を選ぶ。AMIとは、サーバを立ち上げるときの設定ファイルのようなもので、自分で作成することもできるし、AWS側が用意しているものを使うこともできる。サードパーティー製のものを買って使うこともできる。インスタンスタイプの選択インスタンスタイプの選択。今回は無料のt2.microを選んでおく。インスタンスタイプとは、起動するサーバのスペックを表すもの。Store)と呼ばれるストレージをアタッチできる。S3やEFSにデータを格納するのに比べるとコストは高いがI/O性能は良い。デフォルト設定とする。今回はNameタグのみつけておく。セキュリティグループの設定セキュリティグループは、アクセス設定のひとかたまりみたいなもので、VPC単位に複数作ることができる。これをEC2に関連付けることで、インバウンドとアウトバウンドのトラヒックを許可・制限できる。SSHとHTTPのポートに対し、0.0.0.0/0(フルアクセス)の権限を与えるセキュリティグループを新規作成して、EC2にアタッチする。実際の業務システムでは、フルアクセス設定はNG。キーペアの作成キーペアを作成し、秘密鍵をダウンロードしておく(EC2アクセス時に使用する)。設定完了しばらく待つとインスタンスが起動する。EC2インスタンスへのSSHアクセスマネジメントコンソールから、起動したEC2のパブリックIPアドレスを確認する。teratermを起動し、ホストに先ほど設定したIPアドレスを入れる。ユーザ名:ec2-userとする。秘密鍵に、EC2作成時にダウンロードしておいた秘密鍵を設定する。これでサーバにアクセスできる。業務システムとして利用する際は、プライベートサブネット上にEC2を設置することが多いので、接続方法は別途検討が必要。こちらなど参考になりそう。DevelopersIOsshコマンドで接続する方法PowerShellで、以下コマンドを実行することでteratermと同じようにアクセスできた。デジカシVSCodeの「ターミナル」Windowsターミナルからも同様に実行可能。コマンドを打ってみた結果おわりに今回はEC2インスタンスを準備し、起動した上で、SSHアクセスを行なった。関連記事EC2へのアクセス時にポートフォワーディングを設定するローカルPCのlocalhostからEC2のlocalhostにアクセスできるようにする方法。EC2へのSSHアクセス時にポートフォワーディングを設定する方法メモEC2へのSSHアクセス時にポートフォワーディングを設定する方法メモ。https://bunsugi.com/ec2-port-fowardingEC2でdockerを立ち上げてみたdockerを立ち上げてみた内容。EC2の上でdockerを立ち上げてみたメモ。(通常、あまりやらない構成かも)EC2(Linux)上でdockerコンテナを起動してみるEC2上にdocker環境を構築し、コンテナを立ち上げて、Webサイトを表示してみます。事業会社のシステム部門で働きはじめて5年目の会社員。システム企画/要件定義/システムアーキテクチャ等。Twitter→@bun_sugi過去の記事についてはてなブログに掲載の記事(主にプログラミングメモ)についてはこちらに掲載しております。エンジニアを目指す日常ブログお問い合わせ|プライバシーポリシ。