AWS CLI를 사용한 AWS OpsWorks CM 예시
다음 코드 예시에서는 AWS OpsWorks CM에서 AWS Command Line Interface를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다.
작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 관련 시나리오의 컨텍스트에 따라 표시되며, 개별 서비스 함수를 직접적으로 호출하는 방법을 보여줍니다.
각 예시에는 전체 소스 코드에 대한 링크가 포함되어 있으며, 여기에서 컨텍스트에 맞춰 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있습니다.
주제
작업
다음 코드 예시에서는 associate-node
의 사용 방법을 보여줍니다.
- AWS CLI
-
노드 연결
다음
associate-node
명령은automate-06
이라는 Chef Automate 서버에i-44de882p
라는 노드를 연결합니다. 즉, associate-node 명령에 의해 노드에 설치된chef-client
에이전트 소프트웨어를 통해automate-06
서버가 노드를 관리하고 노드에 레시피 명령을 전달합니다. 유효한 노드 이름은 EC2 인스턴스 ID입니다.aws opsworks-cm associate-node --server-name
"automate-06"
--node-name"i-43de882p"
--engine-attributes"Name=CHEF_ORGANIZATION,Value='MyOrganization' Name=CHEF_NODE_PUBLIC_KEY,Value='Public_key_contents'"
명령에서 반환되는 출력은 다음과 유사합니다. 출력:
{ "NodeAssociationStatusToken": "AHUY8wFe4pdXtZC5DiJa5SOLp5o14DH//rHRqHDWXxwVoNBxcEy4V7R0NOFymh7E/1HumOBPsemPQFE6dcGaiFk" }
추가 정보
자세한 내용은 AWS OpsWorks 사용자 안내서의 AWS OpsWorks for Chef Automate에서 노드 자동 추가를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 AssociateNode
를 참조하세요.
-
다음 코드 예시에서는 create-backup
의 사용 방법을 보여줍니다.
- AWS CLI
-
백업 생성
다음
create-backup
명령은us-east-1
리전에automate-06
이라는 Chef Automate 서버의 수동 백업을 시작합니다. 명령은--description
파라미터의 백업에 설명 메시지를 추가합니다.aws opsworks-cm create-backup \ --server-name '
automate-06
' \ --description"state of my infrastructure at launch"
출력에는 새 백업에 대한 다음과 유사한 정보가 표시됩니다.
출력:
{ "Backups": [ { "BackupArn": "string", "BackupId": "automate-06-20160729133847520", "BackupType": "MANUAL", "CreatedAt": 2016-07-29T13:38:47.520Z, "Description": "state of my infrastructure at launch", "Engine": "Chef", "EngineModel": "Single", "EngineVersion": "12", "InstanceProfileArn": "arn:aws:iam::1019881987024:instance-profile/automate-06-1010V4UU2WRM2", "InstanceType": "m4.large", "KeyPair": "", "PreferredBackupWindow": "", "PreferredMaintenanceWindow": "", "S3LogUrl": "https://s3.amazonaws.com/<bucket-name>/automate-06-20160729133847520", "SecurityGroupIds": [ "sg-1a24c270" ], "ServerName": "automate-06", "ServiceRoleArn": "arn:aws:iam::1019881987024:role/aws-opsworks-cm-service-role.1114810729735", "Status": "OK", "StatusDescription": "", "SubnetIds": [ "subnet-49436a18" ], "ToolsVersion": "string", "UserArn": "arn:aws:iam::1019881987024:user/opsworks-user" } ], }
자세한 내용은 AWS OpsWorks 사용자 안내서의 AWS OpsWorks for Chef Automate 백업 및 복원을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 CreateBackup
을 참조하세요.
-
다음 코드 예시에서는 create-server
의 사용 방법을 보여줍니다.
- AWS CLI
-
서버 생성
다음
create-server
예시에서는 기본 리전automate-06
에 이름이 지정된 새 Chef Automate 서버를 생성합니다. 기본값은 유지할 백업 수, 유지 관리 및 백업 시작 시간과 같은 대부분의 다른 설정에 사용됩니다.create-server
명령을 실행하기 전에 AWS OpsWorks for Chef Automate 사용자 안내서의 AWS OpsWorks for Chef Automate 시작하기에서 사전 조건을 완료합니다.aws opsworks-cm create-server \ --engine
"Chef"
\ --engine-model"Single"
\ --engine-version"12"
\ --server-name"automate-06"
\ --instance-profile-arn"arn:aws:iam::1019881987024:instance-profile/aws-opsworks-cm-ec2-role"
\ --instance-type"t2.medium"
\ --key-pair"amazon-test"
\ --service-role-arn"arn:aws:iam::044726508045:role/aws-opsworks-cm-service-role"
출력에는 새 서버에 대한 다음과 유사한 정보가 표시됩니다.
{ "Server": { "BackupRetentionCount": 10, "CreatedAt": 2016-07-29T13:38:47.520Z, "DisableAutomatedBackup": FALSE, "Endpoint": "https://opsworks-cm.us-east-1.amazonaws.com", "Engine": "Chef", "EngineAttributes": [ { "Name": "CHEF_DELIVERY_ADMIN_PASSWORD", "Value": "1Password1" } ], "EngineModel": "Single", "EngineVersion": "12", "InstanceProfileArn": "arn:aws:iam::1019881987024:instance-profile/aws-opsworks-cm-ec2-role", "InstanceType": "t2.medium", "KeyPair": "amazon-test", "MaintenanceStatus": "", "PreferredBackupWindow": "Sun:02:00", "PreferredMaintenanceWindow": "00:00", "SecurityGroupIds": [ "sg-1a24c270" ], "ServerArn": "arn:aws:iam::1019881987024:instance/automate-06-1010V4UU2WRM2", "ServerName": "automate-06", "ServiceRoleArn": "arn:aws:iam::1019881987024:role/aws-opsworks-cm-service-role", "Status": "CREATING", "StatusReason": "", "SubnetIds": [ "subnet-49436a18" ] } }
자세한 내용은 AWS OpsWorks for Chef Automate API 참조의 UpdateServer를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 CreateServer
를 참조하세요.
-
다음 코드 예시에서는 delete-backup
의 사용 방법을 보여줍니다.
- AWS CLI
-
백업 삭제
다음
delete-backup
명령은 백업 ID로 식별되는 Chef Automate 서버의 수동 또는 자동 백업을 삭제합니다. 이 명령은 저장할 수 있는 최대 백업 수에 도달하거나 Amazon S3 스토리지 비용을 최소화하려는 경우에 유용합니다.aws opsworks-cm delete-backup --backup-id
"automate-06-2016-11-19T23:42:40.240Z"
출력에는 백업 삭제 성공 여부가 표시됩니다.
추가 정보
자세한 내용은 AWS OpsWorks 사용자 안내서의 AWS OpsWorks for Chef Automate 백업 및 복원을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 DeleteBackup
을 참조하세요.
-
다음 코드 예시에서는 delete-server
의 사용 방법을 보여줍니다.
- AWS CLI
-
서버 삭제
다음
delete-server
명령은 서버 이름으로 식별되는 Chef Automate 서버를 삭제합니다. 서버가 삭제된 후에는DescribeServer
요청에 의해 더 이상 반환되지 않습니다.aws opsworks-cm delete-server --server-name
"automate-06"
출력에는 서버 삭제 성공 여부가 표시됩니다.
추가 정보
자세한 내용은 AWS OpsWorks 사용자 안내서의 AWS OpsWorks for Chef Automate 삭제를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 DeleteServer
를 참조하세요.
-
다음 코드 예시에서는 describe-account-attributes
의 사용 방법을 보여줍니다.
- AWS CLI
-
계정 속성 설명
다음
describe-account-attributes
명령은 계정에서 AWS OpsWorks for Chef Automate 리소스를 사용한 정보를 반환합니다.aws opsworks-cm describe-account-attributes
명령에서 반환되는 각 계정 속성 항목의 출력은 다음과 유사합니다. 출력:
{ "Attributes": [ { "Maximum": 5, "Name": "ServerLimit", "Used": 2 } ] }
추가 정보
자세한 내용은 AWS OpsWorks for Chef Automate API 참조의 DescribeAccountAttributes를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 DescribeAccountAttributes
를 참조하세요.
-
다음 코드 예시에서는 describe-backups
의 사용 방법을 보여줍니다.
- AWS CLI
-
백업 설명
다음
describe-backups
명령은 기본 리전의 계정에 연결된 모든 백업의 정보를 반환합니다.aws opsworks-cm describe-backups
명령에서 반환되는 각 백업 항목의 출력은 다음과 유사합니다.
출력:
{ "Backups": [ { "BackupArn": "string", "BackupId": "automate-06-20160729133847520", "BackupType": "MANUAL", "CreatedAt": 2016-07-29T13:38:47.520Z, "Description": "state of my infrastructure at launch", "Engine": "Chef", "EngineModel": "Single", "EngineVersion": "12", "InstanceProfileArn": "arn:aws:iam::1019881987024:instance-profile/automate-06-1010V4UU2WRM2", "InstanceType": "m4.large", "KeyPair": "", "PreferredBackupWindow": "", "PreferredMaintenanceWindow": "", "S3LogUrl": "https://s3.amazonaws.com/<bucket-name>/automate-06-20160729133847520", "SecurityGroupIds": [ "sg-1a24c270" ], "ServerName": "automate-06", "ServiceRoleArn": "arn:aws:iam::1019881987024:role/aws-opsworks-cm-service-role.1114810729735", "Status": "Successful", "StatusDescription": "", "SubnetIds": [ "subnet-49436a18" ], "ToolsVersion": "string", "UserArn": "arn:aws:iam::1019881987024:user/opsworks-user" } ], }
자세한 내용은 AWS OpsWorks 사용자 안내서의 AWS OpsWorks for Chef Automate 백업 및 복원을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 DescribeBackups
를 참조하세요.
-
다음 코드 예시에서는 describe-events
의 사용 방법을 보여줍니다.
- AWS CLI
-
이벤트 설명
다음
describe-events
예시에서는 지정된 Chef Automate 서버에 연결된 모든 이벤트의 정보를 반환합니다.aws opsworks-cm describe-events \ --server-name '
automate-06
'명령에서 반환되는 각 이벤트 항목의 출력은 다음 예시와 유사합니다.
{ "ServerEvents": [ { "CreatedAt": 2016-07-29T13:38:47.520Z, "LogUrl": "https://s3.amazonaws.com/<bucket-name>/automate-06-20160729133847520", "Message": "Updates successfully installed.", "ServerName": "automate-06" } ] }
자세한 내용은 AWS OpsWorks 사용자 안내서의 일반 문제 해결 팁을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 DescribeEvents
를 참조하세요.
-
다음 코드 예시에서는 describe-node-association-status
의 사용 방법을 보여줍니다.
- AWS CLI
-
노드 연결 상태 설명
다음
describe-node-association-status
명령은 노드를automate-06
이라는 Chef Automate 서버에 연결하라는 요청의 상태를 반환합니다.aws opsworks-cm describe-node-association-status --server-name
"automate-06"
--node-association-status-token"AflJKl+/GoKLZJBdDQEx0O65CDi57blQe9nKM8joSok0pQ9xr8DqApBN9/1O6sLdSvlfDEKkEx+eoCHvjoWHaOs="
명령에서 반환되는 각 계정 속성 항목의 출력은 다음과 유사합니다. 출력:
{ "NodeAssociationStatus": "IN_PROGRESS" }
추가 정보
자세한 내용은 AWS OpsWorks for Chef Automate API 참조의 DescribeNodeAssociationStatus를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 DescribeNodeAssociationStatus
를 참조하세요.
-
다음 코드 예시에서는 describe-servers
의 사용 방법을 보여줍니다.
- AWS CLI
-
서버 설명
다음
describe-servers
명령은 계정에 연결되고 기본 리전에 있는 모든 서버의 정보를 반환합니다.aws opsworks-cm describe-servers
명령에서 반환되는 각 서버 항목의 출력은 다음과 유사합니다. 출력:
{ "Servers": [ { "BackupRetentionCount": 8, "CreatedAt": 2016-07-29T13:38:47.520Z, "DisableAutomatedBackup": FALSE, "Endpoint": "https://opsworks-cm.us-east-1.amazonaws.com", "Engine": "Chef", "EngineAttributes": [ { "Name": "CHEF_DELIVERY_ADMIN_PASSWORD", "Value": "1Password1" } ], "EngineModel": "Single", "EngineVersion": "12", "InstanceProfileArn": "arn:aws:iam::1019881987024:instance-profile/automate-06-1010V4UU2WRM2", "InstanceType": "m4.large", "KeyPair": "", "MaintenanceStatus": "SUCCESS", "PreferredBackupWindow": "03:00", "PreferredMaintenanceWindow": "Mon:09:00", "SecurityGroupIds": [ "sg-1a24c270" ], "ServerArn": "arn:aws:iam::1019881987024:instance/automate-06-1010V4UU2WRM2", "ServerName": "automate-06", "ServiceRoleArn": "arn:aws:iam::1019881987024:role/aws-opsworks-cm-service-role.1114810729735", "Status": "HEALTHY", "StatusReason": "", "SubnetIds": [ "subnet-49436a18" ] } ] }
추가 정보
자세한 내용은 AWS OpsWorks for Chef Automate API 안내서의 DescribeServers를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 DescribeServers
를 참조하세요.
-
다음 코드 예시에서는 disassociate-node
의 사용 방법을 보여줍니다.
- AWS CLI
-
노드 연결 해제
다음
disassociate-node
명령은automate-06
라는 Chef Automate 서버의 관리에서i-44de882p
라는 노드를 제거하여 해당 노드의 연결을 해제합니다. 유효한 노드 이름은 EC2 인스턴스 ID입니다.aws opsworks-cm disassociate-node --server-name
"automate-06"
--node-name"i-43de882p"
--engine-attributes"Name=CHEF_ORGANIZATION,Value='MyOrganization' Name=CHEF_NODE_PUBLIC_KEY,Value='Public_key_contents'"
명령에서 반환되는 출력은 다음과 유사합니다. 출력:
{ "NodeAssociationStatusToken": "AHUY8wFe4pdXtZC5DiJa5SOLp5o14DH//rHRqHDWXxwVoNBxcEy4V7R0NOFymh7E/1HumOBPsemPQFE6dcGaiFk" }
추가 정보
자세한 내용은 AWS OpsWorks 사용자 안내서의 AWS OpsWorks for Chef Automate 삭제를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 DisassociateNode
를 참조하세요.
-
다음 코드 예시에서는 restore-server
의 사용 방법을 보여줍니다.
- AWS CLI
-
서버 복원
다음
restore-server
명령은 ID가automate-06-2016-11-22T16:13:27.998Z
인 백업에서 기본 리전에automate-06
이라는 Chef Automate 서버의 인플레이스 복원을 수행합니다. 서버를 복원하면 지정된 백업이 수행된 시점에 Chef Automate 서버가 관리하고 있던 노드에 대한 연결이 복원됩니다.aws opsworks-cm restore-server --backup-id "automate-06-2016-11-22T16:13:27.998Z" --server-name "automate-06"
출력은 명령 ID뿐입니다. 출력:
(None)
추가 정보
자세한 내용은 AWS OpsWorks 사용자 안내서의 실패한 AWS OpsWorks for Chef Automate 복원을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 RestoreServer
를 참조하세요.
-
다음 코드 예시에서는 start-maintenance
의 사용 방법을 보여줍니다.
- AWS CLI
-
유지 관리 시작
다음
start-maintenance
예시에서는 기본 리전에서 지정된 Chef Automate 또는 Puppet Enterprise 서버에 대한 유지 관리를 수동으로 시작합니다. 이 명령은 이전의 자동 유지 관리 시도가 실패하고 유지 관리 실패의 근본 원인이 해결된 경우에 유용합니다.aws opsworks-cm start-maintenance \ --server-name '
automate-06
'출력:
{ "Server": { "AssociatePublicIpAddress": true, "BackupRetentionCount": 10, "ServerName": "automate-06", "CreatedAt": 1569229584.842, "CloudFormationStackArn": "arn:aws:cloudformation:us-west-2:123456789012:stack/aws-opsworks-cm-instance-automate-06-1606611794746/EXAMPLE0-31de-11eb-bdb0-0a5b0a1353b8", "DisableAutomatedBackup": false, "Endpoint": "automate-06-EXAMPLEvr8gjfk5f.us-west-2.opsworks-cm.io", "Engine": "ChefAutomate", "EngineModel": "Single", "EngineAttributes": [], "EngineVersion": "2020-07", "InstanceProfileArn": "arn:aws:iam::123456789012:instance-profile/aws-opsworks-cm-ec2-role", "InstanceType": "m5.large", "PreferredMaintenanceWindow": "Sun:01:00", "PreferredBackupWindow": "Sun:15:00", "SecurityGroupIds": [ "sg-EXAMPLE" ], "ServiceRoleArn": "arn:aws:iam::123456789012:role/service-role/aws-opsworks-cm-service-role", "Status": "UNDER_MAINTENANCE", "SubnetIds": [ "subnet-EXAMPLE" ], "ServerArn": "arn:aws:opsworks-cm:us-west-2:123456789012:server/automate-06/0148382d-66b0-4196-8274-d1a2b6dff8d1" } }
자세한 내용은 AWS OpsWorks 사용자 안내서의 시스템 유지 관리(Puppet Enterprise 서버) 또는 시스템 유지 관리(Chef Automate 서버)를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 StartMaintenance
를 참조하세요.
-
다음 코드 예시에서는 update-server-engine-attributes
의 사용 방법을 보여줍니다.
- AWS CLI
-
서버 엔진 속성 업데이트
다음
update-server-engine-attributes
명령은automate-06
이라는 Chef Automate 서버의CHEF_PIVOTAL_KEY
엔진 속성 값을 업데이트합니다. 현재 다른 엔진 속성의 값을 변경할 수 없습니다.aws opsworks-cm update-server-engine-attributes \ --attribute-name
CHEF_PIVOTAL_KEY
\ --attribute-value"new key value"
\ --server-name"automate-06"
출력에는 업데이트된 서버에 대한 다음과 유사한 정보가 표시됩니다.
{ "Server": { "BackupRetentionCount": 2, "CreatedAt": 2016-07-29T13:38:47.520Z, "DisableAutomatedBackup": FALSE, "Endpoint": "https://opsworks-cm.us-east-1.amazonaws.com", "Engine": "Chef", "EngineAttributes": [ { "Name": "CHEF_PIVOTAL_KEY", "Value": "new key value" } ], "EngineModel": "Single", "EngineVersion": "12", "InstanceProfileArn": "arn:aws:iam::1019881987024:instance-profile/automate-06-1010V4UU2WRM2", "InstanceType": "m4.large", "KeyPair": "", "MaintenanceStatus": "SUCCESS", "PreferredBackupWindow": "Mon:09:15", "PreferredMaintenanceWindow": "03:00", "SecurityGroupIds": [ "sg-1a24c270" ], "ServerArn": "arn:aws:iam::1019881987024:instance/automate-06-1010V4UU2WRM2", "ServerName": "automate-06", "ServiceRoleArn": "arn:aws:iam::1019881987024:role/aws-opsworks-cm-service-role.1114810729735", "Status": "HEALTHY", "StatusReason": "", "SubnetIds": [ "subnet-49436a18" ] } }
자세한 내용은 AWS OpsWorks for Chef Automate API 참조의 UpdateServerEngineAttributes를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 UpdateServerEngineAttributes
를 참조하세요.
-
다음 코드 예시에서는 update-server
의 사용 방법을 보여줍니다.
- AWS CLI
-
서버 업데이트
다음
update-server
명령은 기본 리전에서 지정된 Chef Automate 서버의 유지 관리 시작 시간을 업데이트합니다.--preferred-maintenance-window
파라미터가 추가되어 서버 유지 관리의 시작 날짜와 시간을 UTC 기준 월요일 오전 9시 15분으로 변경합니다.aws opsworks-cm update-server \ --server-name
"automate-06"
\ --preferred-maintenance-window"Mon:09:15"
출력에는 업데이트된 서버에 대한 다음과 유사한 정보가 표시됩니다.
{ "Server": { "BackupRetentionCount": 8, "CreatedAt": 2016-07-29T13:38:47.520Z, "DisableAutomatedBackup": TRUE, "Endpoint": "https://opsworks-cm.us-east-1.amazonaws.com", "Engine": "Chef", "EngineAttributes": [ { "Name": "CHEF_DELIVERY_ADMIN_PASSWORD", "Value": "1Password1" } ], "EngineModel": "Single", "EngineVersion": "12", "InstanceProfileArn": "arn:aws:iam::1019881987024:instance-profile/automate-06-1010V4UU2WRM2", "InstanceType": "m4.large", "KeyPair": "", "MaintenanceStatus": "OK", "PreferredBackupWindow": "Mon:09:15", "PreferredMaintenanceWindow": "03:00", "SecurityGroupIds": [ "sg-1a24c270" ], "ServerArn": "arn:aws:iam::1019881987024:instance/automate-06-1010V4UU2WRM2", "ServerName": "automate-06", "ServiceRoleArn": "arn:aws:iam::1019881987024:role/aws-opsworks-cm-service-role.1114810729735", "Status": "HEALTHY", "StatusReason": "", "SubnetIds": [ "subnet-49436a18" ] } }
자세한 내용은 AWS OpsWorks for Chef Automate API 참조의 UpdateServer를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 UpdateServer
를 참조하세요.
-