AWS CloudFormation

  • AWS CloudFormation は、関連する AWS リソースのコレクションを作成および管理するための簡単な方法である開発者およびシステム管理を提供し、整然と予測可能な方法でそれらをプロビジョニングおよび更新します。
  • CloudFormation 以下の要素から成る
    • テンプレート
      • 建築図です
      • アプリケーションを実行するためにデプロイする必要があるすべての AWS リソースを記述した JSON または YAML 形式のテキストベースのファイル
    • スタック
      • 実際にプロビジョニングされたそのダイアグラムの最終結果です。
      • CloudFormation がテンプレートをインスタンス化するときに、1つの単位として作成および管理される AWS リソースのセットです。
  • CloudFormation テンプレートを使用して、複数のリージョンにわたってリソースを一貫して繰り返し設定することができます。
  • リソースは、ソフトウェアコードのために行われるように、バージョン管理をインフラストラクチャに適用することによって、制御および予測可能な方法で更新、削除、変更することができます。
  • AWS CloudFormation テンプレートは、次の要素で構成されます。
    • AWS リソースの一覧とその構成値
    • オプションのテンプレートファイル形式のバージョン番号
    • テンプレートパラメータのオプションリスト (スタック作成時に指定された入力値)
    • Fn::GetAtt 関数を使用したパブリック IP アドレスのような出力値のオプションリスト
    • 例えば AZ ごとの AMI 名の静的構成値を検索するために使用されるデータ表のオプションのリスト
  • CloudFormation は、Chef & Puppet の統合をサポートしています。あなたは、アプリケーション層を下に配置し、構成することができることを意味します。
  • CloudFormation は、CloudFormation テンプレートでそれらを記述するだけで、パッケージ、ファイル、およびサービスを EC2 インスタンスにインストールできるようにする一連のアプリケーションブートストラップスクリプトを提供します。
  • デフォルトでは、エラー機能の自動ロールバックが有効になり、エラーが発生した時点までのスタックに対してすべての AWS リソース thatCloudFormation が正常に作成されます。ただし、リソースが稼働している時間については、料金が適用されます
  • CloudFormation は、バリアとして機能する WaitCondition リソースを提供し、外部ソースから完了信号が受信されるまで、他のリソースの作成をブロックします (アプリケーション、管理システムなど)。
  • CloudFormation を使用すると、削除ポリシーをテンプレート内のリソースに対して定義することができます。たとえば、保持するリソースやスナップショットを削除する前に作成できます。スタックが削除されたときに S3 バケットを保持するのに便利です。

主に Developer,SysOps アソシエイト & DevOps プロフェッショナル試験に必要です。

AWS CloudFormation の概念

  • AWS CloudFormation では、テンプレートとスタックを使用する
    • テンプレート
      • AWS リソースを構築するための青写真として機能します。
      • .json、.yaml、.template,.txt などの拡張子を付けて保存された JSON または YAML 形式のテキストファイルです。
      • 複雑なリソースセットを作成し、それらのテンプレートを複数のコンテキストで再利用するための追加機能があります。入力パラメータを使用して汎用および再利用可能なテンプレートを作成する。
      • テンプレート内のリソースに使用される名前は論理名ですが、CloudFormation がリソースを作成するときに、論理名、スタック名、および一意の ID の組み合わせに基づく物理名が生成されます。
    • スタック
      • スタックは、関連するリソースを単一の単位として管理する
      • スタックの作成、更新、および削除によって、リソースのコレクションを作成、更新、および削除できます。
      • スタック内のすべてのリソースは、スタックの AWS CloudFormation テンプレートによって定義されます。
      • CloudFormation は、AWS に対して基盤となるサービス呼び出しを行い、スタック内のリソースをプロビジョニングおよび構成し、ユーザーがアクセス許可を持っているアクションのみを実行できます。
    • 変更セット
      • 変更セットは、スタックが更新されたときに CloudFormation が行う、提案された変更の概要を示します。
      • 変更セットによって、実行中のリソース (特に重要なリソース) を実装する前に、変更がどのように影響するかを確認できます。

