CCWO Embedded Space

CCWOの日々の開発を発信するブログ

AWS サーバー 構築

AWSで仮想サーバーを構築する

シリーズ:AWS Webサーバー 構築 - CCWO Embedded Space

前回:AWS VPC領域 構築 - CCWO Embedded Space

AWS上に作成したVPS領域にサーバーを構築する

この記事での構築後のイメージ

f:id:CCWO:20190923112218p:plain


目次


前提


EC2サービスを開く

f:id:CCWO:20190922221352p:plain

コンピューティングからEC2を選択

パブリックEC2インスタンスを作成

  1. EC2インスタンス

    左のEC2ダッシュボードからインスタンスを選択

    f:id:CCWO:20190922221726p:plain

  2. EC2インスタンスの作成

    「インスタンスの作成」を選択

    f:id:CCWO:20190922221905p:plain

  3. EC2インスタンスの設定

    • 手順 1: Amazon マシンイメージ (AMI)

    「Amazon Linux 2 AMI (HVM), SSD Volume Type」を選択

    f:id:CCWO:20190922222221p:plain

    • 手順 2: インスタンスタイプの選択

    f:id:CCWO:20190922222528p:plain

    「t2.micro」を選択

    「次の手順:インスタンスの詳細の設定」

    • 手順 3: インスタンスの詳細の設定

      • ネットワーク:作成したVPC領域を選択
      • サブネット:パブリックサブネットを選択
      • 自動割り当てパブリック IP:有効
      • ネットワークインターフェイス・プライマリIP:10.0.1.10(パブリックサブネットの中からIPを取得)

      f:id:CCWO:20190922222902p:plain

      「次の手順:ストレージの追加」を選択

    • 手順 4: ストレージの追加

      f:id:CCWO:20190922223940p:plain

      そのままの設定で「次の手順:タグの追加」を選択

    • 手順 5: タグの追加

      f:id:CCWO:20190922224106p:plain

      「別のタグを追加」を選択

      • キー:Name
      • 値:Webサーバー

      と入力し、「次の手順:セキュリティグループの設定」を選択

    • 手順 6: セキュリティグループの追加

      f:id:CCWO:20190922224357p:plain

      • セキュリテイグループ名:WEB_SG

      を入力し、「確認と作成」を選択

    • 手順 7: インスタンス作成の確認

      f:id:CCWO:20190922224550p:plain

      警告が出ていますが、そのまま「起動」を選択

      SSH接続用のキーの名前を設定し、キーペアのダウンロードをする→「インスタンス作成」を選択

    これでEC2インスタンスが立ち上がりました

プライベートEC2インスタンスを作成

パブリック用EC2と設定はほぼ同じです

異なるのは

  • 手順 3: インスタンスの詳細の設定

    • ネットワーク:作成したVPC領域を選択
    • サブネット:プライベートサブネットを選択
    • 自動割り当てパブリック IP:無効化
    • ネットワークインターフェイス・プライマリIP:10.0.2.10(パブリックサブネットの中からIPを取得)
  • 手順 6: セキュリティグループの追加

    f:id:CCWO:20190923010855p:plain

    • セキュリテイグループ名:WEB_SG
    • ルールの追加
      • タイプ:MySQL/Aurora
      • ソース:任意の場所
      • タイプ:ICMP
      • ソース:任意の場所

だけです!

パブリックEC2インスタンスにSSH接続する

Amazon Linuxでは、サーバーが起動する際に自動的にsshdも起動するように構成されている

そのため、実行中のAmazon Linuxには初期状態でSSHで接続ができますので接続していきます

前提:MacOS mojave

f:id:CCWO:20190922225425p:plain

先ほどダウンロードしたSSHのキーペアがあるディレクトリをターミナルで開きます

接続手順は「接続」を選択することで確認できます

f:id:CCWO:20190922235513p:plain

下記の手順をターミナルで実行すればAWS上のEC2に接続できます

f:id:CCWO:20190922235427p:plain

こんなやつが出てこれば成功です

f:id:CCWO:20190922235618p:plain

接続が完了するとメッセージの中に

sudo yum update

を実行しろとあるので実行しておきます

*1

以下のコマンドで

sudo lsof -i -n

実行中のポートを確認すると

f:id:CCWO:20190923001543p:plain

PORT:2562にsshdがいるのを確認できます

プライベートEC2インスタンスにSSH接続する

  1. Telnetの確認

    パブリックEC2インスタンスに接続した状態にする

    SSHで接続する前にTelnetで通信できるかを確認します

    プライベートサーバーを許可してあるのでTelnetで通信することができます

    [パブリック用サーバー]

    telnet 10.0.2.10

    f:id:CCWO:20190923012505p:plain

    通信できています

  2. SSH公開鍵の送信

     ローカルのターミナルに戻る

    今回はパブリックサーバーを踏み台にしてプライベートサーバーに接続するため、プライベート用SSH公開鍵を一度パブリックに送信します

    [ローカル]

    scp -i [SSH接続先公開鍵] [送信したいファイル] [送信先:~/]

    f:id:CCWO:20190923013425p:plain

    やや引数がややこしいですね

  3. プライベートEC2インスタンスに接続

    パブリックEC2インスタンスに接続した状態にする

    あとはパブリックEC2インスタンスに接続するときの同様の要領で

    [パブリック用サーバー]

    f:id:CCWO:20190923013642p:plain

    こんなやつが出てこれば成功です

    f:id:CCWO:20190922235618p:plain

Elastic IPの割り当て

パブリック IPv4のIPアドレスを固定します

  1. Elastic IP

    EC2ダッシュボードから「Elastic IP」を選択

    f:id:CCWO:20190923000250p:plain

    「新しいアドレスの割り当て」を選択

  2. Elastic IPで新しいアドレスの設定

    f:id:CCWO:20190923000448p:plain

    「割り当て」を選択

  3. アドレスの関連付け

    アクションから「アドレスの関連付け」を選択

    f:id:CCWO:20190923000616p:plain

    f:id:CCWO:20190923000705p:plain

    • インスタンス:作成したEC2インスタンスを選択
    • プライベートIP:作成したEC2インスタンスのIPアドレスを設定

これでEC2インスタンスをVPS上に作成することができました!

次回はEC2インスタンにWebアプリケーションを構築していきます。

*1:セキュリテイのアップデートを取り入れてください的なメッセージですね