「ドキッ!トンネルだらけのVPN大会(メッシュ編)」 VyOSとSerfでフルメッシュVPN! @Yaggytter VyOS Users Meeting Japan #1 LT
「ドキッ!トンネルだらけのVPN大会(メッシュ編)」VyOSとSerfでフルメッシュVPN!@Yaggytter+ 某SIer古城戸さんVyOS Users Meeting Japan #1 LT
View Slide
さっそくですがこんな状況ハッシュタグ #vyosjp にてつぶやいたURLをみていただくと?!すでに、4つのVyOSが!フルメッシュってる?!ここにさらにひとつ追加!
さっそく追加してみます!
まえがきLTはじめてです!ひとつよろしくお願いいたします!緊張しております!あせあせしてやります。LTということで、、、
ベースSerfとはなに?オーケストレーションツール的なやつです。詳しくは、@zembutsuさんのスライドを見てみてくださいAWSとは?AmazonWebServicesです。クラウドコンピューティングです。詳しい使い方は、オフシャルサイトおよびclassmethodさん、suz-labさんのサイトを見てみてください。VyOSとは?ご存知の通りです!
自己紹介@Yaggytter現在・某SIerグループ会社で管理職もどき・弱冠39歳(来年40歳)得意な仕事・承認ボタンをひたすらクリック承認ボタンクリックの合間に技術的な仕事をしています(最近はAWSが多い・・・)自称プログラマ・C++が好きです。最近は、Cocos2d-xに挑戦!いにしえのプログラマなので、ちょっと調べて気に入ったのが無いと作っちゃおうとする悪い癖が・・・なので、今回はSerfに挑戦!
Vyattaこんな感じでやってますなう中RegionVyatta VyattaVyattaRegionVyatta VyattaVyatta VyattaRegionVyatta VyattaVyattaRegionVyatta VyattaVyatta VyattaOperatorsIntranet(Enterprise systems)Developersvirtual privategateway
経緯AWS上で、複数Regionを一つの固まりと見せるようにするためスター型風トポロジでVyattaにてVPNを構築し運用していてとっても便利でした。しかし!あたりまえですが、接続が集中しているVyattaが落ちると、そこから先の経路が全滅します。あたりまえですが!あたりまえですが!Failoverするようにしても、やっぱり全滅は痛い・・・そこで!やっぱ、フルメッシュでつないだ方がよくね?でも、、、トンネルの数!拠点増えた時めんどい?!あれ?こういう時にSerfって使うんじゃないの?ということで!今回は、「ドキッ!トンネルだらけのVPN大会(メッシュ編)」をお送りさせていただきます。
こんな感じで作りましたRegionVyOSRegionVyOSRegionVyOSRegionVyOSRegionVyOSWebServerSerf ClusterどっかにJOINしたら、みんなの情報集めてつないじゃう!LEAVEとかFAILしたら、そいつへの接続情報は抹消!QUERYでみんなの状況を集めてきて可視化するのも簡単!
いいことづくし?なにが利点か・どれか1つのGlobalIPを知っていればそれでOK!万事休す!なぜJOINするのか?そこにNODEがあるから。・あとはほとんど気にしなくてよい・全VPNルータを設定しなくてもよい・逆に、いつ切断してもOK※悪いことにはマスクがかかっています
必要な情報今回のフルメッシュVPNをつなぐのにあたってVPN接続時に最低限必要だった情報は以下。・PREKEY自分へのIPSec接続用のPreSharedKey・SERFKEYSerfのEncription用のKey・JOINIPSerfのメンバのどれか一つのIP
完成図うだうだ言っている間に出来ているか見てみましょう!出来ていなかったらご愛嬌・・・
今後今後の予定・同一セグメント内に2台以上いた場合は勝手に冗長構成にする⇒AWSのIAM RoleとRouteTableを使えばたぶんすぐできる・ROLEによる複数フルメッシュVPN群の作成⇒フルメッシュVPN群同士をつなぐのも!・同一セグメントも気にしないでつなぎたい⇒L2TPv3も組み合わせる?課題・セキュリティSerfのencryptionのみなので・・・VyOSのFirewallで対応?最初のjoin先は手動で開ける他はjoinメッセージを受けたら対象GlobalIPを開ける???う~ん。。。・品質本番環境への適用に向けて、もう少し安定するようにしたい雰囲気!
あとがき最近聞く、Infrastructure as Code って、いまいちピンとこない。Chef(しかもsolo)だ〜なんだ〜っていう事例を見ても、Infrastructure as Codeというか、OS設定、ミドルウェア設定、アプリケーションのデプロイを自動化しているイメージの例が多くて、あんまり「Infrastructure」 as Code な気がしない・・・もっと、低レイヤーを含めてコード化すればピンとくる気がする。。。・仮想マシン構成のコード化 ⇒ まあ、よくあるよね・コンテナ構成のコード化 ⇒ まあ、コンテナだからよくあるよね・ネットワーク構成のコード化⇒SDN/NFVをベースとして!逆にこのへんがピンとくる!
[email protected]:~$ sync[email protected]:~$ sync[email protected]:~$ sync[email protected]:~$ poweroffnowなんやかんやいいましたがVyOSっていいよね!つづきはWebで http://momiage.com/vyosserf逆にありがとうございました以上