10
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【AWS】EC2上にOpenVPN を作成してみました

Posted at

はじめに

AWS上のEC2にOpenVPNサーバーを構築してみました。

事前準備すること

  1. OpenVPNクライアントをインストールしておくこと。
    Link: https://openvpn.net/ 
    ※本手順はMAC端末にOpenVPNクライアントをインストールしておきました。
  2. EC2 OS: Amazon Linux 2
  3. セキュリティグループに使うポートはデフォルトのUDP1194を使わず、代わりにUDP23333TCP443を使う
    1. TCP443: VPN接続用ポート
    2. UDP23333: VPN接続用ポート
    3. UDP1194: 使わない
    4. TCP443: 管理者ログイン用ポート(IP制限する)

ステップ1: EC2用のIAM Roleを作成する

  • IAM ロールロールを作成をクリックする

image.png

  • AWSのサービスをクリックして、ユースケースEC2を選択する

image.png

  • AmazonSSMFullAccessを選択した上、次へをクリックする

image.png

  • ロール名に名前を入力の上、作成する

image.png

  • ロールが作成されたことを確認することができた

image.png

ステップ2: VPCを作成する

  • 作成するリソース: VPCなど
  • 名前タグの自動生成: vpn-vpc-01
  • IPv4 CIDRブロック: 10.0.0.0/16
  • IPv6 CIDRブロック: IPv6 CIDRブロックなし
  • テナンシー: デフォルト

image.png

  • AZの数: 2
  • Public Subnetの数: 2
  • Private Subnetの数: 2
  • NAT Gateway: なし
  • VPC Endpoint: なし

image.png

ステップ3: セキュリティグループを作成する

基本的な詳細

  • セキュリティグループ名: ec2-sg
  • 説明: ec2-sg
  • VPC: 上記ステップ2で作られたVPCを選択する

image.png

  • インバウンドルール
タイプ プロトコル ポート範囲 ソース 説明‐オプション
HTTPS TCP 443 Anywhere: 0.0.0.0/0 なし
カスタムUDP UDP 23333 Anywhere: 0.0.0.0/0 なし
カスタムTCP TCP 943 カスタム: 管理者のIP なし
  • アウトバウンドルール
タイプ プロトコル ポート範囲 ソース 説明‐オプション
すべてのトラフィック すべて すべて カスタム: 0.0.0.0/0 なし

image.png

ステップ4: EC2を作成する

  • EC2インスタンスを起動をクリックする

image.png

  • 名前とタグ: vpn-server
  • アプリケーションおよびOSイメージ: Amazon Linux 2

image.png
image.png

  • ネットワーク設定
    • VPC: 上記ステップ2で作られたVPCを選択する
    • Subnet: 任意のPublic Subnetを選択する
    • パブリックIPの自動割り当て: 有効化にする
    • セキュリティグループ: 既存のセキュリティグループを選択するをチェック→上記ステップ3で作られたVPCを選択する

image.png

  • キーペア(ログイン): デフォルト値のキーペアなしで続行を選択する
    ※ EC2のSSMFullAccessのセッションマネージャー機能を用いてログインするため、キー認証ではキーペアなしで続行を選択する

image.png

  • 高度なネットワーク設定
    ※ 下記の図のようにデフォルト値のままにする

image.png

  • ストレージを設定
    ※ 下記の図のようにデフォルト値のままにする
  • 高度な詳細
    • IAMインスタンスプロフィール: 上記ステップ1で作られたIAMロールを選択する
      ※ 他の設定は下記の図のようにデフォルト値のままにする

image.png

image.png
image.png
image.png

  • EC2インスタンスが作成されたことを確認することができた

image.png

  • セッションマネージャーを使ってインスタンスに接続する

image.png

ステップ5: EC2上にOpenVPNをインストールする

  • Rootユーザに切り替える

image.png

  • openvpn-asをダウンロードする。下記のコマンドを実行する
yum -y install https://as-repository.openvpn.net/as-repo-amzn2.rpm

image.png

  • openvpn-asをインストールする。下記のコマンドを実行する
yum -y install openvpn-as

image.png

  • 下記のような実行結果が出力されたことを確認する
++++++++++++++++++++++++++++++++++++++++++++++
Access Server 2.12.1 has been successfully installed in /usr/local/openvpn_as
Configuration log file has been written to /usr/local/openvpn_as/init.log


Access Server Web UIs are available here:
Admin  UI: https://10.0.14.122:943/admin


Client UI: https://10.0.14.122:943/
To login please use the "openvpn" account with "xxxxxx" password.
(password can be changed on Admin UI)
+++++++++++++++++++++++++++++++++++++++++++++++
  • 接続確認をするため、EC2のPubic IPを用いて、上記ログ内のPrivate IPに置換する。例:

image.png

  • 上記のリンクをアクセスし、ユーザー名とPWを入力の上、サインインしてください

image.png

  • ConfigurationNetwork Settingを開き、下記のように設定を変更する
    • Hostname or IP Address: EC2のパブリックIPを入力する
    • Number of UDP daemons: 1
    • UDP Port number: 23333
      ※その他の設定は変更なし

image.png
image.png

  • User ManagementUser Permissionsを開き、下記のようにユーザーを追加する
    ※Allow Auto-loginにチェックを入れる

OpenVPN-user creation.png

ステップ6: OpenVPNのクライアント側の接続を確認する

  • URLにEC2のPublic IPを入力の上、NEXTを押下する
    OpenVpn-connect.png

  • 以下のような画面が表示されれば、Acceptを押下する

image.png

  • UsernamePasswordに自分が設定したものを入力する
  • Import autologin profileにチェックを入れる
  • Importを押下する

OpenVpn-connect2.png

  • 下記の図のようにCONNECTEDが表示されれば、接続成功

OpenVPN-Connect3.png

10
7
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
10
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?