AWS CloudFormation での AWS IoT Greengrass リソースの作成 - AWS IoT Greengrass

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

AWS CloudFormation での AWS IoT Greengrass リソースの作成

AWS IoT Greengrass は、リソースとインフラストラクチャの作成と管理の所要時間を短縮できるように AWS リソースをモデル化して設定するためのサービスである AWS CloudFormation と統合されています。必要なすべての AWS リソース (コンポーネントバージョンやデプロイなど) を説明するテンプレートを作成すれば、AWS CloudFormation がお客様に代わってこれらのリソースのプロビジョニングや設定を処理します。

AWS CloudFormation を使用すると、テンプレートを再利用して AWS IoT Greengrass リソースを同じように繰り返してセットアップできます。リソースを一度記述するだけで、同じリソースを複数の AWS アカウント とリージョンで何度でもプロビジョニングできます。

AWS IoT Greengrass テンプレートと AWS CloudFormation テンプレート

AWS IoT Greengrass および関連サービスのリソースをプロビジョニングして設定するには、AWS CloudFormation テンプレートについて理解しておく必要があります。テンプレートは、JSONまたはYAMLでフォーマットされたテキストファイルです。これらのテンプレートには、AWS CloudFormation スタックにプロビジョニングしたいリソースを記述します。JSONやYAMLに不慣れな方は、AWS CloudFormation Designerを使えば、 AWS CloudFormation テンプレートを使いこなすことができます。詳細については、「AWS CloudFormation ユーザーガイド」の「AWS CloudFormation Designer とは」を参照してください。

AWS IoT Greengrass は AWS CloudFormation でのコンポーネントバージョンとデプロイの作成をサポートします。コンポーネントバージョンやデプロイの JSON テンプレートと YAML テンプレートの例を含む詳細については、「AWS CloudFormation ユーザーガイド」の「AWS IoT Greengrass リソースタイプのリファレンス」を参照してください。

ComponentVersion のテンプレートの例

シンプルなコンポーネントバージョン用の YAML テンプレートを次に示します。JSON recipe には、読みやすいように改行が追加されています。

Parameters: ComponentVersion: Type: String Resources: TestSimpleComponentVersion: Type: AWS::GreengrassV2::ComponentVersion Properties: InlineRecipe: !Sub - "{\n \"RecipeFormatVersion\": \"2020-01-25\",\n \"ComponentName\": \"component1\",\n \"ComponentVersion\": \"${ComponentVersion}\",\n \"ComponentType\": \"aws.greengrass.generic\",\n \"ComponentDescription\": \"This\",\n \"ComponentPublisher\": \"You\",\n \"Manifests\": [\n {\n \"Platform\": {\n \"os\": \"darwin\"\n },\n \"Lifecycle\": {},\n \"Artifacts\": []\n },\n {\n \"Lifecycle\": {},\n \"Artifacts\": []\n }\n ],\n \"Lifecycle\": {\n \"install\": {\n \"script\": \"yuminstallpython\"\n }\n }\n }" - { ComponentVersion: !Ref ComponentVersion }

デプロイテンプレートの例

デプロイ用のシンプルなテンプレートを定義する YAML ファイルを次に示します。

Parameters: ComponentVersion: Type: String TargetArn: Type: String Resources: TestDeployment: Type: AWS::GreengrassV2::Deployment Properties: Components: component1: ComponentVersion: !Ref ComponentVersion TargetArn: !Ref TargetArn DeploymentName: CloudFormationIntegrationTest DeploymentPolicies: FailureHandlingPolicy: DO_NOTHING ComponentUpdatePolicy: TimeoutInSeconds: 5000 Action: SKIP_NOTIFY_COMPONENTS ConfigurationValidationPolicy: TimeoutInSeconds: 30000 Outputs: TestDeploymentArn: Value: !Sub - arn:${AWS::Partition}:greengrass:${AWS::Region}:${AWS::AccountId}:deployments:${DeploymentId} - DeploymentId: !GetAtt TestDeployment.DeploymentId

AWS CloudFormation の詳細はこちら

AWS CloudFormation の詳細については、以下のリソースを参照してください。