2019-11-23 09:01:09
たまもくも少し間をあけましたが、再開してトータル第6回を数えています。 やるからにはちゃんと成果を記録に残さねば、と思いまして、作業記録を残します。 今回は、来月のアドベントカレンダーのネタであるところの、「AWS LambdaでPHPでスクレイピングする環境を整える」件の調査を進めました。AWS Lambda に Serverless CLI をつかってデプロイする
インストールとかは、以下の手順。sudoとかは適宜つけてください。
$ pip install awscli aws-sam-cli
$ npm i -g serverless
まずはawsにログインします。アクセスキー、シークレットの入手は次の節でまとめます。
$ aws configure
AWS Access Key ID [None]: XXXXXXXXXXXXXXXX
AWS Secret Access Key [None]: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Default region name [None]: ap-northeast-1
Default output format [None]:
テンプレを使ってプロジェクトを作ります。
$ sls create -t aws-provided -p aws-php-selenium-docker
まずは、テンプレそのまんまをデプロイしてみます。
$ sls deploy
権限が足りないエラー発生、権限追加、を何度か繰り返して、ようやくデプロイできました。
呼び出してみます。
$ sls invoke -f hello
{
"body": {
"input": {},
"msg": "Wecome to serverless!"
}
}
JSONが返ってきました。
これ、だいぶ試行錯誤しました。正解かどうかも若干あやしいところ。ひとまず、やったことを残します。誰かツッコんでください。(切実)
IAMの画面です。
グループを作成します。
グループに適当に名前をつけます。
適当にポリシーをアタッチします。
確認画面で、作成ボタンで作成します。
次に、ユーザを作成します。
適当にユーザ名を作成します。
ユーザを先ほど作成したグループに加えます。
こうしてできたユーザの認証情報から、アクセスキーの生成を行います。
これ、awscli から全部できるんじゃね?と思って、調べてみたらできるっぽいです。
ルートアカウントのセキュリティ資格情報を開きます。
「アクセスキー (アクセスキー ID とシークレットアクセスキー)」から、新しいアクセスキーを作成します。
これを、aws configure
で入力してルートアカウント権限になります。あとは、コマンドをバシバシと打つ。
・・・はずなんですけど、今日は時間切れ。