概要

OpenAPIとAWS CDKを用いてREST APIを作成する機会がありましたので、その備忘録です。以下の記事がとても参考になりました。

今回作成したものは以下のリポジトリで公開しています。

Opensearchとの接続

以下のLambdaで実装しています。

Lambdaに環境変数を渡す必要があり、lib以下のtsファイルで以下のように記述しました。

...
const searchFn = new NodejsFunction(this, "search", {
      entry: path.join(__dirname, "../lambda/search.ts"),
      runtime: Runtime.NODEJS_18_X,
      handler: "handler",
      environment: {
        ELASTIC_HOST: process.env.ELASTIC_HOST || "",
        ELASTIC_USERNAME: process.env.ELASTIC_USERNAME || "",
        ELASTIC_PASSWORD: process.env.ELASTIC_PASSWORD || "",
        ELASTIC_INDEX_NAME: process.env.ELASTIC_INDEX_NAME || "",
      },
    });
...

カスタムドメイン

以下のファイルを参考にしてください。間違いなどがあるかもしれませんが、カスタムドメインの登録からAPI Gatewayへの設定も行ってみました。

まとめ

色々と中途半端なリポジトリではありますが、参考になる部分があれば幸いです。