ヤマムギ

growing hard days.

*

CloudFormation Lambda-backedカスタムリソースチュートリアルをやりました

      2021/08/09

チュートリアル: Amazon マシンイメージ ID を参照するの手順に従ってやってみました。

サンプルのシナリオでは、カスタムリソースによってAMI IDを取得して、EC2インスタンスを起動します。

サンプルパッケージをS3にアップロード

チュートリアルのLinuxAMI向けサンプルパッケージをダウンロードしました。
https://s3.amazonaws.com/cloudformation-examples/lambda/amilookup.zip

手順では、このままS3バケットを作ってアップロードですが、コードを見てみました。
Node.jsのjsファイルが1つ格納されたzipでした。

ec2.describeImagesで、AMI ID一覧を取得しています。

CloudFormationテンプレートURLを指定して実行

カスタムリソースはここで、ServiceTokenでLambdaのARNを指定していました。

EC2インスタンスのImageIdでカスタムリソースのIdを指定していました。

実行してみてLambdaのログ確認。

eventに含まれるResponseURLに、以下のようなresponseを生成して、POSTしていました。
StackId、RequestId、LogicalResourceIdもeventに含まれていました。

DataのIdを{ “Fn::GetAtt”: [ “AMIInfo”, “Id” ] }で取得して使用しているのですね。

終わったあとはスタックを削除しました。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS ,

ad

ad

  関連記事

Amazon Timestreamのサンプルデータベースを起動しました

マネジメントコンソールTimestreamにアクセスして、[データベースを作成] …

AWSアカウント内のLambda関数を削除するLambda(Python)

やりたいこと 特定のAWSアカウントの特定リージョンのAWS Lambda関数を …

EC2インスタンスを必要最小限のパラメータでCLIとSDKから起動する

EC2インスタンスをCLIとSDKから起動するデモで、パラメータを必要最小限にし …

ブログの画像を別アカウントのS3に移動するためにIAMロールでクロスアカウントアクセス

ずっと先延ばしにしていたのですが、このブログの画像はEC2から直接配信しています …

AWS AmplifyでTodoアプリを作るハンズオンをやってみました

【お手軽ハンズオンで AWS を学ぶ】AWS Amplify で Todo アプ …

AtomエディタでEC2のファイルを直接編集する

Webページを編集していてEC2のファイルをvimエディタでさわったりしています …

プライベートサブネットのEC2でセッションマネージャを使うようVPCエンドポイントを構成する

インターネットゲートウェイへのルートがないルートテーブルに関連付けられたプライベ …

slackのbotに天気を教えてもらう(Python on AWS Lambda + API Gateway)

slackのbotにAPIの定番ともいえる天気情報を教えてもらいました。 環境は …

ACM(AWS Certificate Manager)の承認メールを受け取るためにAmazon SESを設定する

何のためでもいいのですが、ドメインは持っているけど、そのドメイン宛にメールを送ら …

API Gateway 作成済REST APIの定義をSwaggerの形式でエクスポート

SAMで似たようなAPIを作りたくて、エクスポートしました。 Swaggerは、 …