

### 質問

以下の設定でAWS APIGatewayを構築しています。特定パスのみ{proxy+}を通らないようにすることは可能でしょうか？

### 現状出来ていること

以下の設定を行いAPI Gatewayに対しCognito認証有りのリクエストのみ通している  
ポイントとしては、/{proxy+} とすることで、リクエストパス、リクエストパラメータをパススルーしている

  * AWS API GatewayのHTTP APIを構築 
    * Routes /{proxy+} として、GETとPOSTメソッドに対し認可設定を付与
  * 補足｜エンドポイントはカスタムドメインを使用

### 行いたいこと

エンドポイントは変えずに、特定パス名は認可無しで通るようにすることは可能か？

### 行ったこと

上記のルート（/{proxy+})と並列に、バックエンドに実装済みである、特定パス名のGETメソッド・ルート（/sayhello)を作成し、このAPIパスでコールしたが、以下のエラーが返却されてしまう。

[code]

    {
        "message": "Unauthorized"
    }
    
[/code]

### エラー理由予想

恐らくsayhelloをフロントエンドからコールしても{proxy+}のルートへルーティングされてしまうため認証エラーになっているのではないか？  
特定パスを既存{proxy+}から外す方法はないでしょうか？


CC BY-SA 4.0
2023-11-22T02:57:37.107
96875
2023-11-22T12:03:44.040
2023-11-22T06:23:29.317
3060
60498
question
aws proxy aws-api-gateway
AWS API Gateway(HTTP API)ルートパス別にオーサライザ有無を作りたい


解決しました。 同じところでハマっている人がいればと思い共有です。

＝＝

  1. 認証をかけたくないRouteパスを設定
  2. 1.で作成したパスに対して統合をアタッチする際に既存のものを使用せず新しい統合を作成する。

今回、上記２のところで、{proxy+}で使用している既存の統合設定をアタッチしていたのですが、もしや？と思い、ここを新しいものを新規作成したところうまくいきました。

ちなみに、この新統合内で指定するALB（今回は内部ALBを使っている）は、 既存の統合設定で使用しているものと同じでOKでした。

つまり統合設定として「別の新しい設定」をアタッチすることで可能な模様です


CC BY-SA 4.0
2023-11-22T12:03:44.040
96892
2023-11-22T12:03:44.040
60498
96875
answer