AWS CLI を使用してクライアント VPN を設定するにはどうすればよいですか?
AWS コマンドラインインターフェイス (AWS CLI) を使用して AWS クライアント VPN を設定したいと考えています。
解決策
**注:**AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI エラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。クライアント VPN サービスの API アクションは、最新の AWS CLI バージョンでのみ使用できます。
相互認証を使用してクライアント VPN を設定する
相互認証を使用してクライアント VPN をで設定するには、次の手順を実行します。
- サーバー証明書とクライアント証明書を生成し、証明書を AWS Certificate Manager (ACM) にアップロードします。
- サーバー証明書 ARN とクライアント証明書 ARN を書き留めます。
- Create-client-vpn-endpoint コマンドを実行します。たとえば、次のコマンドは、クライアントの CIDR ブロック 172.16.0.0/16 で相互認証を使用するエンドポイントを作成します。
$ aws --region us-east-1 ec2 create-client-vpn-endpoint --client-cidr-block 172.16.0.0/16 --server-certificate-arn arn:aws:acm:us-east-1:1234567890:certificate/abc1d23e-45fa-678b-9cd0-ef123a45b678 --authentication-options Type=certificate-authentication,MutualAuthentication={ClientRootCertificateChainArn=arn:aws:acm:us-east-1:1234567890:certificate/abc1d23e-45fa-678b-9cd0-ef123a45b678} --connection-log-options Enabled=false
注:
- クライアント IPv4 CIDR ブロックの場合は、CIDR 表記で IP アドレス範囲を指定し、クライアント IP アドレスを割り当てます。
- ClientRootCertificateChainArn は、クライアン証明書の ARN です。証明書は、認証局 (CA) によって署名され、ACM で証明書が生成されている必要があります。
- AWS Client VPN は AWS リージョン固有です。VPN のリージョンは証明書のリージョンと一致する必要があります。
ユーザーベース認証を使用してクライアント VPN を設定する
Active Directory 認証
Active Directory 認証を使用してクライアント VPN を設定するには、次の手順を実行します。
- ディレクトリ ID で、AWS Active Directory の ID を指定します。
- Create-client-vpn-endpoint コマンドを実行します。たとえば、次のコマンドは、クライアントの CIDR ブロック 172.16.0.0/16 で Active Directory ベースの認証を使用するエンドポイントを作成します。
$ aws --region us-east-1 ec2 create-client-vpn-endpoint --client-cidr-block 172.16.0.0/16 --server-certificate-arn arn:aws:acm:us-east-1:1234567890:certificate/abc1d23e-45fa-678b-9cd0-ef123a45b678 --authentication-options Type=directory-service-authentication,ActiveDirectory={DirectoryId=d-1234567890} --connection-log-options Enabled=false
注:
- DNS 解決のためにカスタム DNS サーバーを渡すには、—dns-servers オプションを使用します。クライアント VPN エンドポイントには、最大 2 つの DNS サーバーを設定できます。DNS サーバーが指定されていない場合は、ローカルデバイス上で設定された DNS アドレスが使用されます。
- VPN セッションのトランスポートプロトコルを設定するには、—transport-protocol オプションを使用します。
**フェデレーション認証 (SAML ベースのフェデレーション認証の場合) **
フェデレーション認証を使用してクライアント VPN を設定するには、次の手順を実行します。
- SAML プロバイダー ARN で、AWS Identity and Access Management (IAM) Security Assertion Markup Language (SAML) ID プロバイダーの ARN を指定します。
- Create-client-vpn-endpoint コマンドを実行します。たとえば、次のコマンドは、クライアントの CIDR ブロック 172.16.0.0/16 でフェデレーション認証を使用するエンドポイントを作成します。
**注:**SAMLProviderARN を、IAM 内の SAML プロバイダーリソースの ARN に置き換え、MySAMLProvider を SAML プロバイダーの名前に置き換えます。$ aws --region us-east-1 ec2 create-client-vpn-endpoint --client-cidr-block 172.16.0.0/16 --server-certificate-arn arn:aws:acm:us-east-1:1234567890:certificate/abc1d23e-45fa-678b-9cd0-ef123a45b678 --authentication-options Type=federated-authentication,FederatedAuthentication={SAMLProviderArn=arn:aws:iam::123456789012:saml-provider/MySAMLProvider} --connection-log-options Enabled=false
サブネットをクライアント VPN に関連付ける
associate-client-vpn-target-network コマンドを実行して、サブネットをクライアント VPN エンドポイントに関連付けます。
$ aws --region us-east-1 ec2 associate-client-vpn-target-network --client-vpn-endpoint-id cvpn-endpoint-0ab1cd234ef567ab890 --subnet-id subnet-0123456789abc123
このアクションにより、クライアント VPN の状態が Available に変更されます。仮想プライベートクラウド (VPC) のローカルルートは、クライアント VPN エンドポイントルートテーブルに自動的に追加されます。VPC のデフォルトセキュリティグループが、サブネットの関連付けに自動的に適用されます。サブネットを関連付けた後、セキュリティグループを変更できます。
クライアントにターゲット VPC へのアクセス権を付与する承認ルールを追加する
承認ルールを追加するには、使用する認証に対して authorize-client-vpn-ingress コマンドを実行します。
相互認証
$ aws --region us-east-1 ec2 authorize-client-vpn-ingress --client-vpn-endpoint-id cvpn-endpoint-0ab1cd234ef567ab890 --target-network-cidr 10.0.0.0/16 --authorize-all-groups
Active Directory 認証
$ aws --region us-east-1 ec2 authorize-client-vpn-ingress --client-vpn-endpoint-id cvpn-endpoint-0ab1cd234ef567ab890 --target-network-cidr 10.0.0.0/16 --access-group-id S-1-2-34-1234567890-1234567890-1234567890-1234
フェデレーション認証 (SAML 2.0)
$ aws --region us-east-1 ec2 authorize-client-vpn-ingress --client-vpn-endpoint-id cvpn-endpoint-0ab1cd234ef567ab890 --target-network-cidr 10.0.0.0/16 --access-group-id MyAccessGroup
**注:**MyAccessGroup をプロバイダーグループのアクセスグループ ID に置き換えます。
(オプション)create-client-vpn-route コマンドを実行して、クライアント VPN エンドポイントの送信先ネットワークへのルートをさらに追加する
$ aws --region us-east-1 ec2 create-client-vpn-route --client-vpn-endpoint-id cvpn-endpoint-0ab1cd234ef567ab890 --destination-cidr-block 0.0.0.0/0 --target-vpc-subnet-id subnet-0123456789abcabca
クライアント VPN エンドポイント設定ファイルをエクスポートする
クライアント VPN エンドポイント設定ファイルをエクスポートします。このファイルを使用してクライアントに配布します。
**注:**相互認証を使用してクライアント VPN を設定した場合は、export-client-vpn-client-configuration コマンドを実行して、クライアント証明書とクライアント キーを設定ファイルに追加します。
$ aws --region us-east-1 ec2 export-client-vpn-client-configuration --client-vpn-endpoint-id cvpn-endpoint-0ab1cd234ef567ab890 --output text > client-config.ovpn
関連するコンテンツ
- 質問済み 5ヶ月前lg...
- 質問済み 2年前lg...
- 質問済み 3ヶ月前lg...
- AWS公式更新しました 1年前
- AWS公式更新しました 1年前
- AWS公式更新しました 2年前