Microsoft.ContainerInstance containerGroups 2018-10-01

Bicep リソース定義

containerGroups リソースの種類は、次を対象とする操作でデプロイできます。

各 API バージョンの変更されたプロパティの一覧については、「 変更ログ」を参照してください。

リソース形式

Microsoft.ContainerInstance/containerGroups リソースを作成するには、次の Bicep をテンプレートに追加します。

resource symbolicname 'Microsoft.ContainerInstance/containerGroups@2018-10-01' = {
  name: 'string'
  location: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  }
  identity: {
    type: 'string'
    userAssignedIdentities: {}
  }
  properties: {
    containers: [
      {
        name: 'string'
        properties: {
          command: [
            'string'
          ]
          environmentVariables: [
            {
              name: 'string'
              secureValue: 'string'
              value: 'string'
            }
          ]
          image: 'string'
          livenessProbe: {
            exec: {
              command: [
                'string'
              ]
            }
            failureThreshold: int
            httpGet: {
              path: 'string'
              port: int
              scheme: 'string'
            }
            initialDelaySeconds: int
            periodSeconds: int
            successThreshold: int
            timeoutSeconds: int
          }
          ports: [
            {
              port: int
              protocol: 'string'
            }
          ]
          readinessProbe: {
            exec: {
              command: [
                'string'
              ]
            }
            failureThreshold: int
            httpGet: {
              path: 'string'
              port: int
              scheme: 'string'
            }
            initialDelaySeconds: int
            periodSeconds: int
            successThreshold: int
            timeoutSeconds: int
          }
          resources: {
            limits: {
              cpu: int
              gpu: {
                count: int
                sku: 'string'
              }
              memoryInGB: json('decimal-as-string')
            }
            requests: {
              cpu: int
              gpu: {
                count: int
                sku: 'string'
              }
              memoryInGB: json('decimal-as-string')
            }
          }
          volumeMounts: [
            {
              mountPath: 'string'
              name: 'string'
              readOnly: bool
            }
          ]
        }
      }
    ]
    diagnostics: {
      logAnalytics: {
        logType: 'string'
        metadata: {}
        workspaceId: 'string'
        workspaceKey: 'string'
      }
    }
    dnsConfig: {
      nameServers: [
        'string'
      ]
      options: 'string'
      searchDomains: 'string'
    }
    imageRegistryCredentials: [
      {
        password: 'string'
        server: 'string'
        username: 'string'
      }
    ]
    ipAddress: {
      dnsNameLabel: 'string'
      ip: 'string'
      ports: [
        {
          port: int
          protocol: 'string'
        }
      ]
      type: 'string'
    }
    networkProfile: {
      id: 'string'
    }
    osType: 'string'
    restartPolicy: 'string'
    volumes: [
      {
        azureFile: {
          readOnly: bool
          shareName: 'string'
          storageAccountKey: 'string'
          storageAccountName: 'string'
        }
        emptyDir: any()
        gitRepo: {
          directory: 'string'
          repository: 'string'
          revision: 'string'
        }
        name: 'string'
        secret: {}
      }
    ]
  }
}

プロパティ値

containerGroups

名前 説明
name リソース名 string (必須)

文字数制限: 1 から 63

有効な文字:
小文字、数字、およびハイフン。

先頭または末尾をハイフンにすることはできません。 連続するハイフンは使用できません。
location リソースの場所。 string
tags リソース タグ。 タグ名と値のディクショナリ。 「テンプレートのタグ」を参照してください
identity コンテナー グループの ID (構成されている場合)。 ContainerGroupIdentity
properties ContainerGroupProperties (必須)

ContainerGroupIdentity

名前 説明
type コンテナー グループに使用される ID の種類。 種類 "SystemAssigned、UserAssigned" には、暗黙的に作成された ID とユーザー割り当て ID のセットの両方が含まれます。 種類 "None" は、コンテナー グループから ID を削除します。 'None'
'SystemAssigned'
'SystemAssigned, UserAssigned'
'UserAssigned'
userAssignedIdentities コンテナー グループに関連付けられているユーザー ID のリスト。 ユーザー ID ディクショナリ キーの参照は、'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}' という形式の ARM リソース ID になります。 object

ContainerGroupProperties

名前 説明
containers コンテナー グループ内のコンテナー。 Container[] (必須)
診断 コンテナー グループの診断情報。 ContainerGroupDiagnostics
dnsConfig コンテナー グループの DNS 構成情報。 DnsConfiguration
imageRegistryCredentials コンテナー グループの作成に使用されたイメージ レジストリの資格情報。 ImageRegistryCredential[]
ipAddress コンテナー グループの IP アドレスの種類。 IpAddress
networkProfile コンテナー グループのネットワーク プロファイル情報。 ContainerGroupNetworkProfile
osType コンテナー グループ内のコンテナーで必要なオペレーティング システムの種類。 'Linux'
'Windows' (必須)
restartPolicy コンテナー グループ内のすべてのコンテナーの再起動ポリシー。
- Always 常に再起動する
- OnFailure 失敗した場合の再起動
- Never 再起動しない
'Always'
'Never'
'OnFailure'
volumes このコンテナー グループのコンテナーによってマウントできるボリュームのリスト。 Volume[]

