このページでは、ゲートウェイを作成、構成、管理する方法について説明します。
ゲートウェイを作成または削除する
ゲートウェイの作成や、既存のゲートウェイの編集は、Google Cloud コンソールまたは gcloud を使用して行えます。ゲートウェイの作成後に、それをゲートウェイ以外のデバイスへ変更することはできません。このセクションの手順を実行する前に、レジストリとデバイスの鍵ペアが作成されていることを確認してください。
Console
新しいゲートウェイを作成するには、次のようにします。
- Google Cloud コンソールで、[レジストリ] ページに移動します。
- ゲートウェイの [レジストリ ID] をクリックします。
- [レジストリの詳細] ページで [ゲートウェイ] をクリックし、[ゲートウェイを作成] をクリックして新しいゲートウェイを作成します。
- ゲートウェイの簡単な説明か、簡単に識別できる [ゲートウェイ ID] を入力します(このフィールドを後で編集することはできません)。ゲートウェイの命名と長さの要件については、使用可能な文字と長さの要件をご覧ください。
- [ゲートウェイとの通信] で [許可] または [ブロック] を選択します。このオプションを使用すると、ゲートウェイやバインドされている 1 つ以上のデバイスが正常に機能しない場合など、必要に応じて通信をブロックできます。ほとんどの場合、最初にゲートウェイを作成するときに通信を許可することをおすすめします。ゲートウェイがブロックされると、バインドされているすべてのデバイスも Cloud IoT Core との通信がブロックされます。
- このゲートウェイの鍵ペアと一致する [公開鍵の形式] を選択します。証明書または鍵を [公開鍵の値] フィールドに貼り付けます。鍵の有効期限を設定することもできます。
- ゲートウェイにバインドされているデバイスに使用する認証方法を選択します。
- [鍵] フィールドと [値] フィールドを使用して、シリアル番号などのゲートウェイのメタデータ(省略可)を追加します。メタデータの鍵と値の命名とサイズの要件については、使用可能な文字と長さの要件をご覧ください。
- [Cloud Logging] で、ゲートウェイのアクティビティ ログレベルを選択します。ゲートウェイのログレベルによって、レジストリのログレベルはオーバーライドされます。
- [作成] をクリックしてゲートウェイを作成するか、[更新] をクリックして既存のゲートウェイの変更を保存します。
既存のゲートウェイを編集するには、次のようにします。
- Google Cloud コンソールで、[レジストリ] ページに移動します。
- ゲートウェイの [レジストリ ID] をクリックします。
- [レジストリの詳細] をクリックします。
- [ゲートウェイ] をクリックします。
- 編集するゲートウェイの ID をクリックします。
- ページ上部の [編集] をクリックします。
既存のゲートウェイに鍵を追加するには、[デバイスの詳細] ページで [公開鍵を追加] をクリックします。
gcloud
ゲートウェイを作成するには、gcloud iot devices create
コマンドを実行します。ゲートウェイは、RS256 か ES256 のうちいずれかの認証情報を使用して作成できます。
RS256 認証情報を使用してゲートウェイを作成するには、次のコマンドを実行します。
gcloud iot devices create --device-type=gateway \ --project=PROJECT_ID \ --region=REGION \ --registry=REGISTRY_ID \ --public-key path=rsa_cert.pem,type=rs256 \ --auth-method={ASSOCIATION_ONLY|AUTH_TOKEN_ONLY|AUTH_TOKEN_AND_ASSOCIATION}
ES256 認証情報を使用してゲートウェイを作成するには、次のコマンドを実行します。
gcloud iot devices create --device-type=gateway \ --project=PROJECT_ID \ --region=REGION \ --registry=REGISTRY_ID \ --public-key path=ec_public.pem,type=es256 \ --auth-method={ASSOCIATION_ONLY|AUTH_TOKEN_ONLY|AUTH_TOKEN_AND_ASSOCIATION}
ゲートウェイを編集するには、gcloud iot devices update
コマンドを実行します。ゲートウェイのさまざまなプロパティは変更できますが、ゲートウェイ以外のデバイスは変更できません。
gcloud iot devices update DEVICE_ID \ --project=PROJECT_ID \ --region=REGION \ --registry=REGISTRY_ID \ --auth-method={ASSOCIATION_ONLY|AUTH_TOKEN_ONLY|AUTH_TOKEN_AND_ASSOCIATION}
API
ゲートウェイを作成または編集するには、次のメソッドを使用します。
- Device
create
メソッド: レジストリにゲートウェイを追加します。 - Device
patch
メソッド: 既存のゲートウェイを編集します。
C#
詳細については、Cloud IoT Core C# の API のリファレンス ドキュメントをご覧ください。
Cloud IoT Core 認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
Java
Node.js
Python
Ruby
ゲートウェイで使用するデバイスの作成方法については、デバイスの作成または編集をご覧ください。
ゲートウェイを構成して状態を取得する
Cloud IoT Core では、他のデバイスと同様、ゲートウェイの構成を変更することでゲートウェイを調整できます。MQTT や HTTP ブリッジを介してゲートウェイを構成する方法については、デバイスの構成をご覧ください。
構成をゲートウェイに適用すると、ゲートウェイの状態が Cloud IoT Core に報告されます。ゲートウェイの状態と最新の構成を比較することで、ゲートウェイが本来の役割を果たすかどうかを確認できます。
デバイスのバインドまたはバインド解除
ゲートウェイ以外のデバイスを Cloud IoT Core で認証するには、そのデバイスをゲートウェイにバインドします。バインドすることによって、そのデバイスと、Cloud IoT Core がデバイスを認証するために確認するゲートウェイとの関連付けが作成されます。
Console
- Google Cloud コンソールで、[レジストリ] ページに移動します。
- ゲートウェイの [レジストリ ID] をクリックします。
- [ゲートウェイ] をクリックし、ゲートウェイの ID をクリックします。
- [ゲートウェイの詳細] ページで、[バインドされたデバイス] をクリックします。
- [デバイスをバインド] をクリックします。
- ゲートウェイにバインドするデバイスを選択し、[バインド] をクリックします。
- デバイスをバインド解除するには、[ゲートウェイの詳細] ページでデバイスを選択し、[バインド解除] をクリックして、再度 [バインド解除] をクリックして確定します。
gcloud
デバイスをゲートウェイにバインドするには、gcloud iot devices gateways bind
コマンドを実行します。
gcloud iot devices gateways bind --gateway=GATEWAY_ID \ --device=DEVICE_ID \ --project=PROJECT_ID \ --device-region=DEVICE_REGION \ --device-registry=DEVICE_REGISTRY \ --gateway-region=GATEWAY_REGION \ --gateway-registry=GATEWAY_REGISTRY
ゲートウェイからデバイスをバインド解除するには、gcloud iot devices gateways unbind
コマンドを実行します。
gcloud iot devices gateways unbind --gateway=GATEWAY_ID \ --device=DEVICE_ID \ --project=PROJECT_ID \ --device-region=DEVICE_REGION \ --device-registry=DEVICE_REGISTRY \ --gateway-region=GATEWAY_REGION \ --gateway-registry=GATEWAY_REGISTRY
API
ゲートウェイに対してデバイスをバインドまたはバインド解除するには、次のメソッドを使用します。
- レジストリ
BindDeviceToGateway
メソッド: デバイスをゲートウェイにバインドします。 - レジストリ
UnbindDeviceFromGateway
メソッド: ゲートウェイからデバイスをバインド解除します。
C#
詳細については、Cloud IoT Core C# の API のリファレンス ドキュメントをご覧ください。
Cloud IoT Core 認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
Java
Node.js
Python
Ruby
ゲートウェイにバインドされているすべてのデバイスを一覧表示する
Console
- Google Cloud コンソールで、[レジストリ] ページに移動します。
- ゲートウェイの [レジストリ ID] をクリックします。
- [ゲートウェイ] をクリックし、ゲートウェイの ID をクリックします。
- [ゲートウェイの詳細] ページで、[バインドされたデバイス] をクリックします。
gcloud
ゲートウェイとデバイスの関連付けをすべて一覧表示するには、gcloud iot devices gateways list-bound-devices
コマンドを実行します。
gcloud iot devices gateways list-bound-devices --gateway=GATEWAY_ID \ --registry=REGISTRY \ --region=REGION \ --project=PROJECT_ID
API
デバイス list
メソッドを使用してゲートウェイ ID を指定し、ゲートウェイにバインドされているすべてのデバイスを一覧表示します。
C#
詳細については、Cloud IoT Core C# の API のリファレンス ドキュメントをご覧ください。
Cloud IoT Core 認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
Java
Node.js
Python
Ruby
レジストリ内のすべてのゲートウェイを一覧表示する
Console
- Google Cloud コンソールで、[レジストリ] ページに移動します。
- ゲートウェイの [レジストリ ID] をクリックします。
- [レジストリの詳細] ページで、[ゲートウェイ] をクリックして、そのレジストリ内のすべてのゲートウェイの一覧を表示します。
gcloud
レジストリ内のすべてのゲートウェイを一覧表示するには、gcloud iot devices list
コマンドを実行します。
gcloud iot devices list \ --device-type=gateway DEVICE_ID \ --registry=REGISTRY_ID
API
Devices list
メソッドを使用して、レジストリ内のすべてのゲートウェイを一覧表示します。
C#
詳細については、Cloud IoT Core C# の API のリファレンス ドキュメントをご覧ください。
Cloud IoT Core 認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
Java
Node.js
Python
Ruby
ゲートウェイにバインドされたデバイスを削除する
ゲートウェイにバインドされたデバイスを削除するには、まずバインドされているすべてのゲートウェイからデバイスをバインド解除してから、レジストリからデバイスを削除します。
Console
バインドされているすべてのゲートウェイからデバイスをバインド解除します。
[デバイスの詳細] ページで、[削除] をクリックします。
デバイス ID を入力して、[削除] をクリックします。
gcloud
デバイスがバインドされているすべてのゲートウェイを一覧表示するには、gcloud iot devices list
コマンドを実行します。
gcloud iot devices list DEVICE_ID \ --project=PROJECT_ID \ --registry=REGISTRY_ID \ --region=REGION
デバイスをバインド解除するには、gcloud iot devices gateways unbind
コマンドを実行します。
gcloud iot devices gateways unbind --gateway=GATEWAY_ID \ --device=DEVICE_ID \ --project=PROJECT_ID \ --device-region=DEVICE_REGION \ --device-registry=DEVICE_REGISTRY \ --gateway-region=GATEWAY_REGION \ --gateway-registry=GATEWAY_REGISTRY
デバイスを削除するには、gcloud iot devices delete
コマンドを実行します。
gcloud iot devices delete DEVICE_ID \ --project=PROJECT_ID \ --registry=REGISTRY_ID \ --region=REGION
API
バインドされているすべてのゲートウェイからデバイスをバインド解除した後、Device delete
メソッドを使用してデバイスを削除します。
C#
詳細については、Cloud IoT Core C# の API のリファレンス ドキュメントをご覧ください。
Cloud IoT Core 認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
Java
Node.js
Python
Ruby
ゲートウェイを削除する
ゲートウェイを削除するには、まずデバイスをバインド解除し、つづいてレジストリからゲートウェイを削除します。
Console
- ゲートウェイからすべてのデバイスをバインド解除します。
- ゲートウェイの詳細ページに戻り、[削除] をクリックします。
- ゲートウェイの名前を入力して確認し、[削除] をクリックします。
gcloud
デバイスをバインド解除するには、gcloud iot devices gateways unbind
コマンドを実行します。
gcloud iot devices gateways unbind --gateway=GATEWAY_ID \ --device=DEVICE_ID \ --project=PROJECT_ID \ --device-region=DEVICE_REGION \ --device-registry=DEVICE_REGISTRY \ --gateway-region=GATEWAY_REGION \ --gateway-registry=GATEWAY_REGISTRY
ゲートウェイを削除するには、gcloud iot devices delete
コマンドを実行します。
gcloud iot devices delete GATEWAY_ID
API
ゲートウェイからすべてのデバイスをバインド解除した後、削除するゲートウェイの ID を指定して Device delete
メソッドを使用し、ゲートウェイを削除します。
C#
詳細については、Cloud IoT Core C# の API のリファレンス ドキュメントをご覧ください。
Cloud IoT Core 認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
Java
Node.js
Python
Ruby
次のステップ
- MQTT または HTTP ブリッジを使用して、デバイスと Cloud IoT Core の間でメッセージと構成データを中継する。
- Cloud IoT Core の割り当てと上限を確認する。