CloudFormation アクセス制御

  • IAM
    • IAM を CloudFormation に適用して、スタックテンプレートを表示したりスタックを作成したり、スタックを削除したりできるかどうかについて、ユーザーのアクセス制御を行うことができます。
    • それに加えて、スタックが作成されると、AWS サービスとリソースにユーザーに IAM 権限を提供する必要があります
    • スタックが作成される前に、AWS CloudFormation はテンプレートを検証して、作成される可能性のある IAM リソースをチェックします。
  • サービスの役割
    • サービスロールとは、AWS CloudFormation がユーザーの代わりにスタック内のリソースを呼び出すことを可能にする AWS IAM ロールです。
    • デフォルトでは、AWS CloudFormation は、スタック操作のユーザー資格情報から生成される一時セッションを使用します。
    • サービスロールの場合、AWS CloudFormation はロールの資格情報を使用します。
    • サービスロールを指定すると、AWS CloudFormation は常にそのロールをそのスタックで実行されるすべての操作に使用します。

テンプレートリソース属性

  • CreationPolicy 属性
    • 関連付けられたリソースの作成中に呼び出されます。
    • AWS CloudFormation が指定された数の成功信号を受け取るか、タイムアウト期間を超過するまで、そのステータスが完全な作成に到達しないようにリソースに関連付けられます。
    • EC2 インスタンスでのソフトウェアのインストールなど、スタックの作成が進む前にリソースの構成アクションを待機するのに役立ちます。
  • DeletionPolicy 属性
    • スタックが削除されたときにリソースを保護するか、(場合によっては)バックアップする
    • デフォルトでは、リソースに DeletionPolicy 属性がない場合、AWS CloudFormation はリソースを削除します。
    • スタックが削除されたときにリソースを保護するには
      • 削除を防ぐには、そのリソースの 保持 を指定します。
      • スナップショット機能が RDS、EC2 ボリュームなどでサポートされている場合、リソースを削除する前にスナップショットを作成するには、スナップショットを指定します。
  • DependsOn 属性
    • 特定のリソースの作成を次のように指定します。
    • リソースは、DependsOn 属性で指定されたリソースの作成後にのみ作成されます。
  • メタデータ 属性
    • 構造化データとリソースの関連付けを可能にする
  • UpdatePolicy 属性
    • AWS CloudFormation が AWS::AutoScaling::AutoScalingGroup リソースの更新を処理することを定義します。

