初めてawsの記事を書くので、用語や概念を間違える可能性があります。
社内で開発したAPIを叩いてたまにこう思うのです、
社内のネットワークからアクセスできるAPIのエンドポイントとアクセスできないエンドポイントがある。この違いはなるだろう?
色々調べたら、これはawsのルーティングテーブルで外部からアクセス可能なsubnetを分けているからです。
例えばこの図のようにリージョンやAZとVPCを立てたとします。ピンクの枠はACL。
(画像はAWS Technical Essentialsコースより)
VPCを立てた時にVPC内部のsubnet同士が通信できることを想定されて、デフォルトにMain route tableが作られます。
Destination: 入ってくるIPアドレス(CIDR)
Target: そのアクセスをどこにルーティングさせるのか
インタネットからのアクセスはgatewayを通してVPCに回します。subnetのinboundでそのアクセスが通るかどうかを決める。
10.1.0.0/16からのアクセスをlocalにルーティングするから他のsubnetにもアクセスできます。
0.0.0.0/0からのアクセスを全てgatewayに回します。(subnetがgatewayを通してネットにアクセスできるようにするため)
開発環境と本番環境のアクセス制御
最初の問題に答えすると、
開発環境のAPIはVPCは社内IPのアクセスを許可し、適切なsubnetに回しました。
本番環境ではその規制が厳しく、同じVPC内のアクセスしか許されてないから社内のネットからでもアクセスできないです。