mixiユーザー(id:2416887)

2023年02月18日06:52

115 view

AWSのVPCを覚えました

実はAWSのEC2を開設した人が別の人だったので、
VPCのことを全く覚えない状態で、EC2設定しちゃったんですよ。
なので、先にセキュリティグループから覚えちゃって、色々苦労しました。

VPCというのはVirtial Private Cloud の事で、
要はルーターと同じことができます。

VPC→ルーター本体
サブネット→VLAN
ルートテーブル→デフォルトルートやスタティックルートをどこに飛ばすか?
インターネットゲートウェイ→インターネット回線

と置き換えて見るとイメージしやすいかも。
個人向けルーターだと、サブネットとルートテーブル概念が中々わかりにくいですね。
法人用ルーター弄っている人だと通じるかも。

こうしてみると、AWSって色々できますね。ようやく分かってきました。

さて、会社のVPNと繋ぐのに、Site-to-Siteを検討してたのですが、
こいつIPv6回線でトンネル作れないらしい。
出来るのは、IPv6 over IPv4、IPv4をトンネルにしてIPv6パケットを送るという時代に逆行した方法です。なんでこんなことを!?

というわけで、同じことを考えていた人はいるらしく、
EC2をVPNルーターにしてやろうという考えになりました。
strongswanというLinux向けVPNデーモンを使う。
BGPまだ設定したことなかったから、これはこれで安心。

さて、実際にIPv4とIPv6のpingですが、
VECTANT系IPv4は20ms、
Transix系IPv6は6msとなりました。
なんかNGN 同県通信並みのping値です。DirectConnectとかいらないのでは?

EC2は、今流行りのArm64インスタンスを使ってみましょう。
Windowsでなければ、Armは選択肢に入りますし、x86と比べると高速に動く可能性もあります。
初めてですが、物は試しです。

また、Ubuntu使いたがる人が多いですが、今回はAmazon Linux 2 Minimalで頑張ってみます。
まぁ、こいつも2025年までのサポートなので、ライフサイクルが怖いですね。

とりま組んでみましたが、
yumアップデート系で失敗したり、sudo yum install -y amazon-linux-extras がコケたりしています。
まぁこれ、VPCのルートテーブルで、IPv6を2409::/16のみ飛ばすようにしたからです。
2409::/16はNTT東日本のTransix系に振り分けられているグローバルアドレスです。
無用に繋げたくないって感じで設定したんですが、これ、IPv6インターネットアクセスもルーティングできなくて、アクセスできないよとエラー吐かれてました。
仕方なく、0::/0で全部ルーティング出来るようにします。

2409だけインターネットゲートウェイ使って、それ以外はEgress-Only インターネットゲートウェイ使えれば、無用なアクセス防げそうと思ったんですが、
IPv6ゲートウェイを2個割り振ることはできないらしいです。怒られました。

最後に、サブネットのACLを使ったアクセス制御ですが、
セキュリティグループと同じノリで書いたらアクセスできなくなりました。
何故かというと、セキュリティグループはステートフルですが、ACLはステートレスです。
ステートフルというのは、クライアントポート60000-サーバーポート443という普通のHTTPS通信があった場合、
アウトバウンドルールが通っていれば、ステートが保存されて、
インバウンドルールにポート60000の許可ルールを書いていなくとも、通信が成立します。
逆に、ステートレスは、インバウンドにもポート60000の許可ルールを書かなければ、通信が成立しません。
しかもクライアント側はポートが一定ではなく、49152番 - 65535番の間でランダムに割り振られていき、通信終了したら勝手に消えていきます。
なので、今回やった方法は、

TCPとUDPのみ0::/0を許可、ICMPは2409::/16のみ許可、他は拒否。

という設定。IPSecVPNを通す場合は、上記にESPパケットを通す設定にしないと成立しないので注意。
これ以上の設定は、セキュリティグループで制御します。
ACLで設定する理由は、セキュリティグループでヤバい設定したり、変なもんいきなり加えたりしても最低限のアタックで済ませられるところですね。
変なパケット防げる点はいいかもしれん。

strongswanの設定もできてませんが、ある意味VPCはある程度触れましたので、これで一旦クローズ。
VPN接続出来るかなぁ?
1 0

コメント

mixiユーザー

ログインしてコメントを確認・投稿する

<2023年02月>
   1234
567891011
12131415161718
19202122232425
262728