Systems Manager를 통한 엣지 디바이스 관리
이 섹션에서는 계정 및 시스템 관리자가 AWS IoT Greengrass 코어 디바이스의 구성 및 관리를 활성화하기 위해 수행하는 설정 작업을 설명합니다. 이러한 태스크를 수행한 후, AWS 계정 관리자에게 권한을 부여받은 관리자는 AWS Systems Manager를 사용해 조직의 AWS IoT Greengrass 코어 디바이스를 구성하고 관리할 수 있습니다.
-
AWS IoT Greengrass용 SSM Agent는 macOS 및 Windows 10에서 지원되지 않습니다. Systems Manager 기능을 사용하여 이러한 운영 체제를 사용하는 엣지 디바이스를 관리하고 구성할 수 없습니다.
-
Systems Manager는 AWS IoT Greengrass 코어 디바이스로 구성되지 않은 엣지 디바이스도 지원합니다. Systems Manager를 사용하여 AWS IoT 코어 디바이스 및 비 AWS 엣지 디바이스를 관리하려면 하이브리드 정품 인증을 사용하여 구성해야 합니다. 자세한 내용은 Systems Manager로 하이브리드 및 멀티클라우드 환경에서 서버 관리 단원을 참조하십시오.
-
엣지 디바이스에서 Session Manager 및 Microsoft 애플리케이션 패치를 사용하려면 고급 인스턴스 티어를 사용해야 합니다. 자세한 내용은 고급 인스턴스 티어 설정 단원을 참조하십시오.
시작하기 전 준비 사항
엣지 디바이스가 다음 요구 사항을 충족하는지 확인합니다.
-
AWS IoT Greengrass 코어 디바이스로 구성되려면, 엣지 디바이스는 요구 사항을 충족해야 합니다. 자세한 내용은 AWS IoT Greengrass Version 2 개발자 안내서의 AWS IoT Greengrass 코어 디바이스 설정 섹션을 참조하세요.
-
엣지 디바이스는 AWS Systems Manager 에이전트(SSM Agent)와 호환되어야 합니다. 자세한 내용은 Systems Manager가 지원되는 운영 체제 단원을 참조하십시오.
-
엣지 디바이스는 클라우드의 Systems Manager 서비스와 통신할 수 있어야 합니다. Systems Manager는 연결이 끊긴 엣지 디바이스를 지원하지 않습니다.
엣지 디바이스 설정 정보
Systems Manager용 AWS IoT Greengrass 디바이스 설정에는 다음 프로세스가 포함됩니다.
엣지 디바이스에 대한 IAM 서비스 역할 생성
AWS IoT Greengrass 코어 디바이스는 AWS Identity and Access Management(IAM) 서비스 역할을 사용하여 AWS Systems Manager과 통신합니다. 역할이 Systems Manager 서비스에 AWS Security Token Service(AWS STS) AssumeRole 신뢰를 부여합니다. 각 AWS 계정에 대해 한 번만 서비스 역할을 생성하면 됩니다. AWS IoT Greengrass 디바이스에 SSM Agent 구성 요소를 구성하고 배포할 때 RegistrationRole
파라미터를 위한 이 역할을 지정하게 됩니다. 하이브리드 및 멀티클라우드 환경의 비 EC2 노드를 설정하면서 이 역할을 이미 생성했다면 이 단계를 건너뛸 수 있습니다.
엣지 디바이스를 기반으로 Systems Manager를 사용할 회사 또는 조직의 사용자에게는 IAM에서 Systems Manager API를 호출할 수 있는 권한이 주어져야 합니다.
S3 버킷 정책 요구 사항
다음 사례 중 하나에 해당되는 경우 이 절차를 완료하기 전에 Amazon Simple Storage Service(Amazon S3) 버킷에 대한 사용자 정의 IAM 권한 정책을 생성해야 합니다.
-
사례 1: VPC 엔드포인트를 사용하여 VPC를 지원되는 AWS 서비스 및 AWS PrivateLink에 의해 제공되는 VPC 엔드포인트 서비스에 비공개로 연결하고 있습니다.
-
사례 2: S3 버킷에 대한 Run Command 명령 또는 Session Manager 세션의 출력을 저장하기 위한 작업 등 Systems Manager 작업의 일부로 생성되는 S3 버킷을 사용할 계획입니다. 진행하기 전에 인스턴스 프로파일에 대한 사용자 정의 S3 버킷 정책 생성의 단계를 수행합니다. 해당 주제의 S3 버킷 정책에 대한 정보 또한 서비스 역할에 적용됩니다.
디바이스가 방화벽으로 보호되고 Patch Manager를 사용할 계획인 경우, 방화벽은 패치 기준 엔드포인트 arn:aws:s3:::patch-baseline-snapshot-region
/*
에 액세스를 허용해야 합니다.
리전
은 미국 동부(오하이오) 리전의 us-east-2
같이 AWS Systems Manager가 지원하는 AWS 리전의 식별자를 나타냅니다. 지원되는 리전
값 목록은 Amazon Web Services 일반 참조의 Systems Manager 서비스 엔드포인트에 있는 리전 열을 참조하세요.
- AWS CLI
-
AWS IoT Greengrass 환경(AWS CLI)을 위한 IAM 서비스 역할 생성
아직 하지 않은 경우 AWS Command Line Interface(AWS CLI)를 설치하고 구성합니다.
자세한 내용은 최신 버전의 AWS CLI 설치 또는 업데이트를 참조하세요.
-
로컬 컴퓨터에서 다음 신뢰 정책과 함께 SSMService-Trust.json
과 같은 이름으로 텍스트 파일을 생성합니다. 파일을 .json
파일 확장명으로 저장해야 합니다.
이름을 기록해 둡니다. AWS IoT Greengrass 코어 디바이스에 SSM Agent를 배포할 때 이를 지정하게 됩니다.
{
"Version": "2012-10-17",
"Statement": {
"Effect": "Allow",
"Principal": {
"Service": "ssm.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
}
-
AWS CLI를 열고, JSON 파일을 생성한 디렉터리에서 create-role 명령을 사용하여 서비스 역할을 생성합니다. 각 example resource placeholder
를 사용자의 정보로 바꿉니다.
Linux & macOS
aws iam create-role \
--role-name SSMServiceRole
\
--assume-role-policy-document file://SSMService-Trust
.json
Windows
aws iam create-role ^
--role-name SSMServiceRole
^
--assume-role-policy-document file://SSMService-Trust
.json
-
다음과 같이 attach-role-policy 명령을 실행하여, 방금 생성한 서비스 역할이 세션 토큰을 생성할 수 있도록 허용합니다. 세션 토큰은 Systems Manager를 사용하여 명령을 실행할 수 있도록 엣지 디바이스 권한을 부여합니다.
엣지 디바이스를 위한 서비스 프로파일을 위해 추가하는 정책은 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스를 위한 인스턴스 프로파일을 생성하는 데 사용되는 정책과 동일합니다. 다음 명령에 사용되는 IAM 정책에 대한 자세한 내용은 Systems Manager에 필요한 인스턴스 권한 구성을 참조하세요.
(필수) 다음 명령을 실행하여 엣지 디바이스가 AWS Systems Manager 서비스 핵심 기능을 사용할 수 있게 허용합니다.
Linux & macOS
aws iam attach-role-policy \
--role-name SSMServiceRole
\
--policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore
Windows
aws iam attach-role-policy ^
--role-name SSMServiceRole
^
--policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore
서비스 역할을 위한 사용자 정의 S3 버킷 정책을 생성한 경우 다음 명령을 실행하여 AWS Systems Manager Agent(SSM Agent)가 정책에서 지정한 버킷에 액세스할 수 있게 합니다. account-id
및 my-bucket-policy-name
을 AWS 계정 ID 및 버킷 이름으로 바꿉니다.
Linux & macOS
aws iam attach-role-policy \
--role-name SSMServiceRole
\
--policy-arn arn:aws:iam::account_ID
:policy/my_bucket_policy_name
Windows
aws iam attach-role-policy ^
--role-name SSMServiceRole
^
--policy-arn arn:aws:iam::account_id
:policy/my_bucket_policy_name
(선택) 다음 명령을 실행하여 SSM Agent가 엣지 디바이스로부터 도메인 조인 요청을 위해 사용자 대신 AWS Directory Service에 액세스하도록 허용합니다. 엣지 디바이스를 Microsoft AD 디렉터리에 조인하는 경우에만 서비스 역할에 이 정책이 필요합니다.
Linux & macOS
aws iam attach-role-policy \
--role-name SSMServiceRole
\
--policy-arn arn:aws:iam::aws:policy/AmazonSSMDirectoryServiceAccess
Windows
aws iam attach-role-policy ^
--role-name SSMServiceRole
^
--policy-arn arn:aws:iam::aws:policy/AmazonSSMDirectoryServiceAccess
(선택) 다음 명령을 실행하여 CloudWatch 에이전트가 엣지 디바이스에서 실행되도록 허용합니다. 이 명령을 사용하면 디바이스에서 정보를 읽고 CloudWatch에 쓸 수 있습니다. Amazon EventBridge 또는 Amazon CloudWatch Logs 등의 서비스를 사용할 경우에만 서비스 역할에 이 정책이 필요합니다.
aws iam attach-role-policy \
--role-name SSMServiceRole
\
--policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
- Tools for PowerShell
-
AWS IoT Greengrass 환경(AWS Tools for Windows PowerShell)을 위한 IAM 서비스 역할 생성
아직 설치하지 않은 경우 AWS Tools for PowerShell(Tools for Windows PowerShell)을 설치하고 구성합니다.
자세한 내용은 AWS Tools for PowerShell 설치를 참조하세요.
-
로컬 컴퓨터에서 다음 신뢰 정책과 함께 SSMService-Trust.json
과 같은 이름으로 텍스트 파일을 생성합니다. 파일을 .json
파일 확장명으로 저장해야 합니다.
이름을 기록해 둡니다. AWS IoT Greengrass 코어 디바이스에 SSM Agent를 배포할 때 이를 지정하게 됩니다.
{
"Version": "2012-10-17",
"Statement": {
"Effect": "Allow",
"Principal": {
"Service": "ssm.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
}
-
관리 모드에서 PowerShell을 열고 JSON 파일을 생성한 디렉터리에서 New-IAMRole을 실행해 다음과 같이 서비스 역할을 생성합니다.
New-IAMRole `
-RoleName SSMServiceRole
`
-AssumeRolePolicyDocument (Get-Content -raw SSMService-Trust
.json)
-
다음과 같이 Register-IAMRolePolicy를 사용하여, 생성한 서비스 역할이 세션 토큰을 생성할 수 있도록 허용합니다. 세션 토큰은 Systems Manager를 사용하여 명령을 실행할 수 있도록 엣지 디바이스 권한을 부여합니다.
AWS IoT Greengrass 환경의 엣지 디바이스를 위한 서비스 역할을 위해 추가하는 정책은 EC2 인스턴스를 위한 인스턴스 프로파일을 생성하는 데 사용되는 정책과 동일합니다. 다음 명령에 사용되는 AWS 정책에 대한 자세한 내용은 Systems Manager에 필요한 인스턴스 권한 구성을 참조하세요.
(필수) 다음 명령을 실행하여 엣지 디바이스가 AWS Systems Manager 서비스 핵심 기능을 사용할 수 있게 허용합니다.
Register-IAMRolePolicy `
-RoleName SSMServiceRole
`
-PolicyArn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore
서비스 역할을 위한 사용자 정의 S3 버킷 정책을 생성한 경우 다음 명령을 실행하여 SSM Agent가 정책에서 지정한 버킷에 액세스할 수 있게 허용합니다. account-id
및 my-bucket-policy-name
을 AWS 계정 ID 및 버킷 이름으로 바꿉니다.
Register-IAMRolePolicy `
-RoleName SSMServiceRole
`
-PolicyArn arn:aws:iam::account_ID
:policy/my_bucket_policy_name
(선택) 다음 명령을 실행하여 SSM Agent가 엣지 디바이스로부터 도메인 조인 요청을 위해 사용자 대신 AWS Directory Service에 액세스하도록 허용합니다. 엣지 디바이스를 Microsoft AD 디렉터리에 조인하는 경우에만 서비스 역할에 이 정책이 필요합니다.
Register-IAMRolePolicy `
-RoleName SSMServiceRole
`
-PolicyArn arn:aws:iam::aws:policy/AmazonSSMDirectoryServiceAccess
(선택) 다음 명령을 실행하여 CloudWatch 에이전트가 엣지 디바이스에서 실행되도록 허용합니다. 이 명령을 사용하면 디바이스에서 정보를 읽고 CloudWatch에 쓸 수 있습니다. Amazon EventBridge 또는 Amazon CloudWatch Logs 등의 서비스를 사용할 경우에만 서비스 역할에 이 정책이 필요합니다.
Register-IAMRolePolicy `
-RoleName SSMServiceRole
`
-PolicyArn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
AWS IoT Greengrass를 위한 엣지 디바이스를 구성
엣지 디바이스를 AWS IoT Greengrass 코어 디바이스로 설정합니다. 설치 프로세스에는 디바이스에 AWS IoT Greengrass 코어 소프트웨어를 설치하고 구성하는 것뿐만 아니라 지원되는 운영 체제 및 시스템 요구 사항을 확인하는 일이 포함됩니다. 자세한 내용은 AWS IoT Greengrass 개발자 안내서의 AWS IoT Greengrass Version 2 코어 디바이스 설정 섹션을 참조하세요.
AWS IoT Greengrass 토큰 교환 역할 업데이트 및 엣지 디바이스에 SSM Agent 설치
Systems Manager용 AWS IoT Greengrass 코어 디바이스 설정 및 구성을 위한 마지막 단계에서는 토큰 교환 역할이라고도 부르는 AWS IoT Greengrass AWS Identity and Access Management(IAM) 디바이스 서비스 역할을 업데이트해야 하며 AWS IoT Greengrass 디바이스에 AWS Systems Manager 에이전트(SSM Agent)를 배포해야 합니다. 이러한 프로세스에 대한 자세한 내용은 AWS IoT Greengrass Version 2 개발자 안내서의 AWS Systems Manager 에이전트 설치를 참조하세요.
디바이스에 SSM Agent를 배포하고 나면, AWS IoT Greengrass가 자동으로 Systems Manager에 디바이스를 등록합니다. 추가 등록은 필요하지 않습니다. Systems Manager 기능을 사용하여 AWS IoT Greengrass 디바이스의 액세스, 관리 및 구성 작업을 시작할 수 있습니다.
엣지 디바이스는 클라우드의 Systems Manager 서비스와 통신할 수 있어야 합니다. Systems Manager는 연결이 끊긴 엣지 디바이스를 지원하지 않습니다.