AWS認定試験の練習問題

  • 質問はインターネットから収集され、答えは自分の知識と理解に基づいてマークされます(これはあなたと異なる場合があります)。
  • AWSサービスは毎日更新され、回答と質問はすぐに時代遅れになる可能性がありますので、それに応じて調査してください。
  • AWSのアップデートのペースを追うためにAWS試験の質問は更新されないため、基礎となる機能が変更されても質問が更新されないことがあります。
  • さらなるフィードバック、ディスカッション、修正を可能にします。
  1. Amazon CloudFormation は何を提供していますか?
    1. Amazon EC2 インスタンスの自動スケーリングをセットアップする機能
    2. Amazon Web サービス用のテンプレート化リソースの作成
    3. Amazon Web サービスのネットワークリソースをマップするためのテンプレート
    4. これらのどれも
  2. ユーザーは、自動デプロイの要件に応じて AWS CloudFormation を使用することを計画しています。テンプレートの一部として、以下のコンポーネントが必要ですか。
    1. パラメータ
    2. アウトプット
    3. テンプレートのバージョン
    4. リソース
  3. AWS CloudFormation に関しては、スタックとは何ですか?
    1. テンプレートとして作成および管理される AWS テンプレートのセット
    2. テンプレートとして作成および管理される AWS リソースのセット
    3. 1つのユニットとして作成および管理される AWS リソースのセット
    4. 1つのユニットとして作成および管理される AWS テンプレートのセット
  4. 大企業は、CloudFormation を採用して管理タスクを自動化し、最小限の特権と職務分離のセキュリティ原則を実装したいと考えています。 (ⅰ)ネットワーク管理者:VPC、サブネット、NACL、ルーティングテーブル、およびセキュリティグループの作成、変更、削除(ⅱ)アプリケーションオペレータ:完全なアプリケーションスタックの展開(ELB、自動スケーリンググループ、RDS)、ネットワーク管理者が管理する VPC にすべてのリソースを配置する必要があります。(ⅲ)どちらのグループも独自の CloudFormation テンプレートを維持し、独自の CloudFormation スタックのみを作成、更新、削除できる必要があります。同社は、アプリケーション用とネットワーク用の2つの IAM グループを作成するためのアドバイスを続けてきました。どちらの IAM グループも、各グループの必要なタスクを実行する権限を与え、CloudFormation スタックの作成、更新、削除を行う権限を与える IAM ポリシーに添付されています。セットアップと要件を前提に、どのステートメントが有効な設計上の考慮事項を表していますか? 2つの回答を選択してください[PROFESSIONAL]
    1. EC2 インスタンスを含むサブネットを削除しようとすると、ネットワークスタックの更新が失敗する(サブネットはインスタンス内で削除できない)
    2. CloudFormation:DeleteStack アクションでリソースレベルの権限が使用されていない限り、ネットワーク管理者はアプリケーションスタックを破壊する可能性があります(ネットワーク管理者自身がアプリケーションスタック内のリソースを削除する権限を必要とし、CloudFormationはそれらのリソースを作成、変更、削除するための呼び出しを行います)
    3. すべてのネットワークスタックが削除される前にアプリケーションスタックを削除することはできません(ネットワークスタックの前にアプリケーションスタックを削除できます)
    4. EC2 インスタンスの VPC への起動を制限するには、アプリケーショングループの IAM ポリシーにリソースレベルの権限が必要です(IAM 権限はインスタンスを起動するために明示的に指定する必要があります)
    5. アプリケーションスタック内にネットワークスタックをネストすると、管理とデバッグは簡単になりますが、ネットワークグループのIAM ポリシーではリソースレベルのアクセス許可が必要です(スタックはネストすることができますが、ネットワークグループはすべてのアプリケーショングループのアクセス許可を持つ必要があります)
  5. あなたのチームは、プログラム可能なインフラストラクチャにアクセスできるようになり、AWS の使用に興奮しています。 AWS インフラストラクチャの管理は、アプリケーションコードを管理する方法と似た方法で行いました。 インフラストラクチャの異なるバージョンの正確なコピーを展開し、さまざまな環境に変更を加え、以前のバージョンに戻し、特定の時点(開発、テスト、QA、生産)で実行されているバージョンを特定できるようにします。 どのアプローチがこの要件に対応していますか?
    1. コスト配分レポートと AWS Opsworks を使用して、インフラストラクチャを展開および管理します。
    2. AWS CloudWatch のメトリックスとアラートをリソースのタグ付けと共に使用して、インフラストラクチャを展開および管理します。
    3. AWS Beanstalk と GIT のようなバージョン管理システムを使用して、インフラストラクチャをデプロイおよび管理します。
    4. AWS CloudFormation と GIT のようなバージョン管理システムを使用して、インフラストラクチャをデプロイおよび管理します。
  6. ユーザーは、CloudFormation を使用して EC2 インスタンスを起動し、インスタンスの起動後にアプリケーションを構成しています。 ユーザーは、ELB と自動スケーリングのスタック作成が、EC2 インスタンスが起動され、正しく構成されるまで待機する必要があります。 ユーザーはどのようにこれを設定できますか?
    1. 1つのサービスが作成されて起動されるまで、スタックの作成が待機することはできません。
    2. ユーザーは、HoldCondition リソースを使用して、他の依存リソースの作成を待機できます。
    3. ユーザーは、DependentCondition リソースを使用して、他の依存リソースの作成を保持できます。
    4. ユーザーは、WaitCondition リソースを使用して、他の依存リソースの作成を保持できます。
  7. ユーザーが CloudFormation スタックを作成しました。 スタックは、EC2 インスタンス、ELB、オートスケーリング、RDS などのAWS サービスを作成します。 スタックの作成中に EC2、ELB、AutoScaling が作成されましたが、RDS の作成に失敗しました。 このシナリオで CloudFormation は何をしますか?
    1. CloudFormation は、起動する前にすべての手順を検証するので、いくつかのサービスを起動した後にエラーをスローすることはできません
    2. それは、エラーについてユーザーに警告して、そしてユーザーに RDS を手動で作るように頼みます
    3. すべての変更をロールバックし、作成されたすべてのサービスを終了する
    4. これは、エラーについては、ユーザーの入力を待って、入力後に間違いを修正
  8. ユーザーが AWS CloudFormation を使用する予定です。以下のうち、CloudFormation を正しく理解するうえで役立たない機能はどれですか?
    1. CloudFormation は、開発 & テストの作成のための DevOps モデルに従います
    2. AWS CloudFormation はユーザーにサービスを請求しませんが、それで作成された aws リソースの料金のみ
    3. CloudFormation は、EC2、EBS、VPC、IAM、S3、RDS、ELB などのさまざまな AWS サービスで動作します。
    4. CloudFormation は、ユーザーがソフトウェアをインストールすることを可能にするアプリケーションブートストラップスクリプトのセットを提供します
  9. 顧客が Dev and Test に AWS を使用しています。顧客は CloudFormation で Dev 環境をセットアップしたいと考えています。 CloudFormationを使用しているときに、以下で説明するステップのどれが必須ではないのですか?
    1. スタックの作成
    2. サービスを構成する
    3. テンプレートを作成してアップロードする
    4. テンプレートの一部として構成されたパラメータを指定する
  10. マーケティングリサーチ会社は、世界中の顧客に代わってウェブマーケティングキャンペーン中にユーザーの行動を収集する追跡システムを開発しました。 追跡システムは、エラスティックロードバランサ(ELB)の背後にある Amazon Elastic Compute Cloud(EC2) インスタンスの自動スケーリングされたグループで構成され、収集されたデータは Amazon DynamoDB に格納されます。 キャンペーンが終了した後、追跡システムは切り離され、データは Amazon Redshift に移動され、集計、分析され、詳細レポートの生成に使用されます。 同社は、手動による介入なしにどの地域でも新しい追跡システムをインスタンス化できるようにするため、AWS CloudFormation を採用しました。 AWS CloudFormation テンプレートがすべての AWS リージョンで機能することを確認するために必要なことは何ですか? 2つの回答を選択してください[PROFESSIONAL]
    1. AWS CloudFormation スタックを開始する権利を持つ IAM ユーザーは、すべてのターゲットリージョンに対して定義されている必要があります。(IAM ユーザーはグローバルです)
    2. Amazon DynamoDB テーブルの名前は、すべてのターゲット領域で異なる必要があります。(DynamoDB 名はリージョン内でのみ一意である必要があります)
    3. AWS CloudFormation の組み込み関数を使用して、ELB リソースの AvailabilityZone 属性を設定します。
    4. EBS スナップショットには DeletionPolicies を使用しないでください。(データを保持したくない)
    5. AutoScaling::LaunchConfiguration リソースの ImageId 属性で設定されている AMI ID を参照するには、組み込みのマッピングと AWS CloudFormation の FindInMap 関数を使用します。
  11. ゲーム会社が AWS CloudFormation を採用してゲームの負荷テストを自動化しました。 彼らは、各ゲーム環境用の AWS CloudFormation テンプレートと負荷テスト用のスタック用の AWS CloudFormation テンプレートを作成しました。 負荷テストスタックは Amazon Relational Database Service(RDS)Postgres データベースと、Amazon Elastic Compute Cloud(EC2) 上で実行される2つのWebサーバーを作成し、HTTP 要求を送信し、応答時間を測定し、結果をデータベースに書き込みます。 試運転には通常15〜30分かかります。 テストが完了すると、すぐに AWS CloudFormation スタックが破棄されます。 Amazon RDS データベースに書き込まれたテスト結果は、可視化と分析のためにアクセス可能でなければなりません。 AWS CloudFormation の負荷テストスタックが削除された後にテスト結果にアクセスできるようにするソリューションを選択します。 2つの答えを選択してください。 [PROFESSIONAL]
    1. Amazon RDS リソースのタイプ保持の削除ポリシーを定義して、RDS データベースが AWS CloudFormation スタックで削除されないようにします。
    2. Amazon RDS リソースのタイプスナップショットの削除ポリシーを定義して、AWS CloudFormation スタックが削除された後に RDS データベースを復元できることを保証します。
    3. Amazon RDS データベースのバックアップ保持期間が30日間の自動バックアップを定義し、AWS CloudFormation スタックが削除された後にデータベースのポイント・イン・タイム・リカバリを実行します。(限られた時間のための環境が必要であるので自動化されたバックアップは目的に役立たない)
    4. ロードテスト AWS CloudFormation スタックで Amazon RDS リードレプリカを定義し、DependsOn 属性を使用してマスタとレプリカ間の依存関係を定義します。(読み取りレプリカは不要で、スタックが削除されると削除されます)
    5. AWS CloudFormation スタックが削除された後に Amazon RDS データベースが削除されないようにするための更新ポリシーを定義します。(UpdatePolicy は RDS には適用されません)
  12. AWS CloudFormation Templates で作業する場合、作成できるスタックの最大数はいくらですか?
    1. 500
    2. 50
    3. 200リンクを参照してください – 制限は変化し続けるため最新のものを確認してください)
    4. 10
  13. デフォルトでは、CloudFormation スタック内のいずれかのリソースを作成できない場合はどうなりますか。
    1. 以前に作成されたリソースは保持されますが、スタックの作成は終了します
    2. 以前に作成されたリソースは削除され、スタックの作成は終了します
    3. スタックの作成が続行され、最終的な結果はどのステップが失敗したかを示します
    4. CloudFormation テンプレートは事前に解析されるため、スタックの作成は成功することが保証されます。
  14. 複数の環境にわたって AWS スタックを繰り返し展開する必要があります。 これを達成するための適切なツールとしてCloudFormation を選択しましたが、作成およびモデル化する必要のあるリソースタイプがありますが、CloudFormation ではサポートされていません。 この挑戦をどのように克服すべきですか? [PROFESSIONAL]
    1. 作成、更新、削除アクションのためのプロキシへの API 呼び出しを選択することにより、CloudFormation カスタムリソーステンプレートを使用します。 CloudFormationは、モデリングするリソースタイプの状態遷移関数として、選択した AWS SDK、CLI、または API メソッドを使用します。
    2. AWSフォーラムへのチケットを提出してください。 AWSは、GitHub の AWS Labs 組織にツールを公開することで、CloudFormation リソースタイプを拡張します。応答時間は通常1日で、1〜2週間以内にリクエストを完了します。
    3. CloudFormation に依存するのではなく、Chef、Puppet、または Anabilities を使用して、ヒートテンプレートを作成します。これは、OpenStack ハイパーバイザーとクラウド環境で動作する宣言的なスタックリソース定義です。
    4. SNS トピックにカスタムリソースプロバイダを登録するか、または AWS Lambda でロジックを実装することによって、作成、更新、および削除の機能を実装して CloudFormation カスタムリソースタイプを作成します。([リンク参照])
  15. AWS CloudFormation の循環依存とは何ですか?
    1. テンプレートがそれ自体の以前のバージョンを参照する場合
    2. ネストになったスタックが互いに依存している場合
    3. リソースがあてループを形成する場合(リンク参照 依存関係エラーを解決するには、テンプレート内の他のリソースに依存するリソースに DependsOn 属性を追加します。 例えば、 IGIP に依存する EIP および VPC では、IGW に依存しているため、正しい順序でリソースを作成するための明示的な宣言が必要です)
  16. 大量のバッチデータ処理ジョブを1日1回実行する必要があります。 ソースデータはすべて S3 に存在し、処理ジョブの出力は終了時に S3 に書き込まれる必要があります。 この処理ジョブをバージョン管理し、システムのすべてのセットアップとティアダウンのロジックを必要とする場合は、どのようなアプローチをとるべきですか?
    1. AWS Elastic Beanstalk の AWS EMR ジョブをモデル化します。(EMR クラスタを直接モデル化することはできません)
    2. AWS CloudFormation で AWS EMR ジョブをモデル化します。(EMR クラスターは、CloudFormation を使用してモデル化できます。リンク参照)
    3. AWS OpsWorks で AWS EMR ジョブをモデル化します。(EMR クラスタを直接モデル化することはできません)
    4. AWS CLI Composer で AWS EMR ジョブをモデル化します。(存在しません)
  17. 大規模なクラウド展開の3層を自動化する必要があります。 この展開の進化が時間とともに変化するのを追跡し、変更を慎重に管理したいと考えています。 これらの要件を満たすためにスタックを自動化する良い方法は何ですか?[PROFESSIONAL]
    1. 3つのレイヤーを持つ OpsWorks スタックを使用して、スタック内のレイヤをモデル化します。
    2. CloudFormation ネストされたスタックテンプレートを使用して、3つの子スタックを使ってクラウドの3つの論理層を表します。(CloudFormation は、ソース管理された宣言型テンプレートをスタックオートメーションとネストになったスタックの基礎として、レイヤーのクリーンな分離を実現し、同時に必要に応じてすべてのレイヤーを一度に制御するメソッドを提供します)
    3. AWS Config を使用して、AWS がクラウドにロールアウトする構成セットを宣言します。
    4. Elastic Beanstalk にリンクされたアプリケーションを使用して、レイヤ間の重要な DNS エントリをメタデータインターフェイスを使用して渡します。
  18. あなたの会社のリスクのない展開を要求されました。 具体的には、CEOはステージングとテストの偶発的な不一致のために発生する停止について懸念しています。ステージングテストが合格しても、プロダクションで予期しない動作が発生することがあります。 既にDockerを使用して、EC2インスタンス上のアプリケーション環境のステージングとプロダクションの整合性を確保しています。 AWSでは、EC2仮想マシンを超えて多くのサービスコンポーネントを使用できるため、実行環境の残りの部分をどのようにリスクを軽減するのですか? [PROFESSIONAL]
    1. CloudFormation でクラウドシステム全体のモデルを開発します。このモデルをステージングとプロダクションで使用して、より大きなパリティを実現します。(CloudFormation の JSON テンプレートのみが、AWS クラウド全体の展開可能なモデルを繰り返し宣言バージョン管理できます。)
    2. AWS Config を使用して、ステージングおよび本番スタックに構成パリティを強制的に設定します。あなたがリスクを認識しているので、任意の違いは、あなたのために検出されます。
    3. Docker は Linux コンテナ (LXC) テクノロジーを使用しているため、仮想マシンのカーネルを含むマシン全体を一貫して確保するために AMI を使用し、コンテナ環境が一貫していることを確認する必要があります。
    4. AWS ECS と Docker クラスタリングを使用します。これにより、AMI とマシンのサイズが両方の環境で同じであることが確認されます。
  19. 以下のコードスニペットは、 AWS::ElasticLoadBalancing::LoadBalancer リソース名「ElasticLoad Balancer」を使用してCloudFormationで作成されたロードバランスされたWebサイトのURLを返しますか? [Developer]
    1. “Fn::Join” : [“”. [ “http://”, {“Fn::GetAtt” : [ “ElasticLoadBalancer”,”DNSName”]}]](リンク参照)
    2. “Fn::Join” : [“”. [ “http://”, {“Fn::GetAtt” : [ “ElasticLoadBalancer”,”Url”]}]]
    3. “Fn::Join” : [“”. [ “http://”, {“Ref” : “ElasticLoadBalancerUrl”}]]
    4. “Fn::Join” : [“.”, [ “http://”, {“Ref” : “ElasticLoadBalancerDNSName”}]]
  20. AWS CloudFormation では、どのスタック状態が UpdateStackコ ールを拒否しますか?[Developer]
    1. UPDATE_ROLLBACK_FAILED(リンク参照)
    2. UPDATE_ROLLBACK_COMPLETE
    3. UPDATE_COMPLETE
    4. CREATE_COMPLETE
  21. AWS CloudFormation の疑似パラメータではないものはどれですか?[Developer]
    1. AWS::StackName
    2. AWS::AccountId
    3. AWS::StackArn (リンク参照)
    4. AWS::NotificationARNs
  22. AWS CloudFormation の本来の機能ではないものはどれですか?[Developer]
    1. Fn::SplitValue (リンク参照)
    2. Fn::FindInMap
    3. Fn::Select
    4. Fn::GetAZs
  23. これらのうち CloudFormation ヘルパースクリプトではないものはどれですか?[Developer]
    1. cfn-signal
    2. cfn-hup
    3. cfn-request (リンク参照)
    4. cfn-get-metadata
  24. スクリプトで CloudFormation スタックが完了するのを待つ場合は、オートメーションを作成するためにどのようなメソッドを使用する必要がありますか? [Developer]
    1. SQS を使用したイベントサブスクリプション
    2. SNS を使ったイベントサブスクリプション
    3. ListStacks/list-stacks を使用してポーリングします。(ポーリングのみでスクリプトが完了するまで待機します。ListStacks/list-stacks は実際のメソッドです。リンク参照)
    4. GetStackStatus/get-stack-status を使用してポーリングします。(GetStackStatus/get-stack-status は存在しません)
  25. AWS CloudFormation の障害状態を表すステータスはどれですか?
    1. UPDATE_COMPLETE_CLEANUP_IN_PROGRESS (UPDATE_COMPLETE_CLEANUP_IN_PROGRESSは更新が成功したことを意味し、CloudFormation は置き換えられた、使用されなくなったリソースを削除しています)
    2. DELETE_COMPLETE_WITH_ARTIFACTS (DELETE_COMPLETE_WITH_ARTIFACTSは存在しません)
    3. ROLLBACK_IN_PROGRESS (ROLLBACK_IN_PROGRESS は、UpdateStack 操作が失敗し、スタックが有効な更新前状態に戻ろうとしていることを意味します。リンク参照)
    4. ROLLBACK_FAILED (ROLLBACK_FAILED は CloudFormationの状態ではなく、UPDATE_ROLLBACK_FAILED です)
  26. AWS CloudFormation の本来の機能ではないものはどれですか? [Developer]
    1. Fn::Equals
    2. Fn::If
    3. Fn::Not
    4. Fn::Parse (組み込み関数の完全なリスト Fn::Base64, Fn::And, Fn::Equals, Fn::If, Fn::Not, Fn::Or, Fn::FindInMap, Fn::GetAtt, Fn::GetAZs, Fn::Join, Fn::Select, リンク参照
  27. テンプレートのすべての起動中に本番環境で実行されていない場合は、CloudFormation で Route53 レコードを自動的に作成する必要があります。これをどのように実装すべきですか?[Developer]
    1. environmentParameterを使用し、environmentproduction でない場合にのみレコードを作成するためにテンプレートのRoute53 ResourceConditionを追加します。(これを行う最善の方法は、1つのテンプレートと、リソースの条件です。 Route53は
      null 文字列を許可しません。参照リンクの)
    2. 2つのテンプレートを作成します.1つは Route53 レコード値、もう1つはレコードの null 値です。実稼働環境にデプロイするときは、それを使用しないでください。
    3. environment に対して Parameter を使用し、environmentproductionの場合、テンプレートの Route53 ResourceConditionを追加して、null文字列でレコードを作成します。
    4. 2つのテンプレートを作成します.1つは Route53 レコードで、もう1つはテンプレートなしで作成します。実稼働環境にデプロイするときは、それを使用しないでください。

リファレンス


Jayendra’s Blog

この記事は自己学習用に「AWS CloudFormation – Certification(Jayendra’s Blogより)」を日本語に訳した記事です。