
[!CAUTION] このリポジトリはメンテナンスされなくなりました。今後のアップデート、バグ修正、サポートは提供されません。 新しいバージョン https://github.com/ttlequals0/autowire を使用してください。
任意のAWSリージョンでOpenVPNエンドポイントを簡単に作成できるスクリプトです。VPNエンドポイントの作成は単一のコマンドで行われ、約3分で完了します。適切なセキュリティグループを作成し、タグ付けされたEC2インスタンスを起動してOpenVPNソフトウェアを構成します。インスタンスが構成されると、OpenVPN設定ファイルがダウンロードされ、すぐに使用できる状態になります。また、どのリージョンでどのインスタンスが実行されているかを確認し、不要になったインスタンスを終了する機能もあります。さらに、インスタンスタイプの指定、SSHキーペアの生成、カスタムAMIの指定、ログインユーザーの変更などの機能も含まれており、今後さらに追加される予定です。
ユースケース
mkvirtualenv -p python3 env/
source env/bin/activate
依存関係をインストールするには、pip install -r requirements.txt を実行します。
AWSの.credentialsファイルがあることを確認するには、次を実行します:
vi ~/.aws/credentials
次に、以下のように入力し、キーを追加します(括弧は削除してください):
[default]
aws_access_key_id = (ここにアクセスキー)
aws_secret_access_key = (ここにシークレットキー)
git clone https://github.com/ttlequals0/autovpn.git
./autovpn -G -r us-east-1
./autovpn -C -r us-east-1 -k us-east-1_vpnkey
sudo openvpn us-east-1_aws_vpn.ovpn
DESCRIPTION:
autovpn - オンデマンドAWS OpenVPNエンドポイントデプロイツール。
プロジェクト: https://github.com/ttlequals0/autovpn
USAGE:
ACTION [OPTIONS]
-C VPNエンドポイントを作成します。
-D リージョンからキーペアを削除します。
-G 新しいキーペアを生成します。
-S 指定されたリージョンのすべての実行中インスタンスを取得します。
-T OpenVPNエンドポイントを終了します。
-d カスタムDNSサーバーを指定します。(例 4.2.2.1)
-h このメッセージを表示します。
-i AWSインスタンスタイプ(オプション、デフォルトはt2.micro)
t2.nano t2.micro t2.small t2.medium t2.large.**
-k AWSキーペアの名前を指定します(必須)
-m 同じエンドポイントへの複数接続を許可します。
-r AWSリージョンを指定します(必須)
us-east-1 us-west-1 us-east-2 us-west-2 eu-west-1 eu-west-2
eu-west-3 eu-central-1 eu-north-1 ap-southeast-1 ap-northeast-1
ap-northeast-2 ap-northeast-3 ap-southeast-2 sa-east-1
ap-east-1 ca-central-1 me-south-1
-p カスタムOpenVPN UDPポートを指定します
-u カスタムSSHユーザーを指定します。***
-y 確認をスキップします
-z インスタンスIDを指定します。
EXAMPLES:
OpenVPNエンドポイントを作成:
autovpn -C -r us-east-1 -k us-east-1_vpnkey
リージョンでキーペアを生成:
autovpn -G -r us-east-1
実行中のインスタンスを取得:
autovpn -S -r us-east-1
OpenVPNエンドポイントを終了:
autovpn -T -r us-east-1 -z i-b933e00c
カスタムオプションを使用:
autovpn -C -r us-east-1 -k us-east-1_vpnkey -a ami-fce3c696 -u ec2_user -i m3.medium
NOTES:
* - インスタンスタイプを変更する場合は、カスタムAMIが必要になる場合があります。
** - 任意のインスタンスサイズを指定できますが、t2.microで十分です。
*** - カスタムAMIを使用する場合は、カスタムユーザーが必要になる場合があります。
**** - AWS IAMユーザーには、EC2または管理者権限が必要です。