AWS re:Postを使用することにより、以下に同意したことになります 利用規約

タグ付けされた質問 AWS Lambda

コンテンツの言語: 日本語

並べ替え 最新

以下に記載されている質問と回答を閲覧したり、フィルタリングして並べ替えて結果を絞り込んだりできます。

  • 1
  • 12 件 / ページ
const Result = await ssm.sendCommand(~).promise(); 上記コマンドを実行するとResultにCommandId,DocumentName,InstanceIds,Status: 'Pending',StatusDetails: 'Pending'等が表示されます。 この後Statusを監視して終了次第情報を受け取りたいのですが、(sendCommandResult.status)等でログを見てみても「INFO undefined」と表示されてしまいます。 どのようにしてStatusを受け取ればよいでしょうか、どなたかご助力をお願いします 処理の後続をwhileで回してfulfilledが出たら処理を終わらせることを想定しています pending(保留): まだ非同期処理は終わっていない fulfilled(成功): 非同期処理が正常に終了した rejected(拒否): 非同期処理が失敗した
1
回答
0
投票
61
ビュー
質問済み 2ヶ月前
EC2インスタンス(Windows)にあるbatファイルを、Lambdaで、Systems Manager Run Commandを利用して実行させています。 CloudWatchログにバッチの戻り値(EXIT値)である「9」を出力させたいのですが、現状では、「START RequestId:」と、「END RequestId:」 しか出力されません。 どうコードを修正していけば、状況が改善されますでしょうか。 ご支援をいただけますと幸いに存じます、何卒宜しくお願い致します。 以下コード全文です。 ``` exit /b 9 ``` ``` 'use strict'; const AWS = require('aws-sdk') const ssm = new (require('aws-sdk/clients/ssm'))(); module.exports.handler = async event => { try { let params = { DocumentName: 'AWS-RunPowerShellScript', InstanceIds: ['対象のインスタンスID'], Parameters: { commands: ['chcp 65001; Start-Process -wait test_win.bat'], workingDirectory:['C:\\Users\\administrator\\temp'], }, // タイムアウト設定 TimeoutSeconds: 3600 // 1 hour } const sendCommandResult = await ssm.sendCommand(params).promise(); } catch(e){ console.log(e); } }; ``` 以上
1
回答
0
投票
76
ビュー
質問済み 2ヶ月前
AWSにてRunCommandの成否をLamdbaで受け取る方法はありますでしょうか。 記事を漁りましたが記述が見つからず、有識者の方おりましたらご教授頂ければ幸いです。
1
回答
0
投票
33
ビュー
質問済み 2ヶ月前
API Gateway と Lambda 等を利用したサービスの構築を計画しており、性能設計のため各種クォータの引き上げの上限を知りたいと思っています。 ドキュメント(https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/gettingstarted-limits.html)によると Lambdaの同時実行数のクォータのデフォルトは1,000で、最大数万まで引き上げ可能と記載されていますが、現実的にはどの程度まで引き上げが認められ得るのでしょうか。 また、API Gateway のスロットリングクォータについても同様に、デフォルトの 10,000 RPS(アカウントのリージョン単位)や 20 RPS(REST API/使用料プランのステージのメソッドレベル)から、最大で、どの程度まで引き上げが可能でしょうか。(https://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/limits.html) ご教示の程よろしくお願い致します。
1
回答
0
投票
33
ビュー
質問済み 2ヶ月前
EC2インスタンス(Linux)にあるshファイルを、Lambdaから EC2 Run Command で、実行させています。 現在実装しているコードは下記になります。 現状非同期呼出が行われており、shファイルの処理結果に関わらず、ClowdWatchに、正常終了のログが出力されています。 この処理を同期呼出に変更して、shファイルの処理結果を返してもらうコードにしたいです。 下記ドキュメントを参考しているのですが、非同期処理でしか現状実現出来ておりません。 どうコードを修正していけば、状況が改善されますでしょうか。 ご協力をお願いします。 同期呼び出し(AWS公式ドキュメント) https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/invocation-sync.html そのLambdaの実行…同期?非同期?(Qiita) https://qiita.com/is_ryo/items/009220083e179272cbda ``` 'use strict'; const AWS = require('aws-sdk') const ssm = new (require('aws-sdk/clients/ssm'))(); module.exports.handler = async event => { try { let params = { DocumentName: 'AWS-RunShellScript', InstanceIds: ['対象のインスタンスID'], Parameters: { commands: ['chcp 65001; sh test_Linux.sh'], workingDirectory:['/home/user/batch_execution'] }, TimeoutSeconds: 3600 // 1 hour } const sendCommandResult = await ssm.sendCommand(params).promise(); } catch(e){ console.log(e); } }; ```
1
回答
0
投票
80
ビュー
質問済み 2ヶ月前
特定のCloudWatchアラームがアラーム状態になったことを契機に発火するLambdaを実装したいと考えています。 下記の通り、EventBridgeのルールのイベントパターンを入力し、対象のアラームをアラーム状態に遷移させたのですが、ターゲットに設定したLambdaが実行しませんでした。 恐らく、"resouces" の指定の仕方に問題があると考えているのですが、参考情報が見つからず苦慮しています。 修正方法についてご回答いただけますと幸いです。 イベントパターン ``` { "source": ["aws.cloudwatch"], "detail-type": ["CloudWatch Alarm State Change"], "resources": ["arn:aws:cloudwatch:ap-northeast-1:<AWSアカウントID>:alarm:<アラーム名>"], "detail": { "state": { "value": ["ALARM"] } } } ``` 以上、よろしくお願いいたします。
1
回答
0
投票
83
ビュー
質問済み 2ヶ月前
AWS マネジメントコンソールのログイン時に数回のパスワードを入力を間違えた後に「アカウント侵害」のメールが届きました。その後、パスワードの変更をしてSupport Centerにて解決済みにした後にLambdaの関数を表示しようとしたところ、添付の画像のような状態になってしまい、登録されいてた関数が1つも表示されなくなってしまいました。 解決方法が分からず困っており、ご教示を頂ければと思います。 よろしくお願いいたします。 ![Lambda画面](/media/postImages/original/IM2yR2qqrqSxKcLDS51A08-A)
2
回答
0
投票
35
ビュー
質問済み 2ヶ月前
EC2インスタンス(Windows)にあるbatファイルを、Lambdaから EC2 Run Command で、実行したいです。 下記記事を参考にコードソースを書きました。 【初心者向け】AWS LambdaからEC2 Run Commandを実行する方法 https://zenn.dev/yokota/articles/3875da641b4cc5 Lambdaのコードの下記パラメータを修正することで、Linux環境では、EC2インスタンス環境のbatを実行することが出来ています。 ``` DocumentName: 'AWS-RunPowerShellScript', InstanceIds: ['対象のインスタンスID'], commands: ['test_win.bat'], workingDirectory:['C:\Users\administrator\temp'] ``` 今度はWindows環境のInstanceIdsに変更して、TestしてみるとStatusはSucceedeとなり、エラーも出ませんでしたが、batが実行できていませんでした。 前提として、記事で紹介されているroleの作成と、EC2インスタンスへのロール割当、Lamdaへのロール割当は行っています。 どうコードを修正していけば、状況が改善されますでしょうか。 ご協力をお願いします。 以下コード全文です。 ``` 'use strict'; const AWS = require('aws-sdk') const ssm = new (require('aws-sdk/clients/ssm'))(); module.exports.handler = async event => { try { let params = { DocumentName: 'AWS-RunPowerShellScript', InstanceIds: ['対象のインスタンスID'],//Windowsインスタンス Parameters: { commands: ['test_win.bat'], // EC2コマンド workingDirectory:['C:\Users\administrator\temp'], // コマンド実行場所 }, // SSMの実行結果をCloudWatchにロギング CloudWatchOutputConfig: { CloudWatchLogGroupName: 'SSMLogs', CloudWatchOutputEnabled: true }, // タイムアウト設定 TimeoutSeconds: 3600 // 1 hour } const sendCommandResult = await ssm.sendCommand(params).promise(); } catch(e){ console.log(e); } }; ```
1
回答
0
投票
849
ビュー
質問済み 4ヶ月前
Lambdaコンソールを利用して、環境変数を暗号化しました。 環境変数をLambda関数で使用する為に復号したいのですが、提供されているコードのまま利用しても復号化されず、暗号化されたままとなっております。 どの部分が間違っているのでしょうか、ご教示頂ければ幸甚です。 console.log(decrypted)は暗号化された文字列が表示され、 Lambda関数の実行結果としては、status Code 200が返ってきております。 node.js const AWS = require('aws-sdk'); AWS.config.update({ region: 'REGION' }); //あらかじめ設定している暗号化された環境変数(DB_HOST) const encrypted_dbhost = process.env.DB_HOST; let decrypted = \[]; exports.lambdaHandler = async (event, context, callback) => { const kms = new AWS.KMS(); try { const test_data = await kms.decrypt({ CiphertextBlob: new Buffer(encrypted_dbhost, 'base64') }).promise(); decrypted = test_data.Plaintext.toString('ascii'); console.log(decrypted); const response = { statusCode: 200, body: JSON.stringify('Hello from Lambda!'), }; return response; }catch(e){ throw e; } };
2
回答
0
投票
79
ビュー
質問済み 4年前
  • 1
  • 12 件 / ページ