コンテナー

名前 説明
name ユーザーが指定したコンテナー インスタンスの名前。 string (必須)
properties コンテナー インスタンスのプロパティ。 ContainerProperties (必須)

ContainerProperties

名前 説明
command コンテナー インスタンス内で実行する exec 形式のコマンド。 string[]
environmentVariables コンテナー インスタンス内で設定する環境変数。 EnvironmentVariable[]
image コンテナー インスタンスの作成に使用されるイメージの名前。 string (必須)
livenessProbe liveness probe。 ContainerProbe
ports コンテナー インスタンスで公開されているポート。 ContainerPort[]
readinessProbe readiness probe。 ContainerProbe
resources コンテナー インスタンスのリソース要件。 ResourceRequirements (必須)
volumeMounts コンテナー インスタンスで使用可能なボリューム マウント。 VolumeMount[]

EnvironmentVariable

名前 説明
name 環境変数の名前。 string (必須)
secureValue セキュリティで保護された環境変数の値。 string
value 環境変数の値。 string

ContainerProbe

名前 説明
exec プローブする実行コマンド ContainerExec
failureThreshold 失敗のしきい値。 INT
httpGet プローブする Http Get 設定 ContainerHttpGet
initialDelaySeconds 初期遅延秒数。 INT
periodSeconds 期間の秒数。 INT
successThreshold 成功のしきい値。 INT
timeoutSeconds タイムアウト秒数。 INT

ContainerExec

名前 説明
command コンテナー内で実行するコマンド。 string[]

ContainerHttpGet

名前 説明
path プローブするパス。 string
port プローブするポート番号。 int (必須)
scheme スキーム。 'http'
'https'

ContainerPort

名前 説明
port コンテナー グループ内で公開されているポート番号。 int (必須)
protocol ポートに関連付けられているプロトコル。 'TCP'
'UDP'

ResourceRequirements

名前 説明
制限 このコンテナー インスタンスのリソース制限。 ResourceLimits
requests このコンテナー インスタンスのリソース要求。 ResourceRequests (必須)

ResourceLimits

名前 説明
cpu このコンテナー インスタンスの CPU 制限。 INT
gpu このコンテナー インスタンスの GPU 制限。 GpuResource
memoryInGB このコンテナー インスタンスのメモリ制限 (GB 単位)。 10 進値を指定するには、 json() 関数を使用します。 int または json decimal

GpuResource

名前 説明
count GPU リソースの数。 int (必須)
sku GPU リソースの SKU。 'K80'
'P100'
'V100' (必須)

ResourceRequests

名前 説明
cpu このコンテナー インスタンスの CPU 要求。 int (必須)
gpu このコンテナー インスタンスの GPU 要求。 GpuResource
memoryInGB このコンテナー インスタンスのメモリ要求 (GB 単位)。 10 進値を指定するには、 json() 関数を使用します。 int または json decimal (必須)

VolumeMount

名前 説明
mountPath ボリュームをマウントする必要があるコンテナー内のパス。 コロン (:) を含めることはできません。 string (必須)
name ボリューム マウントの名前。 string (必須)
readOnly ボリューム マウントが読み取り専用かどうかを示すフラグ。 [bool]

ContainerGroupDiagnostics

名前 説明
logAnalytics コンテナー グループの Log Analytics 情報。 LogAnalytics

LogAnalytics

名前 説明
logType 使用するログの種類。 'ContainerInsights'
'ContainerInstanceLogs'
metadata Log Analytics のメタデータ。 object
workspaceId Log Analytics のワークスペース ID string (必須)
workspaceKey Log Analytics のワークスペース キー string (必須)

DnsConfiguration

名前 説明
nameServers コンテナー グループの DNS サーバー。 string[] (必須)
options コンテナー グループの DNS オプション。 string
searchDomains コンテナー グループ内のホスト名参照用の DNS 検索ドメイン。 string

ImageRegistryCredential

名前 説明
password プライベート レジストリのパスワード。 string
server "http" や "https" などのプロトコルを除いた Docker イメージ レジストリ サーバー。 string (必須)
username プライベート レジストリのユーザー名。 string (必須)

IpAddress

名前 説明
dnsNameLabel IP の DNS 名ラベル。 string
ip パブリック インターネットに公開されている IP。 string
ports コンテナー グループで公開されているポートのリスト。 Port[] (必須)
IP がパブリック インターネットまたはプライベート VNET に公開されているかどうかを指定します。 'Private'
'Public' (必須)

Port

名前 説明
port ポート番号。 int (必須)
protocol ポートに関連付けられているプロトコル。 'TCP'
'UDP'

ContainerGroupNetworkProfile

名前 説明
id ネットワーク プロファイルの識別子。 string (必須)

ボリューム

名前 説明
azureFile Azure File ボリューム。 AzureFileVolume
emptyDir 空のディレクトリ ボリューム。 Bicep の場合は、 any() 関数を使用できます。
gitRepo Git リポジトリ ボリューム。 GitRepoVolume
name ボリュームの名前。 string (必須)
secret シークレット ボリューム。 object

AzureFileVolume

