Transit Gatewayやってみた (Photocreate Advent Calendar 24日目)
Transit Gatewayやってみた (Photocreate Advent Calendar 24日目):
SREディレクター の @ntakaaki です。フォトクリエイトではAWS・社内両方のインフラを担当してるチームのリーダーをしています。
この記事は Photocreate Advent Calendar 2018 の 24日目 の記事です。
これまでVPC間のPeeringをごく限定的にはやっていたのですが、増えたときの管理が
面倒そうということで積極的には手を出してませんでした。
re:Invent2018でTransit Gatewayの発表があり、それが急遽東京リージョンでも使えるようになったので、触ってみました。
従来VPC間の接続はVPC Peeringをピアツーピアで張ることで確立していました。
ただ、接続する対象のVPCが増えてくるとこのピア接続がフルメッシュになってしまい、管理が大変になるという問題がありました。
re:Invent2018で発表されたTransit Gateway(以下TGW)はTransitの名の通り
VPCやVPN接続の中心に位置して、それぞれの接続の相互の接続を管理してくれます。
具体的には接続したいそれぞれのVPCのサブネットをTGWにアタッチし、各VPC内のルーティングテーブルを設定します。
するとアタッチされたVPC間の通信をTGW経由で行うことができます。
TGWには複数のVPCやVPNをアタッチできるので、ここのVPC・VPN間同士を接続する必要がなくなり、ネットワーク設計を簡素化することができます。
TGWはVPCの一機能という扱いのようです。
AWSのサービス一覧からVPCを選択し、左メニューの下段にTGWの項目があります。
メニューのTransit Gatewaysをクリックします。
Create Transit Gatewayをクリックします。
名前は適宜設定し、その他の設定はすべてデフォルトのままにしておきます。
Create Transit Gatewayをクリックして作成します。
完了するまでに数分かかります。
TGWと接続したいVPCやVPNの接続の設定をします。
疎通を取りたい各VPCで、Destinationに相手のVPCのアドレスを指定しTargetに先程設定したTGWを指定します。
事前にTransit Gateway AttachmentでVPCをアタッチしておくことで、TargetのプルダウンでTGWを選択できるようになります。
t
最終的に疎通を取りたいEC2などのリソースのSecurityGroupにアクセス元のIPを許可する設定をします。
今の所TGWにはアクセスを制限する機能などは無いので、疎通は通ったものの
HTTPしか許可したくないなどの個別の制御はSecurityGroupやNACLで対応することになります。
以上でごく単純なケースの設定はで来ました。
以降は接続したいVPC毎に上記の作業を繰り返していくことになります。
他のAWSアカウントのVPCをTGWにアタッチして通信することもできます。
事前にリソースアクセスマネージャでアカウント間の共有設定を済ませておく必要があります。
リソースアクセスマネージャの設定は長くなるので割愛しますが、下記の記事が参考になると思います。
[新サービス]でた!AWS Resource Access Manager(RAM)でクロスアカウントのリソース共有が可能に #reinvent
TransitGatewayの登場で複数VPC、VPNの接続の管理を簡素化することが期待できそうです。
今後AWSアカウントをサービスや環境別に分割することを考えているので、そうなると
必然的にVPCも複数できることになるため、リソースアクセスマネージャと合わせて活用していきたいサービスと考えてます。
フォトクリエイトではAWSなど、世の中で進化しているサービスを取り込みながら、ともにプロダクト・エンジニアとして進化していきたい方からの ご応募をお待ちしております。
SREディレクター の @ntakaaki です。フォトクリエイトではAWS・社内両方のインフラを担当してるチームのリーダーをしています。
この記事は Photocreate Advent Calendar 2018 の 24日目 の記事です。
はじめに
これまでVPC間のPeeringをごく限定的にはやっていたのですが、増えたときの管理が面倒そうということで積極的には手を出してませんでした。
re:Invent2018でTransit Gatewayの発表があり、それが急遽東京リージョンでも使えるようになったので、触ってみました。
Transit Gatewayとは
従来VPC間の接続はVPC Peeringをピアツーピアで張ることで確立していました。ただ、接続する対象のVPCが増えてくるとこのピア接続がフルメッシュになってしまい、管理が大変になるという問題がありました。
re:Invent2018で発表されたTransit Gateway(以下TGW)はTransitの名の通り
VPCやVPN接続の中心に位置して、それぞれの接続の相互の接続を管理してくれます。
具体的には接続したいそれぞれのVPCのサブネットをTGWにアタッチし、各VPC内のルーティングテーブルを設定します。
するとアタッチされたVPC間の通信をTGW経由で行うことができます。
TGWには複数のVPCやVPNをアタッチできるので、ここのVPC・VPN間同士を接続する必要がなくなり、ネットワーク設計を簡素化することができます。
基本的な設定
TGWはVPCの一機能という扱いのようです。AWSのサービス一覧からVPCを選択し、左メニューの下段にTGWの項目があります。
TGWの作成
メニューのTransit Gatewaysをクリックします。Create Transit Gatewayをクリックします。
名前は適宜設定し、その他の設定はすべてデフォルトのままにしておきます。
Create Transit Gatewayをクリックして作成します。
完了するまでに数分かかります。
Transit Gateway Attachmentsの作成
TGWと接続したいVPCやVPNの接続の設定をします。
ルートテーブルの設定
疎通を取りたい各VPCで、Destinationに相手のVPCのアドレスを指定しTargetに先程設定したTGWを指定します。事前にTransit Gateway AttachmentでVPCをアタッチしておくことで、TargetのプルダウンでTGWを選択できるようになります。
t
SecurityGroupの設定
最終的に疎通を取りたいEC2などのリソースのSecurityGroupにアクセス元のIPを許可する設定をします。今の所TGWにはアクセスを制限する機能などは無いので、疎通は通ったものの
HTTPしか許可したくないなどの個別の制御はSecurityGroupやNACLで対応することになります。
以上でごく単純なケースの設定はで来ました。
以降は接続したいVPC毎に上記の作業を繰り返していくことになります。
他のアカウントのVPCとも通信したい
他のAWSアカウントのVPCをTGWにアタッチして通信することもできます。事前にリソースアクセスマネージャでアカウント間の共有設定を済ませておく必要があります。
リソースアクセスマネージャの設定は長くなるので割愛しますが、下記の記事が参考になると思います。
[新サービス]でた!AWS Resource Access Manager(RAM)でクロスアカウントのリソース共有が可能に #reinvent
まとめ
TransitGatewayの登場で複数VPC、VPNの接続の管理を簡素化することが期待できそうです。今後AWSアカウントをサービスや環境別に分割することを考えているので、そうなると
必然的にVPCも複数できることになるため、リソースアクセスマネージャと合わせて活用していきたいサービスと考えてます。
フォトクリエイトではAWSなど、世の中で進化しているサービスを取り込みながら、ともにプロダクト・エンジニアとして進化していきたい方からの ご応募をお待ちしております。
コメント
コメントを投稿