この記事はOPA/Regoアドベントカレンダーの17日目です。 今回はOPAの機能をAWS Lambdaで実装する方法について紹介します。 AWS Lambda におけるOPA利用の戦略 AWS LambdaはFargateやGCP Cloud Runとは異なり、純粋に「関数」としての機能を提供しています。関数の呼び出しも各言語のSDKを経由する必要があり、既存のバイナリをそのまま利用するのは困難です。つまり GCP Cloud Run 、あるいは AWS ECS・Fargateのようにコンテナイメージやバイナリをそのまま使うことはできません。そのため、次の2つのどちらかの方針を検討する必要があります。 1) ランタイムを組み込んだLambda関数を自作する github.com/open-policy-agent/opa/rego パッケージを取り込んだGo言語ベースのLambda関数を
![OPAをAWS Lambdaへデプロイ](https://cdn-ak-scissors.b.st-hatena.com/image/square/a376002a540a4b206e0b222f91343f5bf44820dd/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--2rqiVxPT--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3AOPA%2525E3%252582%252592AWS%252520Lambda%2525E3%252581%2525B8%2525E3%252583%252587%2525E3%252583%252597%2525E3%252583%2525AD%2525E3%252582%2525A4%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_37%3AMasayoshi%252520MIZUTANI%252Cx_203%252Cy_121%2Fg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2dfUFlFOTV5Z3JPdmpiM0ttajdSZnE0eDNWc1ZTLTVBaWJJMV9IVlE9czI1MC1j%252Cr_max%252Cw_90%252Cx_87%252Cy_95%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png)