名前 説明
readOnly ボリュームとしてマウントされている Azure ファイル共有が読み取り専用かどうかを示すフラグ。 [bool]
shareName ボリュームとしてマウントされる Azure ファイル共有の名前。 string (必須)
storageAccountKey Azure ファイル共有にアクセスするために使用されるストレージ アカウント アクセス キー。 string
storageAccountName Azure ファイル共有が含まれているストレージ アカウントの名前。 string (必須)

GitRepoVolume

名前 説明
directory ターゲット ディレクトリの名前。 ".." が含まれていたり、".." で始まっていたりすることはできません。 "." を指定した場合、ボリューム ディレクトリは Git リポジトリになります。 それ以外の場合、指定すると、ボリュームの指定された名前のサブディレクトリに Git リポジトリが含まれます。 string
repository リポジトリの URL string (必須)
revision 指定されたリビジョンのコミット ハッシュ。 string

クイック スタート テンプレート

次のクイックスタート テンプレートでは、このリソースの種類をデプロイします。

Template 説明
AKS で可用性グループをSQL Serverする

Azure にデプロイする
これにより、新しい AKS クラスターが作成され、Duffle と ACI を使用してデプロイされた CNAB パッケージを使用して、SQL Server可用性グループがデプロイされます
WordPress サイトの作成

Azure にデプロイする
このテンプレートは、コンテナー インスタンスに WordPress サイトを作成します
仮想ネットワークに WordPress サイトを作成する

Azure にデプロイする
このテンプレートは、仮想ネットワーク内の Container Instance に WordPress サイトを作成します。 そして、WordPressサイトにアクセスできるパブリックサイトの FQDN を出力します。
Azure Container Instances - SQL SERVERと IIS を使用した BC

Azure にデプロイする
完全に機能する自己完結型の Microsoft Dynamics 365 Business Central 環境を備えた単一の Windows コンテナーを Azure Container Instances にデプロイします。
Container InstancesとApplication Gateway付きのフロント ドア

Azure にデプロイする
このテンプレートでは、コンテナー グループとApplication Gatewayを使用して Front Door Standard/Premium を作成します。
Front Door Standard/Premium (Azure Container Instances付き)

Azure にデプロイする
このテンプレートでは、コンテナー グループを使用して Front Door Standard/Premium を作成します。
Azure Container Instances - 正常性プローブを含むコンテナー

Azure にデプロイする
Azure Container Instancesを使用して、正常性プローブを持つ Linux コンテナーをデプロイします。
Azure Container Instances - パブリック IP を持つ Linux コンテナー

Azure にデプロイする
Azure Container Instancesを使用して、パブリック IP 経由でアクセスできる 1 つの Linux コンテナーをデプロイします。
Azure Container Instances - セキュリティで保護された envVar を含むコンテナー

Azure にデプロイする
Azure Container Instancesを使用して、セキュリティで保護された環境変数を持つ Linux コンテナーをデプロイします。
Azure Container Instances - emptyDir を含む Linux コンテナー

Azure にデプロイする
Azure Container Instancesを使用して emptyDir ボリュームを共有する 2 つの Linux コンテナーをデプロイします。
Azure Container Instances - gitRepo を使用した Linux コンテナー

Azure にデプロイする
Azure Container Instancesを使用して gitRepo ボリュームを使用する Linux コンテナーをデプロイします。
Azure Container Instances - シークレットを含むコンテナー

Azure にデプロイする
Azure Container Instancesを使用して、シークレット ボリュームを持つ Linux コンテナーをデプロイします。
永続ストレージを使用してオンデマンド SFTP サーバーを作成する

Azure にデプロイする
このテンプレートは、Azure Container Instance (ACI) を使用するオンデマンド SFTP サーバーを示しています。
既存のストレージ アカウントを使用したオンデマンド SFTP サーバー

Azure にデプロイする
このテンプレートは、Azure Container Instance (ACI) を使用するオンデマンド SFTP サーバーを示しています。
コンテナーを使用してストレージ アカウント ファイル共有を作成する

Azure にデプロイする
このテンプレートでは、コンテナー インスタンスで azure-cli を使用してストレージ アカウントとファイル共有を作成します
ACI の UDP コンテナー

Azure にデプロイする
このテンプレートは、ACI リソースを作成し、UDP を介してコンテナーを公開します
Azure Container Instances - VNet

Azure にデプロイする
コンテナー インスタンスを Azure 仮想ネットワークにデプロイします。
証明書を使用してApplication Gatewayを作成する

Azure にデプロイする
このテンプレートでは、自己署名証明書Key Vault生成してから、Application Gatewayから参照する方法を示します。

ARM テンプレート リソース定義

containerGroups リソースの種類は、次を対象とする操作でデプロイできます。

各 API バージョンの変更されたプロパティの一覧については、「 変更ログ」を参照してください。

リソース形式

Microsoft.ContainerInstance/containerGroups リソースを作成するには、次の JSON をテンプレートに追加します。

