windowsサーバーからpower shellを使ってLambdaを呼び出したい【AWS】

Lambdaのアイキャッチ

windows serverからLambdaを呼び出すまでの手順を紹介します。

・windowsサーバーからLambdaを呼び出したい人

IAMロールの作成

まずはwindowsサーバーにアタッチするIAMを用意します。

IAMポリシーの作成

IAMダッシュボード>ポリシー作成画面の「アクセス許可を設定」で下記をコピペしてください。
名前や説明はアカウントID入力は適宜お願いします。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "lambda:InvokeFunction",
                "lambda:GetFunction",
                "lambda:ListFunctions"
            ],
            "Resource": "arn:aws:lambda:ap-northeast-1:<ACCOUNT_ID>:function:*"
        }
    ]
}

IAMロールの作成

ロールは信頼関係のPrincipalに「”ec2.amazonaws.com”」とついているものであればなんでもOKです。
今回は1から作ります。

IAMダッシュボード>ロールよりロールの作成画面で、下記内容に沿って設定します。

許可を追加」で先ほど作成したポリシーを選択
ロール名は任意でつけてください。

作成されました。

ロールをアタッチ

EC2ダッシュボードからEC2一覧画面へ移動します。
対象のEC2にチェックを入れアクション>セキュリティ>IAMロールを変更をクリック

先ほど作成したIAMロールを選択します。

確認

EC2から適当にLambdaを呼び出してみます。

 aws lambda invoke --function-name HelloWorld output.json

無事できました。
以上です。誰かの参考になれば幸いです。