0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WEBアプリエンジニアがAWSに手を伸ばした時感じた5つの壁

Last updated at Posted at 2025-12-03

こんにちは。Kaneyasuです。
今回は私が過去にWEBアプリエンジニアからAWSエンジニアに転身した際に直面した5つの壁について紹介します。
実体験に基づいているため、当てはまらない方はいるかもしれませんが、キャリアの幅を広げたい方の参考になれば幸いです。

本記事の対象者

WEBアプリのビジネスロジックの実装経験はあるが、クラウド・インフラの経験が浅い方を対象としています。

壁の1 ポート番号

WEBアプリケーション開発において、ポート番号を意識することはあまり多くありません。
ローカル開発においては、とりあえず8080番や3000番を使うことが多いのもあります。
下手すると、重複させなければ何番でもよい、という認識の方もいるかもしれません。

本当は、HTTPは80番、HTTPSは443番、SSHは22番、PostgreSQLは5432番など、身近なサービス・ソフトウェアには標準的なポート番号が存在します。
AWSにおいては、セキュリティグループやネットワークACLでポート番号を指定して通信の許可・拒否を設定します。
特にセキュリティグループは、インバウンド・アウトバウンドのルールを設定する際にポート番号を指定するため、最低でも、よく使うサービス・ソフトウェアの標準的なポート番号は覚えておかないと、AWSでシステムを構築してもなぜ通信ができないのか理解できず、壁にぶつかります。

壁の2 CIDR

CIDRは、IPアドレスの範囲を表現するための方法です。
例えば、CIDRで10.193.0.0/16と表現された場合、IPアドレスは最大で65536個指定できます。
そして、これを10.193.10.0/24と10.193.20.0/24のように、分割することもできます。
これを理解していないと仮想ネットワークであるVPCやサブネットの設計ができず、AWSでシステムを構築する際に壁にぶつかります。

/16や/24の部分はサブネットマスクと呼ばれるものですが、このサブネットマスクの意味を理解するのが難しいです。
そらで計算できる必要はないと思うのですが、/16・/24・/32などよく出てくるパターンと、サブネットは数が増えた方がIPアドレスの範囲は狭くなる、ということを覚えておくとだいぶ楽になります。

壁の3 セキュリティグループとネットワークACL

セキュリティグループとネットワークACLは、どちらもAWSにおけるネットワークのセキュリティを担う重要な機能です。
が、2種類あるというのがわかりづらいところです。
これらは以下の違いがあることを意識しつつ、基本的にWEBアプリエンジニアが触れるのはセキュリティグループであることを理解しておくとよいと思います。

  • ネットワークACLの方が低レイヤー
  • ネットワークACLはDenyが可能、セキュリティグループはAllowのみ
  • ネットワークACLは送信元をCIDRで指定、セキュリティグループはCIDRに加えてセキュリティグループ自体も指定可能
  • セキュリティグループはステートフル、ネットワークACLはステートレス

壁の4 ステートフルとステートレス

ステートフルとステートレスは、セキュリティグループとネットワークACLの違いを理解する上で重要な概念です。
セキュリティグループはステートフルです。
インバウンド(受信)のルールで許可した通信に対しては、アウトバウンド(送信)のルールを設定しなくても、応答の通信が許可されます。
一方、ネットワークACLはステートレスです。
インバウンド(受信)のルールで許可した通信に対しても、別途アウトバウンド(送信)のルールで応答の通信を許可する必要があります。
この違いを理解していないと、セキュリティグループとネットワークACLの設定を誤ってしまい、通信が通らない原因がわからなくなり、壁にぶつかります。
AWS認定でも頻繁に出題される重要な概念です。

壁の5 URLとパスルーティング

URLのパスルーティングはWEBアプリケーション開発において基本的な概念ですが・・・、
チーム開発のメンバーとして開発をしている場合、実際のパスルーティングの設定はリーダークラスのエンジニアが行うことが多いため、やったことがない方も少なくありません。
URLとパスルーティングに対する理解が浅い場合、URLにおけるプロトコル・
ドメイン・パス・パスパラメータ・クエリパラメータの違いがわからなかったり、AWSにおいてはAPI GatewayやALBの設定が理解できなかったりします。
URLの構造に着目して日々の開発を行うことで、壁を乗り越えられます。


一旦、以上です。
今後、AWSを勉強されようと思う方のヒントになれば幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?