AWS CLI を使用してクライアント VPN を設定するにはどうすればよいですか?

所要時間2分
0

AWS コマンドラインインターフェイス (AWS CLI) を使用して AWS クライアント VPN を設定したいと考えています。

解決策

**注:**AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI エラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。クライアント VPN サービスの API アクションは、最新の AWS CLI バージョンでのみ使用できます。

相互認証を使用してクライアント VPN を設定する

相互認証を使用してクライアント VPN をで設定するには、次の手順を実行します。

  1. サーバー証明書とクライアント証明書を生成し、証明書を AWS Certificate Manager (ACM) にアップロードします。
  2. サーバー証明書 ARN とクライアント証明書 ARN を書き留めます。
  3. 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 を設定するには、次の手順を実行します。

  1. ディレクトリ ID で、AWS Active Directory の ID を指定します。
  2. 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 を設定するには、次の手順を実行します。

  1. SAML プロバイダー ARN で、AWS Identity and Access Management (IAM) Security Assertion Markup Language (SAML) ID プロバイダーの ARN を指定します。
  2. 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=federated-authentication,FederatedAuthentication={SAMLProviderArn=arn:aws:iam::123456789012:saml-provider/MySAMLProvider} --connection-log-options Enabled=false
    **注:**SAMLProviderARN を、IAM 内の SAML プロバイダーリソースの ARN に置き換え、MySAMLProvider を SAML プロバイダーの名前に置き換えます。

サブネットをクライアント 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
AWS公式
AWS公式更新しました 8ヶ月前
コメントはありません

関連するコンテンツ