{
  "type": "Microsoft.ContainerInstance/containerGroups",
  "apiVersion": "2018-10-01",
  "name": "string",
  "location": "string",
  "tags": {
    "tagName1": "tagValue1",
    "tagName2": "tagValue2"
  },
  "identity": {
    "type": "string",
    "userAssignedIdentities": {}
  },
  "properties": {
    "containers": [
      {
        "name": "string",
        "properties": {
          "command": [ "string" ],
          "environmentVariables": [
            {
              "name": "string",
              "secureValue": "string",
              "value": "string"
            }
          ],
          "image": "string",
          "livenessProbe": {
            "exec": {
              "command": [ "string" ]
            },
            "failureThreshold": "int",
            "httpGet": {
              "path": "string",
              "port": "int",
              "scheme": "string"
            },
            "initialDelaySeconds": "int",
            "periodSeconds": "int",
            "successThreshold": "int",
            "timeoutSeconds": "int"
          },
          "ports": [
            {
              "port": "int",
              "protocol": "string"
            }
          ],
          "readinessProbe": {
            "exec": {
              "command": [ "string" ]
            },
            "failureThreshold": "int",
            "httpGet": {
              "path": "string",
              "port": "int",
              "scheme": "string"
            },
            "initialDelaySeconds": "int",
            "periodSeconds": "int",
            "successThreshold": "int",
            "timeoutSeconds": "int"
          },
          "resources": {
            "limits": {
              "cpu": "int",
              "gpu": {
                "count": "int",
                "sku": "string"
              },
              "memoryInGB": "[json('decimal-as-string')]"
            },
            "requests": {
              "cpu": "int",
              "gpu": {
                "count": "int",
                "sku": "string"
              },
              "memoryInGB": "[json('decimal-as-string')]"
            }
          },
          "volumeMounts": [
            {
              "mountPath": "string",
              "name": "string",
              "readOnly": "bool"
            }
          ]
        }
      }
    ],
    "diagnostics": {
      "logAnalytics": {
        "logType": "string",
        "metadata": {},
        "workspaceId": "string",
        "workspaceKey": "string"
      }
    },
    "dnsConfig": {
      "nameServers": [ "string" ],
      "options": "string",
      "searchDomains": "string"
    },
    "imageRegistryCredentials": [
      {
        "password": "string",
        "server": "string",
        "username": "string"
      }
    ],
    "ipAddress": {
      "dnsNameLabel": "string",
      "ip": "string",
      "ports": [
        {
          "port": "int",
          "protocol": "string"
        }
      ],
      "type": "string"
    },
    "networkProfile": {
      "id": "string"
    },
    "osType": "string",
    "restartPolicy": "string",
    "volumes": [
      {
        "azureFile": {
          "readOnly": "bool",
          "shareName": "string",
          "storageAccountKey": "string",
          "storageAccountName": "string"
        },
        "emptyDir": {},
        "gitRepo": {
          "directory": "string",
          "repository": "string",
          "revision": "string"
        },
        "name": "string",
        "secret": {}
      }
    ]
  }
}

プロパティ値

containerGroups

名前 説明
type リソースの種類 'Microsoft.ContainerInstance/containerGroups'
apiVersion リソース API のバージョン '2018-10-01'
name リソース名 string (必須)

文字数制限: 1 から 63

有効な文字:
小文字、数字、およびハイフン。

先頭または末尾をハイフンにすることはできません。 連続するハイフンは使用できません。
location リソースの場所。 string
tags リソース タグ。 タグ名と値のディクショナリ。 「テンプレートのタグ」を参照してください
identity コンテナー グループの ID (構成されている場合)。 ContainerGroupIdentity
properties ContainerGroupProperties (必須)

ContainerGroupIdentity

名前 説明
type コンテナー グループに使用される ID の種類。 種類 "SystemAssigned、UserAssigned" には、暗黙的に作成された ID とユーザー割り当て ID のセットの両方が含まれます。 種類 "None" は、コンテナー グループから ID を削除します。 'None'
'SystemAssigned'
'SystemAssigned, UserAssigned'
'UserAssigned'
userAssignedIdentities コンテナー グループに関連付けられているユーザー ID のリスト。 ユーザー ID ディクショナリ キーの参照は、'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}' という形式の ARM リソース ID になります。 object

ContainerGroupProperties

名前 説明
containers コンテナー グループ内のコンテナー。 Container[] (必須)
診断 コンテナー グループの診断情報。 ContainerGroupDiagnostics
dnsConfig コンテナー グループの DNS 構成情報。 DnsConfiguration
imageRegistryCredentials コンテナー グループの作成に使用されたイメージ レジストリの資格情報。 ImageRegistryCredential[]
ipAddress コンテナー グループの IP アドレスの種類。 IpAddress
networkProfile コンテナー グループのネットワーク プロファイル情報。 ContainerGroupNetworkProfile
osType コンテナー グループ内のコンテナーで必要なオペレーティング システムの種類。 'Linux'
'Windows' (必須)
restartPolicy コンテナー グループ内のすべてのコンテナーの再起動ポリシー。
- Always 常に再起動する
- OnFailure 失敗した場合の再起動
- Never 再起動しない
'Always'
'Never'
'OnFailure'
volumes このコンテナー グループのコンテナーによってマウントできるボリュームのリスト。 Volume[]

コンテナー

名前 説明
name ユーザーが指定したコンテナー インスタンスの名前。 string (必須)
properties コンテナー インスタンスのプロパティ。 ContainerProperties (必須)

