高可用性 2 層スタック | 作成 - AMS アドバンスト変更タイプリファレンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

高可用性 2 層スタック | 作成

Auto Scaling グループ、RDS DB インスタンス、ロードバランサー (ELB) で構成されるスタックを作成します。必要に応じて、ApplicationName に指定された値という名前の CodeDeploy アプリケーションとデプロイグループを作成することで、CodeDeploy によるアプリケーションのデプロイを許可します。 CodeDeploy すべてのリソースパラメータを設定できます。

完全分類: デプロイ | 標準スタック | 高可用性 2 層スタック | 作成

変更タイプの詳細

変更タイプ ID

ct-06mjngx5flwto

現在のバージョン

3.0

予想される実行期間

60 分

AWS の承認

必須

お客様の承認

不要

実行モード

自動

追加情報

高可用性の 2 層スタックを作成する

変更 type details for creating a high availability two-tier stack with configurable parameters.

仕組み:

  1. RFC の作成ページに移動します。AMS コンソールの左側のナビゲーションペインでRFCs をクリックして RFCsリストページを開き、RFC の作成をクリックします。

  2. デフォルトの変更タイプ参照ビューで一般的な変更タイプ (CT) を選択するか、カテゴリ別選択ビューで CT を選択します。

    • 変更タイプ別に参照: クイック作成エリアで一般的な CT をクリックすると、すぐに RFC の実行ページを開くことができます。クイック作成で古い CT バージョンを選択することはできません。

      CTs をソートするには、カードビューまたはテーブルビューですべての変更タイプ領域を使用します。どちらのビューでも、CT を選択し、RFC の作成をクリックして RFC の実行ページを開きます。必要に応じて、RFC の作成ボタンの横に古いバージョンで作成オプションが表示されます。

    • カテゴリ別に選択: カテゴリ、サブカテゴリ、項目、オペレーションを選択すると、CT 詳細ボックスが開き、必要に応じて古いバージョンで作成するオプションが表示されます。RFC の作成をクリックして、RFC の実行ページを開きます。

  3. RFC の実行ページで、CT 名エリアを開き、CT の詳細ボックスを表示します。件名は必須です (変更タイプの参照ビューで CT を選択した場合は入力されます)。追加設定エリアを開き、RFC に関する情報を追加します。

    実行設定領域で、使用可能なドロップダウンリストを使用するか、必要なパラメータの値を入力します。オプションの実行パラメータを設定するには、追加設定エリアを開きます。

  4. 完了したら、実行 をクリックします。エラーがない場合、RFC が正常に作成されたページに、送信された RFC の詳細と最初の実行出力が表示されます。

  5. Run parameters 領域を開き、送信した設定を確認します。ページを更新して RFC 実行ステータスを更新します。必要に応じて、RFC をキャンセルするか、ページ上部のオプションを使用してコピーを作成します。

仕組み:

  1. Template Create メソッド (2 つの JSON ファイルを作成します。1 つは RFC パラメータ用、もう 1 つは実行パラメータ用) を使用し、2 つのファイルを入力としてcreate-rfcコマンドを発行します。どちらの方法もここで説明します。

  2. 返された RFC ID を使用して RFC: aws amscm submit-rfc --rfc-id ID コマンドを送信します。

    RFC: aws amscm get-rfc --rfc-id ID コマンドをモニタリングします。

変更タイプのバージョンを確認するには、次のコマンドを使用します。

aws amscm list-change-type-version-summaries --filter Attribute=ChangeTypeId,Value=CT_ID
注記

変更タイプのスキーマの一部であるかどうかにかかわらず、任意の RFC で任意のCreateRfcパラメータを使用できます。たとえば、RFC ステータスが変更されたときに通知を受け取るには、リクエストの RFC パラメータ部分 (実行パラメータではなく) --notification "{\"Email\": {\"EmailRecipients\" : [\"email@example.com\"]}}"にこの行を追加します。すべての CreateRfc パラメータのリストについては、AMS 変更管理 API リファレンスを参照してください。

