구성 배포
기능 플래그 및 자유 형식 구성 데이터 작업에 필요한 아티팩트를 생성한 후 AWS Management 콘솔, AWS CLI, 또는 SDK를 사용하여 새 배포를 만들 수 있습니다. AWS AppConfig에서 배포를 시작하면 StartDeployment API 작업이 호출됩니다. 이 호출에는 AWS AppConfig 애플리케이션의 ID, 환경, 구성 프로파일 및 배포할 구성 데이터 버전(선택 사항)이 포함됩니다. 호출에는 사용할 배포 전략의 ID도 포함되는데, 이에 따라 구성 데이터가 배치되는 방법이 결정됩니다.
AWS Secrets Manager에 저장된 암호, 고객 관리 키로 암호화된 Amazon Simple Storage Service(S3) 객체 또는 고객 관리 키로 암호화된 AWS Systems Manager Parameter Store에 저장된 보안 문자열 파라미터를 배포하는 경우 KmsKeyIdentifier 파라미터 값을 지정해야 합니다. 구성이 암호화되지 않았거나 AWS 관리형 키로 암호화된 경우 KmsKeyIdentifier 파라미터 값을 지정하지 않아도 됩니다.
KmsKeyIdentifier에 지정하는 값은 고객 관리형 키여야 합니다. 이는 구성을 암호화하는 데 사용한 키와 같지 않아도 됩니다.
KmsKeyIdentifier로 배포를 시작하는 경우 AWS Identity and Access Management(IAM) 보안 주체에 연결된 권한 정책이 kms:GenerateDataKey 작업을 허용해야 합니다.
AWS AppConfig은 모든 호스트에 대한 배포를 모니터링하고 상태를 보고합니다. 배포가 실패하면 AWS AppConfig는 구성을 롤백합니다.
하나의 환경에 한 번에 하나의 구성만 배포할 수 있습니다. 하지만 각각 다른 환경에 한 가지 구성을 동시에 배포할 수 있습니다.
구성 배포(콘솔)
다음 절차에 따라 AWS AppConfig 콘솔을 사용하여 AWS Systems Manager 구성을 배포합니다.
구성 배포(명령줄)
다음 절차에서는 AWS CLI (Linux 또는 Windows) 또는 AWS Tools for PowerShell을 사용하여 AWS AppConfig 구성을 생성하는 방법을 설명합니다.
구성을 단계별로 배포하려면
-
AWS CLI을 엽니다.
-
다음 명령을 실행하여 구성을 배포합니다.
- Linux
-
aws appconfig start-deployment \
--application-id The_application_ID \
--environment-id The_environment_ID \
--deployment-strategy-id The_deployment_strategy_ID \
--configuration-profile-id The_configuration_profile_ID \
--configuration-version The_configuration_version_to_deploy \
--description A_description_of_the_deployment \
--tags User_defined_key_value_pair_metadata_of_the_deployment
- Windows
-
aws appconfig start-deployment ^
--application-id The_application_ID ^
--environment-id The_environment_ID ^
--deployment-strategy-id The_deployment_strategy_ID ^
--configuration-profile-id The_configuration_profile_ID ^
--configuration-version The_configuration_version_to_deploy ^
--description A_description_of_the_deployment ^
--tags User_defined_key_value_pair_metadata_of_the_deployment
- PowerShell
-
Start-APPCDeployment `
-ApplicationId The_application_ID `
-ConfigurationProfileId The_configuration_profile_ID `
-ConfigurationVersion The_configuration_version_to_deploy `
-DeploymentStrategyId The_deployment_strategy_ID `
-Description A_description_of_the_deployment `
-EnvironmentId The_environment_ID `
-Tag Hashtable_type_user_defined_key_value_pair_metadata_of_the_deployment
시스템은 다음과 같은 정보를 반환합니다.
- Linux
-
{
"ApplicationId": "The ID of the application that was deployed",
"EnvironmentId" : "The ID of the environment",
"DeploymentStrategyId": "The ID of the deployment strategy that was deployed",
"ConfigurationProfileId": "The ID of the configuration profile that was deployed",
"DeploymentNumber": The sequence number of the deployment,
"ConfigurationName": "The name of the configuration",
"ConfigurationLocationUri": "Information about the source location of the configuration",
"ConfigurationVersion": "The configuration version that was deployed",
"Description": "The description of the deployment",
"DeploymentDurationInMinutes": Total amount of time the deployment lasted,
"GrowthType": "The linear or exponential algorithm used to define how percentage grew over time",
"GrowthFactor": The percentage of targets to receive a deployed configuration during each interval,
"FinalBakeTimeInMinutes": Time AWS AppConfig monitored for alarms before considering the deployment to be complete,
"State": "The state of the deployment",
"EventLog": [
{
"Description": "A description of the deployment event",
"EventType": "The type of deployment event",
"OccurredAt": The date and time the event occurred,
"TriggeredBy": "The entity that triggered the deployment event"
}
],
"PercentageComplete": The percentage of targets for which the deployment is available,
"StartedAt": The time the deployment started,
"CompletedAt": The time the deployment completed
}
- Windows
-
{
"ApplicationId": "The ID of the application that was deployed",
"EnvironmentId" : "The ID of the environment",
"DeploymentStrategyId": "The ID of the deployment strategy that was deployed",
"ConfigurationProfileId": "The ID of the configuration profile that was deployed",
"DeploymentNumber": The sequence number of the deployment,
"ConfigurationName": "The name of the configuration",
"ConfigurationLocationUri": "Information about the source location of the configuration",
"ConfigurationVersion": "The configuration version that was deployed",
"Description": "The description of the deployment",
"DeploymentDurationInMinutes": Total amount of time the deployment lasted,
"GrowthType": "The linear or exponential algorithm used to define how percentage grew over time",
"GrowthFactor": The percentage of targets to receive a deployed configuration during each interval,
"FinalBakeTimeInMinutes": Time AWS AppConfig monitored for alarms before considering the deployment to be complete,
"State": "The state of the deployment",
"EventLog": [
{
"Description": "A description of the deployment event",
"EventType": "The type of deployment event",
"OccurredAt": The date and time the event occurred,
"TriggeredBy": "The entity that triggered the deployment event"
}
],
"PercentageComplete": The percentage of targets for which the deployment is available,
"StartedAt": The time the deployment started,
"CompletedAt": The time the deployment completed
}
- PowerShell
-
ApplicationId : The ID of the application that was deployed
CompletedAt : The time the deployment completed
ConfigurationLocationUri : Information about the source location of the configuration
ConfigurationName : The name of the configuration
ConfigurationProfileId : The ID of the configuration profile that was deployed
ConfigurationVersion : The configuration version that was deployed
ContentLength : Runtime of the deployment
DeploymentDurationInMinutes : Total amount of time the deployment lasted
DeploymentNumber : The sequence number of the deployment
DeploymentStrategyId : The ID of the deployment strategy that was deployed
Description : The description of the deployment
EnvironmentId : The ID of the environment that was deployed
EventLog : {Description : A description of the deployment event, EventType : The type of deployment event, OccurredAt : The date and time the event occurred,
TriggeredBy : The entity that triggered the deployment event}
FinalBakeTimeInMinutes : Time AWS AppConfig monitored for alarms before considering the deployment to be complete
GrowthFactor : The percentage of targets to receive a deployed configuration during each interval
GrowthType : The linear or exponential algorithm used to define how percentage grew over time
HttpStatusCode : HTTP Status of the runtime
PercentageComplete : The percentage of targets for which the deployment is available
ResponseMetadata : Runtime Metadata
StartedAt : The time the deployment started
State : The state of the deployment