ContainerProperties

名前 説明
command コンテナー インスタンス内で実行する exec 形式のコマンド。 string[]
environmentVariables コンテナー インスタンス内で設定する環境変数。 EnvironmentVariable[]
image コンテナー インスタンスの作成に使用されるイメージの名前。 string (必須)
livenessProbe liveness probe。 ContainerProbe
ports コンテナー インスタンスで公開されているポート。 ContainerPort[]
readinessProbe readiness probe。 ContainerProbe
resources コンテナー インスタンスのリソース要件。 ResourceRequirements (必須)
volumeMounts コンテナー インスタンスで使用可能なボリューム マウント。 VolumeMount[]

EnvironmentVariable

名前 説明
name 環境変数の名前。 string (必須)
secureValue セキュリティで保護された環境変数の値。 string
value 環境変数の値。 string

ContainerProbe

名前 説明
exec プローブする実行コマンド ContainerExec
failureThreshold 失敗のしきい値。 INT
httpGet プローブする Http Get 設定 ContainerHttpGet
initialDelaySeconds 初期遅延秒数。 INT
periodSeconds 期間の秒数。 INT
successThreshold 成功のしきい値。 INT
timeoutSeconds タイムアウト秒数。 INT

ContainerExec

名前 説明
command コンテナー内で実行するコマンド。 string[]

ContainerHttpGet

名前 説明
path プローブするパス。 string
port プローブするポート番号。 int (必須)
scheme スキーム。 'http'
'https'

ContainerPort

名前 説明
port コンテナー グループ内で公開されているポート番号。 int (必須)
protocol ポートに関連付けられているプロトコル。 'TCP'
'UDP'

ResourceRequirements

名前 説明
制限 このコンテナー インスタンスのリソース制限。 ResourceLimits
requests このコンテナー インスタンスのリソース要求。 ResourceRequests (必須)

ResourceLimits

名前 説明
cpu このコンテナー インスタンスの CPU 制限。 INT
gpu このコンテナー インスタンスの GPU 制限。 GpuResource
memoryInGB このコンテナー インスタンスのメモリ制限 (GB 単位)。 10 進値を指定するには、 json() 関数を使用します。 int または json decimal

GpuResource

名前 説明
count GPU リソースの数。 int (必須)
sku GPU リソースの SKU。 'K80'
'P100'
'V100' (必須)

ResourceRequests

名前 説明
cpu このコンテナー インスタンスの CPU 要求。 int (必須)
gpu このコンテナー インスタンスの GPU 要求。 GpuResource
memoryInGB このコンテナー インスタンスのメモリ要求 (GB 単位)。 10 進値を指定するには、 json() 関数を使用します。 int または json decimal (必須)

VolumeMount

名前 説明
mountPath ボリュームをマウントする必要があるコンテナー内のパス。 コロン (:) を含めることはできません。 string (必須)
name ボリューム マウントの名前。 string (必須)
readOnly ボリューム マウントが読み取り専用かどうかを示すフラグ。 [bool]

ContainerGroupDiagnostics

名前 説明
logAnalytics コンテナー グループの Log Analytics 情報。 LogAnalytics

LogAnalytics

名前 説明
logType 使用するログの種類。 'ContainerInsights'
'ContainerInstanceLogs'
metadata Log Analytics のメタデータ。 object
workspaceId Log Analytics のワークスペース ID string (必須)
workspaceKey Log Analytics のワークスペース キー string (必須)

DnsConfiguration

名前 説明
nameServers コンテナー グループの DNS サーバー。 string[] (必須)
options コンテナー グループの DNS オプション。 string
searchDomains コンテナー グループ内のホスト名参照用の DNS 検索ドメイン。 string

ImageRegistryCredential

名前 説明
password プライベート レジストリのパスワード。 string
server "http" や "https" などのプロトコルを除いた Docker イメージ レジストリ サーバー。 string (必須)
username プライベート レジストリのユーザー名。 string (必須)

IpAddress

名前 説明
dnsNameLabel IP の DNS 名ラベル。 string
ip パブリック インターネットに公開されている IP。 string
ports コンテナー グループで公開されているポートのリスト。 Port[] (必須)
IP がパブリック インターネットまたはプライベート VNET に公開されているかどうかを指定します。 'Private'
'Public' (必須)

Port

名前 説明
port ポート番号。 int (必須)
protocol ポートに関連付けられているプロトコル。 'TCP'
'UDP'

ContainerGroupNetworkProfile

名前 説明
id ネットワーク プロファイルの識別子。 string (必須)

ボリューム

名前 説明
azureFile Azure File ボリューム。 AzureFileVolume
emptyDir 空のディレクトリ ボリューム。
gitRepo Git リポジトリ ボリューム。 GitRepoVolume
name ボリュームの名前。 string (必須)
secret シークレット ボリューム。 object

AzureFileVolume

名前 説明
readOnly ボリュームとしてマウントされている Azure ファイル共有が読み取り専用かどうかを示すフラグ。 [bool]
shareName ボリュームとしてマウントされる Azure ファイル共有の名前。 string (必須)
storageAccountKey Azure ファイル共有にアクセスするために使用されるストレージ アカウント アクセス キー。 string
storageAccountName Azure ファイル共有が含まれているストレージ アカウントの名前。 string (必須)

