投稿

ラベル(Lambda)が付いた投稿を表示しています

AmazonSAMから既存SQSにメッセージ送信

イメージ
AmazonSAMから既存SQSにメッセージ送信 AmazonSAMから既存SQSにメッセージ送信 普通なら結構簡単です。 Amazon SQS作って Policies に SQSSendMessagePolicy を追加してやります。 Resources : HelloWorldFunction : Type : AWS : : Serverless : : Function # More info about Function Resource: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction Properties : CodeUri : hello - world/ Handler : app.lambdaHandler Runtime : nodejs18.x Architectures : - x86_64 Events : HelloWorld : Type : Api # More info about API Event Source: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#api Properties : Path : /hello Method : get Policies : - SQSSendMessagePolicy : QueueName : "MyQueueName" で、後は @aws-sdk/client-sqs をインストールして。 $ npm install @aws-sdk/client-sqs プログラムは以下のようにすればいいだけ。 impo...

AmazonSAMから既存RDS

AmazonSAMから既存RDS AmazonSAMから既存RDSに接続 AmazonSAMのLambdaから既に存在してる既存RDSに接続する。 一応接続できたのでメモ。 template.yaml 以下のように Policies と VpcConfig と SubnetIds を追加。 Resources : HelloWorldFunction : Type : AWS : : Serverless : : Function # More info about Function Resource: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction Properties : CodeUri : hello - world/ Handler : app.lambdaHandler Runtime : nodejs18.x Architectures : - x86_64 Events : HelloWorld : Type : Api # More info about API Event Source: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#api Properties : Path : /hello Method : get Policies : - AmazonRDSDataFullAccess # RDSアクセス権 VpcConfig : SecurityGroupIds : - sg - 0ec99999999999999 ...

Amazon SAMについて勉強中

イメージ
Amazon SAMについて勉強中 Amazon SAMについて 急遽勉強中。 Amazon SAMのSAMはServerless Application Modelの略です。 EC2とかElasticBeansTalkとか使わずにWebAPI作って動かしたりします。 中身はLambdaなんで API Gateway + Lambda でいけるじゃん?と思いましたが。 ローカルでLambdaの実行環境作ってくれるし、RDSとかS3とかの環境もCloudFormationで作ってくれたりします、後は検証環境・本番環境などを分けてデプロイする仕組みも提供してくれるので割と至れり尽くせりです。 実際の中身は、 CloudFormation API Gateway Lambda IAMのルール を混ぜたものって考えればいいのかな。 API Gateway・・・一応わかる。 Lambda・・・一回作ったことはある。 IAM・・・まぁ大丈夫だろう。 CloudFormation・・・わからない。 AWSにかな疎いところが暴露されちゃうわけですが。 最初に Amazon SAMを使う場合はAccess KeyとSecret Access Keyが必要です。 IAMでユーザー作って発行しましょう。 更に AWS CLI も必要です。インストールしときましょう。 アカウント複数持ってたら「 AWS CLIでユーザー切り替え 」で切り替えときましょう。 この後SAM CLIのサンプルHelloWorld作ったりしますが。 それをデプロイするにはIAMユーザーに以下のポリシーが必要なので追加しておきましょう。 AWSCloudFormationFullAccess IAMFullAccess AWSLambda_FullAccess AmazonAPIGatewayAdministrator AmazonS3FullAccess AmazonEC2ContainerRegistryFullAccess これはSAMをデプロイするユーザーに最低限必要なポリシーになります。 SAM CLIインストール Amazon SAM自体はコマンドラインインターフェースが提供されてて ...