はじめに
AWSではパブリックIPv4アドレスは有料になりました。2024-11-09現在、$0.005/hです。世界的にIPv4が枯渇しているそうで、調達のための費用を利用者負担にしたようです
アカウント作成から12ヶ月間有効な無料利用枠では、EC2インスタンスのパブリックIPv4アドレスは750h(≒24h x 31日。つまり一ヶ月分)無料で使えます。EC2インスタンスのみです。ELBにパブリックIPv4アドレスを振る場合は課金対象になります。
この記事はELBにパブリックIPv6アドレスを振ることにより、AWS無料利用枠でスケーラブルウェブサイト構築 ハンズオン を たぶん 無料でハンズオンできる内容をお届けします。
https://catalog.us-east-1.prod.workshops.aws/workshops/47782ec0-8e8c-41e8-b873-9da91e822b36/ja-JP
より抜粋
手順は大きく5ステップあります。「5. WordPress の初期設定」に相当する手順まで、ELBにパブリックIPv6アドレスを振ることにより、AWS無料利用枠の方は、たぶん 無料でハンズオンできます。繰り返しますが たぶん、できる! です。
対象読者
対象読者は次の方を想定しています。
- 冒頭の絵をみて「あー、なるほどね」と自力で構築ができる方
- 具体的にはVPC、EC2、ELB、RDSのリソースを作成します
- たぶんできる! の深意を理解している方
- この記事を参照してハンズオンを実施し課金された場合に、「嘘つき! 嘘つき! Fake! Fake!(笑) 弁償しろ! こらあ!」とは怒りださない方
- 人間は間違いを犯すものだと理解していて、やさしく編集リクエストで課金されたポイントを加筆し正しい情報を反映することで、私のため、読者のため、AIモデルの学習のために貢献するという気概を持ち、それがめぐりめぐってアントニオ猪木さんが言われた「本当の世界平和」の実現へつながる道だと信じている方
免責事項
免責事項です。
決して「面積事項」ではありません。
- 2024-11-09現在の情報ですので、今後AWSで料金の改定がされた場合に反映できていない場合があります
- AWS無料利用枠でスケーラブルウェブサイト構築 ハンズオン のすべてのハンズオンを実施したわけではありませんし、手順も記事の通りになぞったわけではありませんのでどこかで課金が発生する場合があり得ます
どのくらいこの記事が正しいのか
前置きが長くなりました。
こう言い訳が多いと、読者の方が不安になるでしょうから、どのくらい私が確かめたのかを記しておきます。
12h程度、AWS無料利用枠で構築したWordPress環境を稼働させました。
リージョンはオレゴンを使用しました。
課金はされませんでした。
ハンズオン
ELBにパブリックIPv6アドレスを振るようにハンズオンを進めていきます。
すべての詳細な手順は示しません。
ポイントのみを記します。必要に応じてリンク先のAWSドキュメントを参照してください。
1. Amazon VPC の作成
「IPv6 CIDR ブロック」の設定で、「Amazon 提供のIPv6 CIDRブロック」を選択してVPCを作成します。
2. Amazon EC2 の作成
EC2インスタンスを作っていきます。
Amazon Linux 2023で作ります。
-
パブリック IP の自動割り当て をONにします
- ここでの「パブリック IP」とは、「パブリックIPv4アドレス」のことを指しています
- WordPressをセットアップする際に実行する
wget http://ja.wordpress.org/latest-ja.tar.gz
がIPv4での接続をしないとダウンロードができませんでした - EC2 インスタンスの「パブリックIPv4アドレス」は750h無料の対象です
- こういう事情がなければ、「パブリックIPv4アドレス」をセットする必要はありません
- IPv6 IP を自動で割り当てる をONにします
-
高度なネットワーク設定のIPv6 IPで、「プライマリIPv6 IPを割り当てる」 を「はい」にしておきます
- プライマリIPv6 IPを割り当てておかないと、ターゲットグループをIPv6タイプで作った場合の設定でターゲットとして選べません
- セキュリティグループ
ec2-sg
は以下の設定です- インバウンドルール
- HTTPタイプでソースを
elb
(後ほど作成)
- HTTPタイプでソースを
- アウトバウンドルール
- デフォルトのまま、すべてのトラフィックで送信先を
0.0.0.0/0
と::/0
にしておきます
- デフォルトのまま、すべてのトラフィックで送信先を
- インバウンドルール
もしEC2インスタンス作成のタイミングで上記の操作を忘れた場合には、「アクション > ネットワーキング > IP アドレスの管理」で設定ができます。
参考: AWS、自動的に割り当てられたパブリック IPv4 アドレスの動的な削除と追加をサポート
以前は、あとから変更できなかったのではないかと思います。2024/4/25付近にサポートされたようです。
また話は前後しますが、公式とは操作が異なる箇所を記しておきます。
- 私は「a. Systems Manager の有効化」を実施せずに進めました
3. Amazon RDS の作成
おおむね記事の通り進めます。
ストレージは gp2
を選びましょう。
詳しくは、 RDS 汎用 SSD ストレージの課金に要注意!【AWS 無料利用枠】 の通りです。
EC2とRDSはローカルのIPv4で接続していると推測されます。このように考えたのは、DB サブネットグループの作成のときにIPv4のCIDRブロックで区切りられたサブネットを指定する操作だからです。
4. ELB の作成
いよいよこの記事の本丸です。
ELBにパブリックIPv6アドレスを振ります。
- ターゲットグループのIP アドレスタイプを「IPv6」にします。
- ※ ここは「IPv4」でも行けます。その場合は
ec2-sg
のソースに10.0.0.0/24
と10.0.1.0/24
からのHTTPタイプを通すようにしておいてください。これらのCIDRブロックはELBが配置されるパブリックサブネットです。
- ※ ここは「IPv4」でも行けます。その場合は
- 「ロードバランサーの IP アドレスタイプ」は、「パブリック IPv4 のない Dualstack」 を選びます
※ 「パブリック IPv4 のない Dualstack」は、「パブリック IPv6 アドレスとプライベートの IPv4 アドレスと IPv6 アドレスが含まれる」ロードバランサーとのことです。
5. WordPress の初期設定
記事の通りに進めます。
ここまできてアレですが、ELBにはパブリックIPv6アドレスしか振られていないのでIPv6に対応しているネットワークにローカルPCが接続している必要があります。
「Public IPv4 アドレスの削除」参考に、パブリックIPv4アドレスを解放しておくと、人類の共有財産(パブリックIPv4アドレス)を融通しあうことになり、争いの種が一つ減るので、めぐりめぐって世界平和につながるのかもしれません。
余談ですがローカルPCの出口のIPの調べ方です。
IPv4
curl globalip.me
IPv6
curl -6 ifconfig.co
さいごに
AWS無料利用枠でスケーラブルウェブサイト構築 ハンズオンをELBにパブリックにはIPv6アドレスだけを割り当てて無料でやりきる方法を示しました。 たぶんできます!
世界の技術者よ、今こそ闘魂を燃やし、限界を越えて無料の力を最大限に引き出しましょう。このハンズオンを通じて、スケーラブルなウェブサイトを構築する技術と、予期せぬ課金のリスクを回避する知恵を手に入れてください。
限界への挑戦こそが、技術者の進むべき道です。
世界平和につながる「闘魂」とともに、AWSの深淵を覗き、システムの構築に一歩ずつ進みましょう。このチャレンジが、ただのテクニックで終わらず、あなた自身の成長、そしてエンジニアリングを通じた未来への貢献に繋がることを願っています。限界を決めるのは他人ではなく、あなた自身の闘魂です。あなたの努力が、やがて新たな可能性の扉を開くでしょう。
AWS無料利用枠での挑戦は、学びの場であり、無駄な課金を避ける方法を学ぶ知恵でもある