話題の記事

YAMAHA RTX830でお手軽VPN接続

2019.05.02

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

中山(順)です

かなり前のことですが、自宅用にRTX830を買っちゃいました。

ギガアクセスVPNルーター RTX830

自宅からのインターネットアクセスが安定したような気がします、なんとなく。

AWSとYAMAHA

AWSとYAMAHAで連想するのはVPN接続ですね。。。ですよね?

VPCとのVPN接続を設定する際、マネージメントコンソールからいくつかのベンダー向けにサンプルコンフィグをダウンロードすることができます。 YAMAHAのConfigはかなり以前から取得可能でした。定番の選択肢という印象です。

Example: Yamaha Device

設定手順

そんなYAMAHAの設定手順ですが、YAMAHAの公式サイトでも丁寧に手順が解説されており、ネットワークにそこまで詳しくなくても設定できるようになっています。

Amazon VPCとの接続

それでも、IPsecやBGPの設定などは慣れていない人にとっては敷居が高いと感じることもあったと思います。

それが1年半ほど前に、GUIアクセスキーやVPN ConnectionのIDなどを入力するだけで簡単に設定できるようになっています。

ヤマハ「RTX1210」、Amazon VPCとのVPN接続設定機能を追加

RYX830がアクセスキーを利用して必要なパラメーターをAWSから取得し、必要な設定を自動で実施してくれます。 今回購入したRTX830でもこの機能はサポートされております。

いい機会なので試してみました。

やってみた

大まかな手順は以下の通りです。

  • AWS上での設定
    • VPCの作成
    • VGWの作成
    • VGWをVPCにアタッチ
    • CGWの作成
    • VPN接続の作成
    • ポリシーの作成
    • アクセスキーの発行
  • RTX830上での設定
    • インターネット接続
    • RTXの設定

それではやっていきます。

AWS上での設定

めんどくさいのでCFnでサクッと作成します。

VPN接続のためにアクセスキーが必要なため、出力しておきます。 このIAM Userには"AmazonVPCReadOnlyAccess"の権限を付与しておきます。

AWS アクセスキー発行手順

アクセスキー、アクセスシークレットキー、VPN Connection IDは設定で利用するため出力しておきます。

AWSTemplateFormatVersion: "2010-09-09"
Description: YAMAHA RTX830 Test

Parameters: 
  CGWIpAddress: 
    Type: String
    AllowedPattern: (\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})
  VPCCidr:
    Type: String
    AllowedPattern: (\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})/(\d{1,2})
    Default: 10.0.0.0/16

Resources:
  VPC:
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: !Ref VPCCidr
  VPNGateway: 
    Type: AWS::EC2::VPNGateway
    Properties: 
      Type: ipsec.1
  VPNGatewayAttachment:
    Type: AWS::EC2::VPCGatewayAttachment
    Properties: 
      VpcId: !Ref VPC
      VpnGatewayId: !Ref VPNGateway
  CustomerGateway: 
    Type: AWS::EC2::CustomerGateway
    Properties: 
      Type: ipsec.1
      BgpAsn: 65000
      IpAddress: !Ref CGWIpAddress
  VPNConnection: 
    Type: AWS::EC2::VPNConnection
    Properties: 
      Type: ipsec.1
      CustomerGatewayId: 
        !Ref CustomerGateway
      VpnGatewayId: 
        !Ref VPNGateway
  User:
    Type: AWS::IAM::User
    Properties:
      ManagedPolicyArns: 
        - arn:aws:iam::aws:policy/AmazonVPCReadOnlyAccess
  AccessKey:
    Type: AWS::IAM::AccessKey
    Properties:
      UserName: !Ref User
  
Outputs:
  AccessKey:
    Description: IAM User Access Key
    Value: !Ref AccessKey
  AccessSecretKey:
    Description: IAM User Access Secret Key
    Value: !GetAtt AccessKey.SecretAccessKey
  VPNConnectonID:
    Description: VPN Connection ID
    Value: !Ref VPNConnection

RTX830上での設定

次に、RTX830の設定を行います。

前提として、インターネットへのアクセスは設定済みとします。また、固定のグローバルIPアドレスを設定してあります。 もちろん、我が家です。

RTX830にログインし、簡単設定を開きます。

VPN接続を作成します。

「次へ」をクリックします。

CloudFormationで作成したアクセスキー、アクセスシークレットキー、VPN接続のIDを入力します。

なお、CFnテンプレートの出力に必要なパラメーターが表示されるようにしています。

設定を確認します。

完了しました!簡単!

トンネルのステータスも問題ありませんでした。

まとめ

ということで、非常に簡単に設定できました!

作成したIAM Userの権限はもう少し絞れそうな気はしますが、とりあえずたったこれだけの手順で我が家とVPCをVPNでサイト間接続することができました。すばらっ!

現場からは以上です。