S3 버킷에 펌웨어 파일 업로드 및 IAM 역할 추가
Amazon S3를 사용하여 버킷을 생성합니다. 버킷은 펌웨어 업데이트 파일을 저장할 수 있는 컨테이너입니다. 파일을 S3 버킷에 업로드하고 CUPS 서버가 버킷에서 업데이트 파일을 읽을 수 있도록 하는 IAM 역할을 추가할 수 있습니다. Amazon S3에 대한 자세한 내용은 S3 시작하기를 참조하세요.
업로드하려는 펌웨어 업데이트 파일은 사용 중인 게이트웨이에 따라 다릅니다. 펌웨어 업데이트 파일 및 서명 생성에 설명된 것과 유사한 절차를 수행한 경우 스크립트를 실행하여 생성된 fwstation
파일을 업로드합니다.
이 절차를 완료하는 데 약 20분이 소요됩니다.
Amazon S3 버킷 생성 및 업데이트 파일 업로드
AWS Management Console을 사용하여 Amazon S3 버킷을 생성한 다음 펌웨어 업데이트 파일을 버킷에 업로드합니다.
S3 버킷 생성
Amazon S3 버킷을 생성하려면 Amazon S3 콘솔
-
버킷 생성을 선택합니다.
-
버킷 이름에 대해 고유하고 의미 있는 이름(예:
iotwirelessfwupdate
)을 입력합니다. 버킷에 대한 권장 명명 규칙은 https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html 단원을 참조하세요. -
AWS 리전을 LoRaWAN 게이트웨이 및 디바이스를 만드는 데 사용한 것으로 선택했는지, 버킷이 기본 권한을 사용하도록 모든 퍼블릭 액세스 차단 설정이 선택되어 있는지 확인합니다.
-
버킷 버전 관리(Bucket versioning)에서 활성화(Enable)를 선택합니다. 그러면 여러 가지 버전의 펌웨어 업데이트 파일을 동일한 버킷에 보관하는 데 도움이 됩니다.
-
서버 측 암호화(Server-side encryption)가 비활성화(Disable)로 설정되어 있는지 확인하고 버킷 생성(Create bucket)을 선택합니다.
펌웨어 업데이트 파일 업로드
이제 AWS Management Console에 표시된 버킷 목록에서 버킷을 볼 수 있습니다. 버킷을 선택하고 다음 단계를 완료하여 파일을 업로드합니다.
-
버킷을 선택한 다음 업로드를 선택합니다.
-
파일 추가를 클릭한 다음 펌웨어 업데이트 파일을 업로드합니다. 펌웨어 업데이트 파일 및 서명 생성에서 설명한 절차를 수행한 경우,
fwstation
파일을 업로드합니다. 그렇지 않으면 게이트웨이 제조업체에서 제공한 파일을 업로드합니다. -
모든 설정이 기본값으로 설정되어 있는지 확인합니다. 미리 정의된 ACL(Predefined ACLs)이 프라이빗(private)으로 설정되어 있는지 확인하고 업로드를 선택하여 파일을 업로드합니다.
-
업로드한 파일의 S3 URI를 복사합니다. 버킷을 선택하면 업로드한 파일이 객체 목록에 표시됩니다. 파일을 선택한 후 S3 URI 복사를 선택합니다. URI는 이전에 설명한 예제(
fwstation
)와 비슷한 버킷 이름을 지정한 경우s3://iotwirelessfwupdate/fwstation
형태입니다. IAM 역할을 만들 때 S3 URI를 사용합니다.
S3 버킷을 읽을 수 있는 권한이 있는 IAM 역할 생성
이제 CUPS에 S3 버킷에서 펌웨어 업데이트 파일을 읽을 수 있는 권한을 부여하는 IAM 역할과 정책을 생성합니다.
역할에 대한 IAM 정책 생성
AWS IoT Core for LoRaWAN 대상 역할에 대한 IAM 정책을 생성하려면 IAM 콘솔의 정책 허브
-
정책 생성을 선택한 후 JSON 탭을 선택합니다.
-
편집기의 모든 내용을 삭제하고 이 정책 문서를 붙여 넣습니다. 정책은
iotwireless
버킷과 객체 내부에 저장된 펌웨어 업데이트 파일인fwstation
에 액세스할 수 있는 권한을 제공합니다.{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "s3:ListBucketVersions", "s3:ListBucket", "s3:GetObject" ], "Resource": [ "arn:aws:s3:::iotwirelessfwupdate/fwstation", "arn:aws:s3:::iotwirelessfwupdate" ] } ] }
-
정책 검토를 선택하고 이름에 이 정책의 이름(예:
IoTWirelessFwUpdatePolicy
)을 입력합니다. 다음 절차에서 이 이름을 사용해야 합니다. -
정책 생성을 선택합니다.
연결된 정책으로 IAM 역할 생성
이제 IAM 역할을 생성하여 이전에 S3 버킷을 액세스하기 위해 생성한 정책을 연결합니다. IAM 콘솔의 역할 허브
-
역할 생성을 선택합니다.
-
신뢰할 수 있는 엔터티 유형 선택(Select type of trusted entity)에서 다른 AWS 계정을 선택합니다.
-
계정 ID에 AWS 계정 ID를 입력한 후 다음: 권한을 선택합니다.
-
검색 상자에 이전 절차에서 생성한 IAM 정책의 이름을 입력합니다. 검색 결과에서 이전에 만든 IAM 정책(예:
IoTWirelessFwUpdatePolicy
)을 확인하고 선택합니다. -
Next: Tags(다음: 태그)를 선택한 후 Next: Review(다음: 검토)를 선택합니다.
-
역할 이름에 이 역할의 이름(예:
IoTWirelessFwUpdateRole
)을 입력한 후 역할 생성을 선택합니다.
IAM 역할의 신뢰 관계 편집
이전 단계를 실행한 후 표시되는 확인 메시지에서 생성한 역할 이름을 선택하고 편집합니다. 다음 신뢰 관계를 추가하기 위해 역할을 편집합니다.
-
생성한 역할에 대한 요약 페이지에서 신뢰 관계 탭을 선택한 후 신뢰 관계 편집을 선택합니다.
-
정책 문서에서
Principal
속성을 다음 예시처럼 변경합니다."Principal": { "Service": "iotwireless.amazonaws.com" },
Principal
속성을 변경한 후 전체 정책 문서가 다음 예시와 같은 형식이어야 합니다.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "iotwireless.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": {} } ] }
-
변경 사항을 저장하고 종료하려면 신뢰 정책 업데이트(Update Trust Policy)를 선택합니다.
-
사용자 역할에 대한 ARN을 획득합니다. IAM 역할을 선택하면 요약 섹션에 역할 ARN(예:
arn:aws:iam::123456789012:role/IoTWirelessFwUpdateRole
)이 표시됩니다. 역할 ARN을 복사합니다.
다음 단계 검토
이제 S3 버킷과 CUPS 서버가 S3 버킷을 읽을 수 있도록 하는 IAM 역할을 만들었으므로 다음 항목으로 이동하여 펌웨어 업데이트를 예약하고 실행합니다. 펌웨어 업데이트 수행을 위해 실행될 작업 정의를 생성할 때 입력할 수 있도록, 이전에 복사한 S3 URI 및 역할 ARN을 기록해 둡니다.