EC2

ホーム  


VPS

VPS(バーチャル・プライベート・サーバー)

レンタルサーバーで使えるアプリケーションには制限があります。そこで登場したのがVPSです。

VPSには自由にアプリケーションをインストールすることができます。

ここでは、EC2 という VPS に HTTP サーバーと FTP サーバーを設定する方法を説明しています。

デプロイメント

ローカルサーバーで実行されているアプリケーションは、自分のコンピューターでしか見ることができません。一方、グローバルなサーバーにアプリケーションを配置して、その実行を、多くの人から見てもらえるようにすることをデプロイメント (deployment) 、略してデプロイと言います。

EC2

VPS で一番有名なのが、AWS (アマゾンウェブサービス) の EC2 というサーバーです。1年間無料で使えます。

サーバーの作成

次のサイトの「Amazon EC2の使用を開始する」をクリックして、AWSのアカウントを作ります。アカウントの作成には、住所、電話番号、クレジットカード番号が必要です。AWSには有料サービスもあり、一応クレジットカードを登録しないと、無料サービスを受けられないみたいです。

Amazon EC2 (安全かつスケーラブルなクラウド上の仮想サーバーホスティング) | AWS

「Amazon Web Services」からメールが3通届けば、アカウントの作成は完了しています。上記のサイトの「コンソールへログイン」をクリックしてサーバーの作成を始めます。「コンソールにログイン」が表示されていなければ「無料サインアップ」か「Amazon EC2の使用を開始する」をクリックして、「既存の AWS アカウントでログイン」をクリックしてください。

  1. 「すべてのサービス」から「EC2」をクリック
  2. 「インスタンスの作成」をクリック
  3. 2段目の「Amazon Linux 2 AMI( HVM), SSD Volume Type」の「選択」をクリック
  4. 「無料利用枠の対象」が選ばれていることを確認して「確認と作成」をクリック
  5. インスタンスタイプが「t2.micro」になっていることを確認して、「起動」をクリック
  6. キーペアを作成するダイアログが開きます。「新しいキーペアの作成」を選んで「キーペア」の名前を決め「キーペアのダウンロード」をクリック。ダウロードされた「名前.pem」はホームフォルダに「.ssh」という隠しフォルダを作成して、その中に移動しておく。Safariでダウンロードした場合は「名前.pem.txt」となっている場合があります。その場合は「.txt」を取って、「名前.pem」という名前に戻しておきます。キーペアはどこに置いても構わないのですが、安全のために「.ssh」に入れています。
  7. 「.ssh」へ移動して、「chmod 400 名前.pem」と入力し、パーミッションを非公開に設定します
  8. 続けて、同じダイアログの「インスタンスの作成」をクリック。下へスクロールして、「インスタンスの表示」をクリック
  9. 「ステータスチェック」が「2/2 のチェックに合格しました」になればサーバーは完成しています
  10. 下のタブから「説明」をクリック
  11. 作成したサーバーのいろいろな情報が表示されます。その中から「パブリック DNS (IPv4」と「IPv4 パブリック IP」の設定値をメモしておきます。例えば「ec2-18-105-203-220.us-east-2.compute.amazonaws.com」と「18.105.203.220」というものです。この設定値があなたのホームページを見るためのURLとなります。

セキュリティグループの設定

  1. 左のペインを下へスクロールして「セキュリティグループ」をクリック
  2. 「グループ名」が「default」ではない方のグループを選択。下の「インバウント」タブをクリックして「編集」をクリック
  3. 「ルールの追加」をクリックして、1つの「HTTP」と2つの「カスタムTCP」を次の図のような設定値で追加し、「保存」ボタンをクリック
  4. これで、AWCのコンソールでの設定は終わりました。画面上部のあなたのアカウント名をクリックして「サインアウト」クリックしてサインアウトします。
  5. サーバーの項目に戻りたい場合は、左のペインを上へスクロールして、「インスタンス」をクリックします。

HTTPサーバーの設定

ブラウザを起動して、URLフィールドに、先ほどメモした、パブリック DNS かパブリック IP を入力して実行します。「サーバーに接続できません」などのメッセージが表示されると思います。先ほど作成したサーバーに、まだ「HTTPサーバー」がインストールされていないからです。

  1. コンソールかコマンドプロンプトを起動して、「ssh -i ~/.ssh/名前.pem ec2-user@18.105.203.220」と入力してサーバーにアクセスします。「名前」の部分はあなたのキーペアの名前にします。「18.105.203.220」の部分は、あなたのパブリック IPにします。
  2. Are you sure you want to continue connecting (yes/no)? 」と表示されますので「yes」と入力します。
  3. Run "sudo yum update" to apply all updates.」と表示されれば、サーバーへのアクセスは完了しています。
  4. 指示どおりに「sudo yum update」と入力して、「yum」というパッケージ管理プログラムを更新します。
  5. 次に「sudo yum -y install httpd」と入力して、HTTPサーバーをインストールします。
  6. sudo service httpd start」と入力して、HTTPサーバーを起動します。
  7. sudo chkconfig httpd on」と入力して、EC2サーバーが再起動した場合、HTTPサーバーも自動的に起動する設定にします。
  8. ブラウザを起動して、パブリック DNS かパブリック IPであなたが作ったサーバーの、あたなのサイトを見てみます。
    次のページが表示されれば、HTTPサーバーのインストールは成功しています。
  9. EC2サーバーからログアウトするには、「exit」と入力します。ログアウトしても、EC2サーバーは稼働し続けています。

FTPサーバーの設定

先ほど表示されたページには「You may now add content to the directory /var/www/html/.」という記述がありました。意味は、「自分のページを表示するには、ファイルを /var/www/html/ ディレクトにアップロードしてください」ということです。ファイルをアップロードするために、EC2サーバーに、FTPサーバをインストールします。

  1. ターミナルもしくはコマンドプロンプトに 「ssh -i ~/.ssh/名前.pem ec2-user@番号」と入力して、 EC2サーバーにログインします。「名前」のところはキーペアの名前です。「番号」のところは、あなたのパブリック IPです。
  2. sudo yum -y install vsftpd」と入力し、FTPサーバーをインストールしてください。
  3. sudo service vsftpd start」と入力して、FTPサーバーを起動します。
  4. ECサーバーを再起動した場合も「sudo service vsftpd start」と入力して、FTPサーバーも起動しなおします。「sudo chkconfig vsftpd on」などと入力しても、FTPサーバーを自動的に起動する設定にすることはできません。
  5. sudo useradd ユーザー名」と入力して、ユーザーを作成します。ユーザー名は好きな名前にします。
  6. sudo passwd ユーザー名」と入力して、パスワードを設定します。
  7. FTPクライアントを起動して、EC2サーバーに接続します。「ホスト名」は、パブリック DNSかパブリック IPにします。接続方法はFTP、ユーザー名とパスワードは先ほど設定したものにします。
  8. しかしアクセスできるのは、/home/ユーザー名というディレクトリです。

設定の変更

/var/www/html」にアクセスできるように、まず「vsftpd.conf」を書きなおします。

EC2サーバーにはデフォルトで「vi」というテキストエディタがインストールされていますが、私は「sudo yum install emacs」で、「Emacs」をインストールしました。

  1. sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.copy」で、「vsftpd.conf」のバックアップを取っておきます。
  2. sudo emacs /etc/vsftpd/vsftpd.conf」で「vsftpd.conf」を開き、次のように書き換えます。なお、「pasv_address=」はあなたのパブリック IPにします。
    
    anonymous_enable=NO
    local_enable=YES
    write_enable=YES
    local_umask=022
    dirmessage_enable=NO
    xferlog_enable=YES
    connect_from_port_20=NO
    xferlog_std_format=YES
    ascii_upload_enable=YES
    ascii_download_enable=YES
    chroot_local_user=YES
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd/chroot_list
    listen=NO
    listen_ipv6=YES
    pam_service_name=vsftpd
    userlist_enable=YES
    tcp_wrappers=NO
    pasv_enable=YES
    pasv_addr_resolve=YES
    pasv_address=18.105.203.220
    pasv_min_port=60001
    pasv_max_port=60010
    use_localtime=YES
    force_dot_files=YES
    user_config_dir=/etc/vsftpd/user_conf
        
    書き換えが終わりましたら、ファイルを保村して閉じます。
  3. sudo emacs /etc/vsftpd/chroot_list」と入力して 「chroot_list」という新規ファイルを開き、 あなたが決めたユーザ名を書き込みます。そしてファイルを保存して閉じます。
  4. sudo mkdir /etc/vsftpd/user_conf」と入力して、 「user_conf」というディレクトリを作成します。
  5. sudo emacs /etc/vsftpd/user_conf/ユーザー名」 と入力して新規ファイルを開きます。「ユーザー名」は、 あなたが決めた名前です。そしてそのファイルに、 「local_root=/var/www/html」と書き込みます。ファイルを保存して閉じてください。
  6. sudo chown ユーザー名 /var/www/html」と入力して、 ユーザーを「/var/www/html」のオーナーにします。 「ユーザー名」はあなた決めた名前です。
  7. sudo chmod 755 /var/www/html」と入力して、 「/var/www/html」を書き込み可能にします。
  8. sudo reboot」と入力して、EC2サーバーを一度再起動します。
  9. EC2サーバーにログインし「sudo service vsftpd restart」 と入力してFTPサーバーを起動します。
  10. FTPクライアントでEC2サーバーにログインしてください。 今度は「/etc/www/html」にログインできていると思います。

ファイルのアップロード

次のようなソースのファイルを「index.html」として作ってください。


<html><head><title>app Design test site</tile></head>
<body>
<h1>Hello, app Design!<h1>
<p>This is app Design test site.</p>
</body>
</html>
    

index.html」をEC2サーバーの「/var/www/html/」へアップロードします。

ブラウザを起動して、URLフィールドにパブリック DNSかパブリック IPを入力して実行します。 次のページが表示されれば成功です。

Ubuntu サーバーの設定

Ubuntu では「HTTPサーバの設定」と「FTPサーバーの設定」が、Amazon Linux 2 AMIの場合と少し違います。ここではEC2のUbuntu Server 16.04 LTSで話を進めて行きます。サーバーの作成方法は、Amaon Linux 2 AMIの場合と同じです。

  1. 「キーペア」で「既存のキーペア」を選ぶと、AMIとおなじキーペアが使えます。
  2. Ubuntu サーバへのログインは次のコードを使います。番号のところは、あなたのパブリック IPに 変えてください。
    ssh -i ~/.ssh/キーペアの名前.pem ubuntu@18.105.203.220

HTTPサーバの設定

  1. サーバーへログインして、sudo apt install apache2 と入力してインストールします
  2. sudo service apache2 start と入力して、HTTPサーバーを起動します。
  3. ブラウザを起動して、URLフフィールドにパブリック DNSかパブリック IPを入力して実行すると次のページが現れます。

FTPサーバーの設定

  1. sudo apt install vsftpd と入力して、FTPサーバーをインストールします。
  2. sudo apt update と入力して、apt 管理プログラムをアップデートします。
  3. 好みにより、次のコードで Emacs をインストールします。「sudo apt install emacs
  4. sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.copy と入力して、 設定ファイルのバックアップを取っておきます
  5. sudo emacs /etc/vsftpd.conf と入力して、設定ファイルを開きます。
  6. 設定ファイルの内容を次のコードで書き換えてください。passiv_address のところは、 あなたのパブリック IPにしてください。そしてファイルを保存して閉じます。
    
    anonymous_enable=NO
    local_enable=YES
    write_enable=YES
    local_umask=022
    dirmessage_enable=NO
    xferlog_enable=YES
    connect_from_port_20=NO
    xferlog_std_format=YES
    ascii_upload_enable=YES
    ascii_download_enable=YES
    chroot_local_user=NO
    chroot_list_enable=NO
    chroot_list_file=/etc/vsftpd/chroot_list
    listen=NO
    listen_ipv6=YES
    pam_service_name=vsftpd
    userlist_enable=YES
    tcp_wrappers=NO
    pasv_enable=YES
    pasv_addr_resolve=YES
    pasv_address=18.222.52.175
    pasv_min_port=60001
    pasv_max_port=60010
    use_localtime=YES
    force_dot_files=YES
    user_config_dir=/etc/vsftpd/user_conf
    local_root=/var/www/html
        
  7. sudo emacs /etc/vsftpd.user_list と入力して、新規ファイルを作ります。 そして何も記述せずにファイルを保存してから閉じます。
  8. sudo mkdir /etc/vsftpd と入力して新規ディレクトリを作ります。
  9. sudo emacs /etc/vsftpd/chroot_list と入力して、新規ファイルを作ります。 そしてそのファイルに「ubuntu」と記述して、ファイルを保存して閉じます。
  10. sudo mkdir /etc/vsftpd/user_conf と入力して、新規ディレクトリを作ります。
  11. sudo emacs /etc/vsftpd/user_conf/ubuntu と入力し新規ファイルを作ります。 そしてそのファイルにlocal_root=/var/www/html と記述してファイルを閉じます。
  12. sudo passwd ubuntu と入力して、パスワードを設定します。
  13. sudo chown ubuntu /var/www/html と入力して、「ubuntu」に /var/www/html ディレクトリのオーナー権限を与えます。
  14. sudo chmod 755 /var/www/html と入力して、/var/www/html を書き込み可能にします
  15. sudo service vsftpd restart と入力して、FTPサーバーを再起動します。
  16. FTPクライアントを起動します。ホスト名にパブリック IPを、ユーザー名に ubuntu を、パスワードは決めたパスワードを入力すれば、 /etc/www/html に接続できると思います。


4145 visits
Posted: Jan. 26, 2019
Update: Feb. 04, 2019

ホーム   ページトップ