テンプレートの作成

  1. この変更タイプの実行パラメータ JSON スキーマを現在のフォルダ内のファイルに出力します。この例では、CreateCreate2tierStackParams.json.

    aws amscm get-change-type-version --change-type-id "ct-06mjngx5flwto" --query "ChangeTypeVersion.ExecutionInputSchema" --output text > Create2tierStackParams.json
  2. スキーマを変更し、必要に応じて変数を置き換えます。

    { "Description": "HA two tier stack", "Name": "Two-Tier-Stack", "TimeoutInMinutes": 360, "VpcId": "VPC-ID", "AutoScalingGroup": { "AmiId": "AMI-ID", "SubnetIds": [ "Subnet-ID", "Subnet-ID" ] }, "Database": { "DBName": "DB_Name", "DBEngine": "postgres", "EngineVersion": "9.6.3", "LicenseModel": "postgresql-license", "MasterUsername": "masterusername", "SubnetIds": [ "Subnet-ID", "Subnet-ID" ] }, "LoadBalancer": { "SubnetIds": [ "Subnet-ID", "Subnet-ID" ] } }
  3. CreateRfc JSON テンプレートを現在のフォルダ内のファイルに出力します。例では CreateCreate2tierStackRfc.json:

    aws amscm create-rfc --generate-cli-skeleton > Create2tierStackRfc.json
  4. 必要に応じて RFC テンプレートを変更し、保存します。スケジュールされた RFC の開始時刻と終了時刻をリセットするか、ASAP RFC の場合は中断します。

    { "ChangeTypeVersion": 3.0", "ChangeTypeId": "ct-06mjngx5flwto", "Title": "HA-2-Tier-RFC", "RequestedStartTime": "2019-04-28T22:45:00Z", "RequestedEndTime": "2019-04-28T22:45:00Z" }
  5. Create2tierStackRfc.json ファイルと Create2tierStackParams.json 実行パラメータファイルを指定して、RFC を作成します。

    aws amscm create-rfc --cli-input-json file://Create2tierStackRfc.json --execution-parameters file://Create2tierStackParams.json

    レスポンスで新しい RFC の ID を受け取り、それを使用して RFC を送信およびモニタリングできます。送信するまで、RFC は編集状態のままであり、開始されません。

注記

これは、特に UserData を追加する場合、リソースの大規模なプロビジョニングです。ロードバランサーの Amazon リソース名 (ARN) は、RFC 実行出力で返されたLoad Balancerスタック ID で検索することで、EC2 コンソールのロードバランサーページから確認できます。

実行入力パラメータ

実行入力パラメータの詳細については、「」を参照してください変更タイプ ct-06mjngx5flwto のスキーマ

例: 必須パラメータ

{ "Description": "My stack", "TimeoutInMinutes": 60, "VpcId": "vpc-01234567890abcdef", "Name": "MyStack", "AutoScalingGroup": { "AmiId" : "ami-01234567890abcdef", "SubnetIds": ["subnet-01234567890abcdef", "subnet-01234567891abcdef"] }, "LoadBalancer": { "SubnetIds": ["subnet-01234567890abcdef", "subnet-01234567891abcdef"] }, "Database": { "DBName": "main", "DBEngine": "MySQL", "EngineVersion": "4.5.6", "LicenseModel": "general-public-license", "MasterUsername": "admin", "MasterUserPassword": "adminpass", "SubnetIds": ["subnet-01234567890abcdef", "subnet-01234567891abcdef"] } }

例: すべてのパラメータ

{ "Description": "My stack", "VpcId": "vpc-12345678", "TimeoutInMinutes": 60, "Name": "MyStack", "Tags": [ { "Key": "Foo", "Value": "Bar" } ], "AutoScalingGroup": { "AmiId": "ami-12341234", "Cooldown": 120, "DesiredCapacity": 1, "EBSOptimized": false, "HealthCheckGracePeriod": 600, "IAMInstanceProfile": "foo", "InstanceDetailedMonitoring": true, "InstanceRootVolumeIops": 0, "InstanceRootVolumeName": "/dev/xvda", "InstanceRootVolumeSize": 30, "InstanceRootVolumeType": "gp2", "InstanceType": "m3.medium", "MaxInstances": 1, "MinInstances": 1, "ScaleDownPolicyCooldown": 300, "ScaleDownPolicyEvaluationPeriods": 4, "ScaleDownPolicyPeriod": 60, "ScaleDownPolicyScalingAdjustment": -1, "ScaleDownPolicyStatistic": "Average", "ScaleDownPolicyThreshold": 35, "ScaleMetricName": "CPUUtilization", "ScaleUpPolicyCooldown": 60, "ScaleUpPolicyEvaluationPeriods": 2, "ScaleUpPolicyPeriod": 60, "ScaleUpPolicyScalingAdjustment": 2, "ScaleUpPolicyStatistic": "Average", "ScaleUpPolicyThreshold": 75, "SubnetIds": ["subnet-a0b1c2d3", "subnet-e4f5g6h7"], "UserData": ["#!/bin/bash","echo hello"] }, "LoadBalancer": { "SubnetIds": ["subnet-a0b1c2d3", "subnet-a0b2c9d8"], "HealthCheckInterval": 10, "HealthCheckTarget": "HTTP:80/index.html", "HealthCheckTimeout": 10, "Public": false, "AccessCIDRRange": "1.2.3.4/0" }, "Database": { "AllocatedStorage": 100, "BackupRetentionPeriod": 7, "Backups": true, "DBEngine": "postgres", "DBName": "my_db", "EngineVersion": "9.5.2", "InstanceType": "db.m3.medium", "IOPS": 0, "LicenseModel": "postgresql-license", "MasterUsername": "myadminuser", "MasterUserPassword": "!#$%&')*+,-.0:;=>?AZ[\\^_`a{|~", "MultiAZ": false, "Port": 5432, "PreferredBackupWindow": "22:00-23:00", "PreferredMaintenanceWindow": "wed:03:32-wed:04:02", "StorageEncrypted": false, "StorageType": "gp2", "SubnetIds": ["subnet-a0b1c2d3", "subnet-a0b2c9d8"] }, "Application": { "ApplicationName": "MyApplication", "DeploymentConfigName": "CodeDeployDefault.OneAtATime" }, "EnforceIMDSv2": "optional" }