【AWS】固定IP用のVPNを構築する-初心者向け

はい。久しぶり。いつぶりでしょ。
PVあがりそうなタグつけておきますね。
#在宅ワーク #リモートワーク #ワーケーション #コロナ対策 #出社自粛
#SSO #AWS #AWS VPN Client #VPC

最近いくつか固定IPなVPN構築の要望あって、自社のVPNおったてつつ手順をまとめておきますよ。
初心者向けっていくつか見たけど、全然初心者向けじゃなかったよ。CIDRなんて初心者わからへんやろ。
そして自社のシステムが一番イケてるのは内緒。一番最後にやる&何の制約もなくて自由度が一番高いから当たり前っちゃ当たり前なんだけど。
そのうちIdPはKeycloakに移行予定。

  • Oktaの設定とIAM IDプロバイダーの作成

めんどくなったのでこちらを参考に
https://dev.classmethod.jp/articles/clientvpn_saml_okta/

  • 証明書作成とインポート

gitコマンドがターミナルから使える前提。
以下のコマンドをさくっと実行しましょう。

```
git clone https://github.com/OpenVPN/easy-rsa.git
cd easy-rsa/easyrsa3
./easyrsa init-pki
./easyrsa build-ca nopass
./easyrsa build-server-full vpn.static.ip.server nopass
```

https://ap-northeast-1.console.aws.amazon.com/acm/home?region=ap-northeast-1#/importwizard/
証明書本文: pki/issued/vpn.static.ip.server.crtの-----BEGIN CERTIFICATE-----から-----END CERTIFICATE-----まで
証明書のプライベートキー: pki/private/vpn.static.ip.server.key
証明書チェーン: pki/ca.crt
の内容をコピペしましょう。

  • Elastic IP取得

https://ap-northeast-1.console.aws.amazon.com/vpc/home?region=ap-northeast-1#Addresses:
ここから「Elastic IP アドレスの割り当て」
AmazonIPv4 アドレスプール」
「割り当て」
これでできたIPアドレスグローバルIPになります。

https://ap-northeast-1.console.aws.amazon.com/vpc/home?region=ap-northeast-1#wizardSelector:
ここから「パブリックとプライベートサブネットを持つ VPC」を作成
VPC名: 任意
アベイラビリティーゾーン: パブリック/プライベートで同じに
パブリック/プライベートサブネット名: 指定
Elastic IP 割り当て ID: さっき指定したやつを選択

  • クライアント VPN エンドポイントの作成

https://ap-northeast-1.console.aws.amazon.com/vpc/home?region=ap-northeast-1#CreateClientVpnEndpoint:
ここから
名前タグ: 任意
説明: 任意
クライアントIPv4 CIDR: 10.10.0.0/16
サーバー証明書 ARN: さっき作った証明書
認証オプション: ユーザーベースの認証を使用 - 統合認証
SAML プロバイダー ARN: さっき作ったやつ

  • 関連付けなどなど

作ったクライアント VPN エンドポイント - 関連付け: VPCは作ったVPC、サブネットはプライベートのほうを設定
作ったクライアント VPN エンドポイント - 承認
 アクセスを有効にする送信先ネットワーク: 0.0.0.0/0
 すべてのユーザーにアクセスを許可する
作ったクライアント VPN エンドポイント - ルートテーブル
 ルート送信先: 0.0.0.0/0
 ターゲット VPC サブネット ID: プライベートのほう

  • 設定ファイルのダウンロード

作ったクライアント VPN エンドポイントを選択して「クライアント設定のダウンロード」

  • 接続

AWS Client VPN Download | Amazon Web Services
ここからダウンロードしてインストール
開いたらファイル - プロファイルを管理 - プロファイルを追加でさっき作ったファイルを指定
で、接続

いじょ。