GitRepoVolume

名前 説明
directory ターゲット ディレクトリの名前。 ".." が含まれていたり、".." で始まっていたりすることはできません。 "." を指定した場合、ボリューム ディレクトリは Git リポジトリになります。 それ以外の場合、指定すると、ボリュームの指定された名前のサブディレクトリに Git リポジトリが含まれます。 string
repository リポジトリの URL string (必須)
revision 指定されたリビジョンのコミット ハッシュ。 string

クイック スタート テンプレート

次のクイックスタート テンプレートでは、このリソースの種類をデプロイします。

Template 説明
AKS で可用性グループをSQL Serverする

Azure にデプロイする
これにより、新しい AKS クラスターが作成され、Duffle と ACI を使用してデプロイされた CNAB パッケージを使用して、SQL Server可用性グループがデプロイされます
WordPress サイトの作成

Azure にデプロイする
このテンプレートは、コンテナー インスタンスに WordPress サイトを作成します
仮想ネットワークに WordPress サイトを作成する

Azure にデプロイする
このテンプレートは、仮想ネットワーク内のコンテナー インスタンスに WordPress サイトを作成します。 WordPress サイトにアクセスできるパブリック サイト FQDN を出力します。
Azure Container Instances - SQL SERVERと IIS を使用した BC

Azure にデプロイする
完全に機能する自己完結型の Microsoft Dynamics 365 Business Central 環境を含む単一の Windows コンテナーを Azure Container Instances にデプロイします。
Container InstancesとApplication Gateway付きフロントドア

Azure にデプロイする
このテンプレートでは、コンテナー グループとApplication Gatewayを使用して Front Door Standard/Premium を作成します。
Front Door Standard/Premium with Azure Container Instances

Azure にデプロイする
このテンプレートでは、コンテナー グループを使用して Front Door Standard/Premium を作成します。
Azure Container Instances - 正常性プローブを含むコンテナー

Azure にデプロイする
Azure Container Instancesを使用して正常性プローブを持つ Linux コンテナーをデプロイします。
Azure Container Instances - パブリック IP を使用した Linux コンテナー

Azure にデプロイする
Azure Container Instancesを使用して、パブリック IP 経由でアクセスできる 1 つの Linux コンテナーをデプロイします。
Azure Container Instances - セキュリティで保護された envVar を含むコンテナー

Azure にデプロイする
Azure Container Instancesを使用して、セキュリティで保護された環境変数を持つ Linux コンテナーをデプロイします。
Azure Container Instances - emptyDir を含む Linux コンテナー

Azure にデプロイする
Azure Container Instancesを使用して emptyDir ボリュームを共有する 2 つの Linux コンテナーをデプロイします。
Azure Container Instances - gitRepo を使用した Linux コンテナー

Azure にデプロイする
Azure Container Instancesを使用して gitRepo ボリュームを使用する Linux コンテナーをデプロイします。
Azure Container Instances - シークレットを含むコンテナー

Azure にデプロイする
Azure Container Instancesを使用して、シークレット ボリュームを持つ Linux コンテナーをデプロイします。
永続ストレージを使用してオンデマンド SFTP サーバーを作成する

Azure にデプロイする
このテンプレートは、Azure Container Instance (ACI) を使用するオンデマンド SFTP サーバーを示しています。
既存のストレージ アカウントを使用したオンデマンド SFTP サーバー

Azure にデプロイする
このテンプレートは、Azure Container Instance (ACI) を使用するオンデマンド SFTP サーバーを示しています。
コンテナーを使用してストレージ アカウント ファイル共有を作成する

Azure にデプロイする
このテンプレートでは、コンテナー インスタンスで azure-cli を使用してストレージ アカウントとファイル共有を作成します
ACI の UDP コンテナー

Azure にデプロイする
このテンプレートは、ACI リソースを作成し、UDP を介してコンテナーを公開します
Azure Container Instances - VNet

Azure にデプロイする
コンテナー インスタンスを Azure 仮想ネットワークにデプロイします。
証明書を使用してApplication Gatewayを作成する

Azure にデプロイする
このテンプレートでは、自己署名証明書Key Vault生成してから、Application Gatewayから参照する方法を示します。

Terraform (AzAPI プロバイダー) リソース定義

containerGroups リソースの種類は、次を対象とする操作でデプロイできます。

  • リソース グループ

各 API バージョンの変更されたプロパティの一覧については、「 変更ログ」を参照してください。

リソース形式

