このブログからパブリックIPv4 IPアドレスをなくしてコスト最適化
2024年2月より使用中のパブリックIPv4アドレスに1時間あたり0.005USDが請求されるようになりました。
パブリックIPv4をどこまでなくせるかもコスト最適化につながります。
AWSの各サービスもIPv6に対応しつつありますし、プライベートEC2 Instance ConnectやCloudFrontのVPCオリジンなどの機能も揃いつつあるので、このブログのパブリックIPv4をなるべくなくしてみます。
目次
現在の構成とパブリックIPv4の必要性
現在のこのブログの構成です。
使用しているパブリックIPv4アドレスは最低4つで、最低2つがApplication Load Balancer、最低2つがEC2インスタンスで使用されています。
最低2つと書いているのは、リクエスト量によって増える可能性があるためです。
だいたい4つのパブリックIPv4アドレスで月額15USD弱かかってます。
これを削減してみます。
Application Load Balancerの方針
Application Load BalancerはCloudFrontのVPCオリジンを使ってプライベートサブネットでパブリックIPv4なしで再構築します。
EC2インスタンスの方針
現在EC2インスタンスがパブリックサブネットにあってパブリックIPv4アドレスを設定している理由を書き出してみます。
S3への画像アップロードはすでにS3 VPCゲートウェイエンドポイントを使用しています。
* CloudWatch Logsへのログ書き込み
* CloudWatchカスタムメトリクスの送信
* Systems Managerセッションマネージャー使用
* WordPressとプラグイン更新時にwordpress.orgへのアクセス
このうち2025年1月現在でIPv6に対応しているのはCloudWatch Logsのみですので、カスタムメトリクスとセッションマネージャーは代替を考えなければいけません。
カスタムメトリクスはメモリ使用量のみモニタリングしているので、メモリ使用量のモニタリングを一時的にやめることにします。
セッションマネージャーの代替にEC2インスタンスコネクトを使用することにします。
wordpress.orgへのアクセスは更新時のみですので、メンテナンス用のEC2インスタンスのみ一時的にパブリックサブネットで起動することにします。
EC2 Instance Connect エンドポイントの作成
EC2 Instance Connect エンドポイントの作成
セッションマネージャーの代替でEC2 Instance Connect エンドポイントを使用できるようにしました。
CloudWatch LogsをIPv6アドレスを使用して送信する
CloudWatch LogsをIPv6アドレスを使用して送信する
EC2インスタンスのパブリックIPv4アドレスを無効にするために、CloudWatch Logsへの送信をIPv6エンドポイントに変更しました。
VPCオリジンを使用してApplication Load Balancerを内部ロードバランサーにする
CloudFrontのVPCオリジンを使用してApplication Load Balancerをプライベートサブネットで起動する
VPCオリジンを使用して、内部ロードバランサーを構築して以前のパブリックサブネットのApplication Load Balancerから移行しました。
最終構成
以上で請求対象のパブリックIPv4をこのブログから削減できました。
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。


開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
S3バケットのデフォルト暗号化はデフォルトだったことを確認しました
S3バケットのデフォルト暗号化は名前のとおりだとデフォルトなので、暗号化を指定し …
-
-
Systems Manager パブリックパラメータCLIでAWSのサービス数を出力してみました(2020/5/26)
先日のAWSのサービス数を数えてみました(2020/5/23)を見られて、お師匠 …
-
-
Amazon EC2 Auto ScalingのVPCは変更できる
EC2 Auto ScalingのVPCは変更できたっけ??と思いまして試しまし …
-
-
S3バケットポリシーで特定のVPCエンドポイント以外からのリクエストを拒否しつつメンテナンスはしたい
特定のVPCで実行されているEC2のアプリケーションからのリクエストだけを許可し …
-
-
Active Directory認証でAWSマネジメントコンソールにSSO
こちらの2つのサイトを参考にすすめました。 Active Directory資産 …
-
-
Amazon Linux2のCloud9でPython CDKのモジュールインストール
AMIがCloud9AmazonLinux2-2021-02-02T16-48の …
-
-
AWSアカウントでルートユーザーが使用されたときにTeamsへ投稿する
Organizations組織内のアカウントのいずれかでルートユーザーが使用され …
-
-
php-fpm で Out of memoryが発生した際にメール通知する(AWS CloudWatch , Amazon SNS)
AWS CloudWatch LogsエージェントでAmazon EC2上のNg …
-
-
Systems Manager パッチマネージャでベースラインを作成して適用する
ベースラインの作成 Systems Managerのパッチマネージャーでパッチベ …
-
-
CloudFrontディストリビューションを別アカウントへ移動する
すでにCNAMEを設定しているCloudFrontディストリビューションを、別ア …