AWS Elasticsearch Service を IAM ロールで認証する
Elasticsearch Service を使おうと思ったら、VPCでセキュリティグループに入れるのができないみたいで。無制限かIPで制限がIAMロールか... HTTPのAPIなのでどうやらS3やDynamoDBみたいに使うものってことらしいですね。
Signing an Amazon Elasticsearch Service Search Request — AWS SDK for PHP documentation
AWS SDKのこれを使えというやつはPSR-7のRequestインターフェースを想定しているので、本当にIAMの認証が通るか試してみました。
Credentialsがハードコードなのはダメって言われてるので、じっさいはdotenvとか使いましょう。
それにしても、もっとこう生curlとか古いGuzzleとかの勝手なやつでもいける形にはならなかったのかな、って、SignatureV4::signRequest()
の中見たら、おおぅ、そりゃたしかに RequestInterface
みたいなやつじゃないとダメだわこれ、ってなりました。
世の中PSR-7以前はもうレガシー扱いか... Guzzle を 6 に上げると Codeception が 2.1 じゃないとダメでいろいろ巻き添え。最新を追い続けられるようメンテしてないプロジェクトだと、こういう新しいサービスをぱっと使うのがホント難しいですね。