Microsoft.ContainerInstance/containerGroups リソースを作成するには、次の Terraform をテンプレートに追加します。

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.ContainerInstance/containerGroups@2018-10-01"
  name = "string"
  location = "string"
  parent_id = "string"
  tags = {
    tagName1 = "tagValue1"
    tagName2 = "tagValue2"
  }
  identity {
    type = "string"
    identity_ids = []
  }
  body = jsonencode({
    properties = {
      containers = [
        {
          name = "string"
          properties = {
            command = [
              "string"
            ]
            environmentVariables = [
              {
                name = "string"
                secureValue = "string"
                value = "string"
              }
            ]
            image = "string"
            livenessProbe = {
              exec = {
                command = [
                  "string"
                ]
              }
              failureThreshold = int
              httpGet = {
                path = "string"
                port = int
                scheme = "string"
              }
              initialDelaySeconds = int
              periodSeconds = int
              successThreshold = int
              timeoutSeconds = int
            }
            ports = [
              {
                port = int
                protocol = "string"
              }
            ]
            readinessProbe = {
              exec = {
                command = [
                  "string"
                ]
              }
              failureThreshold = int
              httpGet = {
                path = "string"
                port = int
                scheme = "string"
              }
              initialDelaySeconds = int
              periodSeconds = int
              successThreshold = int
              timeoutSeconds = int
            }
            resources = {
              limits = {
                cpu = int
                gpu = {
                  count = int
                  sku = "string"
                }
                memoryInGB = "decimal-as-string"
              }
              requests = {
                cpu = int
                gpu = {
                  count = int
                  sku = "string"
                }
                memoryInGB = "decimal-as-string"
              }
            }
            volumeMounts = [
              {
                mountPath = "string"
                name = "string"
                readOnly = bool
              }
            ]
          }
        }
      ]
      diagnostics = {
        logAnalytics = {
          logType = "string"
          metadata = {}
          workspaceId = "string"
          workspaceKey = "string"
        }
      }
      dnsConfig = {
        nameServers = [
          "string"
        ]
        options = "string"
        searchDomains = "string"
      }
      imageRegistryCredentials = [
        {
          password = "string"
          server = "string"
          username = "string"
        }
      ]
      ipAddress = {
        dnsNameLabel = "string"
        ip = "string"
        ports = [
          {
            port = int
            protocol = "string"
          }
        ]
        type = "string"
      }
      networkProfile = {
        id = "string"
      }
      osType = "string"
      restartPolicy = "string"
      volumes = [
        {
          azureFile = {
            readOnly = bool
            shareName = "string"
            storageAccountKey = "string"
            storageAccountName = "string"
          }
          gitRepo = {
            directory = "string"
            repository = "string"
            revision = "string"
          }
          name = "string"
          secret = {}
        }
      ]
    }
  })
}

プロパティ値

containerGroups

名前 説明
type リソースの種類 "Microsoft.ContainerInstance/containerGroups@2018-10-01"
name リソース名 string (必須)

文字数制限: 1 から 63

有効な文字:
小文字、数字、およびハイフン。

先頭または末尾をハイフンにすることはできません。 連続するハイフンは使用できません。
location リソースの場所。 string
parent_id リソース グループにデプロイするには、そのリソース グループの ID を使用します。 string (必須)
tags リソース タグ。 タグ名と値のディクショナリ。
identity コンテナー グループの ID (構成されている場合)。 ContainerGroupIdentity
properties ContainerGroupProperties (必須)

ContainerGroupIdentity

名前 説明
type コンテナー グループに使用される ID の種類。 種類 "SystemAssigned、UserAssigned" には、暗黙的に作成された ID とユーザー割り当て ID のセットの両方が含まれます。 種類 "None" は、コンテナー グループから ID を削除します。 "SystemAssigned"
"SystemAssigned、UserAssigned"
"UserAssigned"
identity_ids コンテナー グループに関連付けられているユーザー ID のリスト。 ユーザー ID ディクショナリ キーの参照は、'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}' という形式の ARM リソース ID になります。 ユーザー ID ID の配列。

ContainerGroupProperties

名前 説明
containers コンテナー グループ内のコンテナー。 Container[] (必須)
診断 コンテナー グループの診断情報。 ContainerGroupDiagnostics
dnsConfig コンテナー グループの DNS 構成情報。 DnsConfiguration
imageRegistryCredentials コンテナー グループの作成に使用されたイメージ レジストリの資格情報。 ImageRegistryCredential[]
ipAddress コンテナー グループの IP アドレスの種類。 IpAddress
networkProfile コンテナー グループのネットワーク プロファイル情報。 ContainerGroupNetworkProfile
osType コンテナー グループ内のコンテナーで必要なオペレーティング システムの種類。 "Linux"
"Windows" (必須)
restartPolicy コンテナー グループ内のすべてのコンテナーの再起動ポリシー。
- Always 常に再起動する
- OnFailure 障害発生時に再起動する
- Never 再起動しない
"Always"
"Never"
"OnFailure"
volumes このコンテナー グループのコンテナーによってマウントできるボリュームのリスト。 Volume[]

コンテナー

名前 説明
name ユーザーが指定したコンテナー インスタンスの名前。 string (必須)
properties コンテナー インスタンスのプロパティ。 ContainerProperties (必須)

ContainerProperties

名前 説明
command コンテナー インスタンス内で実行する exec 形式のコマンド。 string[]
environmentVariables コンテナー インスタンス内で設定する環境変数。 EnvironmentVariable[]
image コンテナー インスタンスの作成に使用されるイメージの名前。 string (必須)
livenessProbe liveness probe。 ContainerProbe
ports コンテナー インスタンスで公開されているポート。 ContainerPort[]
readinessProbe readiness probe。 ContainerProbe
resources コンテナー インスタンスのリソース要件。 ResourceRequirements (必須)
volumeMounts コンテナー インスタンスで使用可能なボリューム マウント。 VolumeMount[]

