2K Views
October 08, 23
スライド概要
AWS Likers #AWS10分LT会 - vol.1
仕事:AWS運用保守&PM的なことをしています。 2023-24 Japan AWS All Certifications Engineers.
AWS LIKERS #AWS10分LT会 - VOL.1 AWS Public IPv4 有料化についてまとめてみる 2023.10.9 佐藤 竜也
自己紹介 # 名前 ・佐藤 竜也(ますの) @masno_soy # 業務内容 ・某CIer所属 ・AWS基盤 運用・保守 / PM(仮) # 資格 ・2023 Japan AWS All Certifications Engineers # 深掘りしたいAWSサービス ・CloudWatch
皆さん Public IPv4 アドレス 使ってますか?
AWSから「2024.2.1 よりパブリックIPv4有料化」の告知 引用:https://aws.amazon.com/jp/blogs/news/new-aws-public-ipv4-address-charge-public-ip-insights/
そもそもIPv4は既に枯渇、工夫で乗り越えている状況 引用:https://www.nic.ad.jp/ja/ip/ipv4pool/
ユーザが自由に IPv4を利用可能な AWSサービスに感謝
まずは何が変わるのか確認 引用:https://aws.amazon.com/jp/blogs/news/new-aws-public-ipv4-address-charge-public-ip-insights/ ※BYOIPは課金対象とならないので考慮不要
何が変わるのか確認(咀嚼) 種類 変更前 料金/ 時間(USD) 変更後 料金/ 時間(USD) 説明 1.サービス管理の パブリックIPアドレス 無料 $0.005 AWSが提供していたパブリックIP全般が課金対象に変更 ・ELB ・ECS、EKS ・NATゲートウェイ ・Global Accelerator etc... 2.EC2のパブリックIPアドレス 無料 $0.005 パブリックIP自動割り当てで付与される可変のIPアドレスが 課金対象に変更 3.EIPアドレス (EC2アタッチ&稼働中) 無料 $0.005 EC2へアタッチしていたEIPが課金対象に変更 $0.005 $0.005 変更なし 4.EIPアドレス (EC2セカンダリ、未使用時など)
パブリックIP1つに対して $ 3.6 /月 課金されることになる ※AWS利用最初の12ヶ月間月間 750 時間利用可能(予定)
IPv4有料化以降のコスト比較 EC2にパブリックIPv4付与 EC2稼働台数で金額が変動 $3.6 * 10台 = $36 25台 = $90 50台 = $180 引用:https://aws.amazon.com/jp/blogs/news/new-aws-public-ipv4-address-charge-public-ip-insights/
IPv4有料化以降のコスト比較 NATゲートウェイ採用 ALB採用 EC2:プライベートIPv4のみ $95.4 + 通信量 / 月 NATゲートウェイ $32.4 * 2台 = $64.8 $3.6 * 2IP = $7.2 (+通信量 $0.045/GB) ELB $16.2 * 1台 = $16.2 $3.6 * 2IP = $7.2 (+$0.008/LCU 時間) 引用:https://aws.amazon.com/jp/blogs/news/new-aws-public-ipv4-address-charge-public-ip-insights/
IPv4有料化以降のコスト比較 EC2:25台以上にEIPを付与している場合は構成変更したほ うがコスト削減につながる可能性がある ※NATGateway / ELBの通信量次第 台数が少ない場合はコスト増加を受け入れる選択もアリ 新規環境を作成する場合はパブリックアクセスの設計を考え ることが必要になる
パブリックIPv4を使っていた個人的な理由 雑に使って安価に検証しやすかった NATゲートウェイ不要(コスト安) 深く考えずにEC2からインターネットアクセス可能 SSMエージェント用のVPCエンドポイント不要(コスト安) SSH / RDPもターミナルソフトで接続可能 S3バケットはゲートウェイ型エンドポイント利用可能 ベストプラクティスではないけど 簡易検証でコスト&使い勝手良かった
IPv6を利用して同じく簡易検証が出来るのか 引用:https://aws.amazon.com/jp/blogs/news/new-aws-public-ipv4-address-charge-public-ip-insights/
結論:限定的な使い方なら可能 SSH / RDP接続はIPv6での利用可能 ターミナルソフトでIPv6グローバル接続 EC2 Instance Connect Endpoint経由でIPv4ローカル接続 EC2からインターネット接続は一部可能 接続先がIPv6に対応している場合に限定 SystemsManager通信は対策が必要 IPv6グローバル接続状態では利用出来なかった ECSタスクはIPv4を使用してターゲットグループ登録する挙動 が発生している模様
IPv6のSSH接続を クライアント端末から 試してみる
VPCの作成 IPv6 CIDRブロック:Amazon提供のIPv6 CIDRブロックに設定
VPCの作成 IPv6のCIDR作成を確認 ルートテーブル / ネットワークACLにもIPv6設定追加確認
EC2の作成 ネットワーク設定 > IPv6 IPを自動で割り当てる:有効化
EC2の作成 IPv6アドレスが付与されたことを確認
クライアント端末のIPv6設定を確認 ipconfigやテストサイトでチェック ※今回はこちらを利用:https://test-ipv6.com/index.html.ja_JP
セキュリティグループの設定 インバウンドルール > クライアント端末のIPv6 IPアドレスを設定 ※一時IPv6アドレスが有効の場合 定期的に変化するので注意
クライアント端末→EC2へSSH接続 ※Amazon Linux2023ではSSHのssh-rsa署名が無効 ※TeraTerm利用時はベータ版の「TeraTerm 5 beta 1」を利用する もしくは別のターミナルソフトを利用する必要がある。
無事にIPv6で接続完了 curlコマンド アクセス先がIPv6対応の場合は成功 未対応のサイトはアクセス不可
おまけ:IPv6でhttp接続も可能
パブリックIPv4無しでも 今まで通り接続出来るから 最低限はヨシ
EC2 Instance Connect Endpoint プライベートIPv4で 22/3389ポートへ接続可能 IPv6などの設定不要(IPv6未対応) AWSマネジメントコンソールから接続可能 pem不要 VPCエンドポイントの料金は発生しない セキュアに接続出来るため こだわりが無ければこちらの利用推奨
EC2 Instance Connect Endpoint 対象VPCに「EC2 インスタンス接続エンドポイント」を作る
EC2 Instance Connect Endpoint セキュリティグループを作成する ソース:自分自身のSGID ポート範囲:22、3389 このセキュリティグループが 設定されている同士は 接続可能な設定となる
EC2 Instance Connect Endpoint あとはVPCエンドポイントとEC2に作成したセキュリティグループを アタッチして、EC2の画面から接続するだけ
SSH / RDP接続はOK SystemsManager関連は IPv6で疎通出来てる?
SystemsManagerはIPv6経由の通信に未対応の様子
SystemsManagerはIPv6経由の通信に未対応の様子 IPv4のパブリック通信(NATゲートウェイ利用など)を経由 SSM用のVPCエンドポイントを別途作成してプライベートIPv4 で疎通させる SystemsManagerの機能を利用したい場合 パブリックIPv4利用の方が安価かも? ※既存の設計次第※
おまけ:ECSでのIPv6も課題あり? ターゲットグループでIPv6の設定をしているが、ECSはIPv4で登録してエラーになる。 (error The IP address '172.17.2.196' is not a valid IPv6 address) 引用:https://github.com/aws/containers-roadmap/issues/1340
おまけ:ECSでのIPv6も課題あり? zennの記事でも同様の事象について紹介を見つけたので参考までに...。 引用:https://zenn.dev/ekrecker/articles/a66b8ccc80c650
課金対象リソースの 確認方法
Public IP Insightsを利用する VPC > VPC IP Addres Manager > パブリックIPに関するインサイト から確認可能
Public IP Insightsを利用する サービスマネージドIPの特定も可能 Amazon Workspaces Database Migration Service Redshift RDS ロードバランサー (EC2) NAT ゲートウェイ (VPC) Site-to-Site VPN その他(現在特定できないその他のサービス) 引用:https://docs.aws.amazon.com/ja_jp/vpc/latest/ipam/view-public-ip-insights.html
まとめ(感想) 今まで通りの挙動を求める場合はコスト増を受け入れる必要 がある 設計見直し(NATゲートウェイなどの導入) パブリックIPv4の継続利用 SSH / RDP接続の目的ではIPv6で代用可能 AWSサービス内でもIPv6に未対応サービス多数あり 2024/2/1までにPublic IP Insightsを確認推奨 減らせるものが無いかは見ておくと幸せになれるかも
参考情報 -1●AWS におけるパブリック IPv4 アドレスの使用状況の特定と最適化 https://aws.amazon.com/jp/blogs/news/identify-and-optimize-public-ipv4-address-usage-on-aws/ ●新着情報 – パブリック IPv4 アドレスの利用に対する新しい料金体系を発表 / Amazon VPC IP Address Manager が Public IP Insights の 提供を開始 https://aws.amazon.com/jp/blogs/news/new-aws-public-ipv4-address-charge-public-ip-insights/ ●パブリック IP に関するインサイトを確認する https://docs.aws.amazon.com/ja_jp/vpc/latest/ipam/view-public-ip-insights.html ●IPv6 をサポートする AWS サービス https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/aws-ipv6-support.html ●APNICにおけるIPv4アドレス在庫枯渇のお知らせおよび枯渇後のJPNICにおけるアドレス管理ポリシーのご案内 https://www.nic.ad.jp/ja/topics/2011/20110415-01.html
参考情報 -2●[ECS] : ECS Support for IPv6 #1340 https://github.com/aws/containers-roadmap/issues/1340 ●AWS ECS の IPv6 対応がムズカシイ https://zenn.dev/ekrecker/articles/a66b8ccc80c650 ●EC2 Instance Connect エンドポイント登場!踏み台サーバー不要でパブリックIPのないEC2にSSH・RDPできるようになりました https://dev.classmethod.jp/articles/ec2-instance-connect-endpoint-private-access/ ●あなたの IPv6 接続性をテストしましょう。 https://test-ipv6.com/index.html.ja_JP