EnvironmentVariable

名前 説明
name 環境変数の名前。 string (必須)
secureValue セキュリティで保護された環境変数の値。 string
value 環境変数の値。 string

ContainerProbe

名前 説明
exec プローブする実行コマンド ContainerExec
failureThreshold 失敗のしきい値。 INT
httpGet プローブする Http Get 設定 ContainerHttpGet
initialDelaySeconds 初期遅延秒数。 INT
periodSeconds 期間の秒数。 INT
successThreshold 成功のしきい値。 INT
timeoutSeconds タイムアウト秒数。 INT

ContainerExec

名前 説明
command コンテナー内で実行するコマンド。 string[]

ContainerHttpGet

名前 説明
path プローブするパス。 string
port プローブするポート番号。 int (必須)
scheme スキーム。 "http"
"https"

ContainerPort

名前 説明
port コンテナー グループ内で公開されているポート番号。 int (必須)
protocol ポートに関連付けられているプロトコル。 "TCP"
"UDP"

ResourceRequirements

名前 説明
制限 このコンテナー インスタンスのリソース制限。 ResourceLimits
requests このコンテナー インスタンスのリソース要求。 ResourceRequests (必須)

ResourceLimits

名前 説明
cpu このコンテナー インスタンスの CPU 制限。 INT
gpu このコンテナー インスタンスの GPU 制限。 GpuResource
memoryInGB このコンテナー インスタンスのメモリ制限 (GB 単位)。 10 進数の値を文字列として指定します。 int または json decimal

GpuResource

名前 説明
count GPU リソースの数。 int (必須)
sku GPU リソースの SKU。 "K80"
"P100"
"V100" (必須)

ResourceRequests

名前 説明
cpu このコンテナー インスタンスの CPU 要求。 int (必須)
gpu このコンテナー インスタンスの GPU 要求。 GpuResource
memoryInGB このコンテナー インスタンスのメモリ要求 (GB 単位)。 10 進数の値を文字列として指定します。 int または json decimal (必須)

VolumeMount

名前 説明
mountPath ボリュームをマウントする必要があるコンテナー内のパス。 コロン (:) を含めることはできません。 string (必須)
name ボリューム マウントの名前。 string (必須)
readOnly ボリューム マウントが読み取り専用かどうかを示すフラグ。 [bool]

ContainerGroupDiagnostics

名前 説明
logAnalytics コンテナー グループの Log Analytics 情報。 LogAnalytics

LogAnalytics

名前 説明
logType 使用するログの種類。 "ContainerInsights"
"ContainerInstanceLogs"
metadata Log Analytics のメタデータ。 object
workspaceId Log Analytics のワークスペース ID string (必須)
workspaceKey Log Analytics のワークスペース キー string (必須)

DnsConfiguration

名前 説明
nameServers コンテナー グループの DNS サーバー。 string[] (必須)
options コンテナー グループの DNS オプション。 string
searchDomains コンテナー グループ内のホスト名参照用の DNS 検索ドメイン。 string

ImageRegistryCredential

名前 説明
password プライベート レジストリのパスワード。 string
server "http" や "https" などのプロトコルを除いた Docker イメージ レジストリ サーバー。 string (必須)
username プライベート レジストリのユーザー名。 string (必須)

IpAddress

名前 説明
dnsNameLabel IP の DNS 名ラベル。 string
ip パブリック インターネットに公開されている IP。 string
ports コンテナー グループで公開されているポートのリスト。 Port[] (必須)
IP がパブリック インターネットまたはプライベート VNET に公開されているかどうかを指定します。 "Private"
"Public" (必須)

Port

名前 説明
port ポート番号。 int (必須)
protocol ポートに関連付けられているプロトコル。 "TCP"
"UDP"

ContainerGroupNetworkProfile

名前 説明
id ネットワーク プロファイルの識別子。 string (必須)

ボリューム

名前 説明
azureFile Azure File ボリューム。 AzureFileVolume
emptyDir 空のディレクトリ ボリューム。
gitRepo Git リポジトリ ボリューム。 GitRepoVolume
name ボリュームの名前。 string (必須)
secret シークレット ボリューム。 object

AzureFileVolume

名前 説明
readOnly ボリュームとしてマウントされている Azure ファイル共有が読み取り専用かどうかを示すフラグ。 [bool]
shareName ボリュームとしてマウントされる Azure ファイル共有の名前。 string (必須)
storageAccountKey Azure ファイル共有にアクセスするために使用されるストレージ アカウント アクセス キー。 string
storageAccountName Azure ファイル共有が含まれているストレージ アカウントの名前。 string (必須)

GitRepoVolume

名前 説明
directory ターゲット ディレクトリの名前。 ".." が含まれていたり、".." で始まっていたりすることはできません。 "." を指定した場合、ボリューム ディレクトリは Git リポジトリになります。 それ以外の場合、指定すると、ボリュームの指定された名前のサブディレクトリに Git リポジトリが含まれます。 string
repository リポジトリの URL string (必須)
revision 指定されたリビジョンのコミット ハッシュ。 string