原文はこちら。
https://blogs.oracle.com/cloud-infrastructure/announcing-oracle-cloud-infrastructure-resource-manager-v2
今週シアトルで開催されているCloudNativeCon North America 2018で、Oracle Cloud Infrastructure Resource Manager(以下Resource Manager)という新しいサービスを発表できうれしく思っています。これはOracle Cloud Infrastructureのインフラストラクチャリソースの管理を簡単にするためのサービスです。Resource Managerを使うと、infrastructure as code (IaC)を使って、Compute、Networking、Storage、Load Balancingなどのインフラストラクチャ・リソースのプロビジョニングを自動化できます。
IaCの利用とは、つまりDevOpsプラクティスであり、これによって迅速かつ信頼性高い状態で大規模にインフラストラクチャのプロビジョニングが可能です。対象のシステムではなく、コードを変更します。そのコードはソース管理システムでメンテナンスできるので、必要に応じて協同作業や変更の追跡、文書化、逆展開も簡単です。
Resource Managerを使用すると、スタックを作成してからTerraformアクションを実行できます。スタックを使用すると、Terraformの構成を分離できます。ここで、1個のスタックは一緒に作成したいOracle Cloud Infrastructureリソースの集合を表します。各スタックは、ダウンロード可能なTerraformの状態ファイルに個別にマップされます。
スタックを作成するには、コンパートメントを定義し、このスタックを作成する際にTerraform設定をアップロードします。このzipファイルには、作成したいリソースを定義しているすべての.tfファイルが含まれています。オプションでvariables.tfファイルを含めることも、コンソール上で(key,value) 形式で変数を定義することもできます。
スタック作成後、このスタックでplan、apply、destroyといった様々なTerraformアクションを実行できます。これらのTerraformアクションはjobと呼ばれます。必要に応じて、新たなzipファイルをアップロードしてこのスタックを更新したり、この設定をダウンロードしたり、スタックを削除することもできます。
IAMポリシーを使用して、スタックやジョブに対する権限を定義できます。 詳細な権限を定義し、特定のユーザーまたはグループのみがplan、apply、destroyといったアクションを実行できるように設定できます。
https://blogs.oracle.com/cloud-infrastructure/announcing-oracle-cloud-infrastructure-resource-manager-v2
今週シアトルで開催されているCloudNativeCon North America 2018で、Oracle Cloud Infrastructure Resource Manager(以下Resource Manager)という新しいサービスを発表できうれしく思っています。これはOracle Cloud Infrastructureのインフラストラクチャリソースの管理を簡単にするためのサービスです。Resource Managerを使うと、infrastructure as code (IaC)を使って、Compute、Networking、Storage、Load Balancingなどのインフラストラクチャ・リソースのプロビジョニングを自動化できます。
IaCの利用とは、つまりDevOpsプラクティスであり、これによって迅速かつ信頼性高い状態で大規模にインフラストラクチャのプロビジョニングが可能です。対象のシステムではなく、コードを変更します。そのコードはソース管理システムでメンテナンスできるので、必要に応じて協同作業や変更の追跡、文書化、逆展開も簡単です。
Terraform
インフラストラクチャを記述するため、Resource Managerは、クラウドインフラストラクチャを記述するための支配的な標準となっているオープンソースプロジェクトであるTerraformを使用します。OracleはTerraformに対して強くコミットしており、すべてのクラウドインフラストラクチャサービスをTerraformを通じて管理できるようにする予定です。今年初めにTerraform Providerをリリースし、Oracle Cloud Infrastructure用のTerraformモジュールをModule Registryに上げ始めました。Oracle Cloud Infrastructure Terraform Provider Now Supported by HashiCorp今回、マネージドサービスを提供することで次のステップに踏み出ています。
https://blogs.oracle.com/cloud-infrastructure/oracle-cloud-infrastructure-terraform-provider-now-supported-by-hashicorp
https://orablogs-jp.blogspot.com/2018/09/oracle-cloud-infrastructure-terraform.html
Terraform Module Registry
https://registry.terraform.io/search?q=oci&verified=false
Managed Service
プロバイダやモジュールに加えて、Oracleは、Terraformを操作するフルマネージドなサービスであるResource Managerを提供します。Resource ManagerはOracle Cloud Infrastructure Identity and Access Management (IAM)と統合されているため、Terraformの操作に対し詳細な権限設定が可能です。さらに、ステート・ロック(state locking)を提供します。これはユーザーにステートを共有する機能を提供し、チームがTerraformのデプロイメントにあたって効果的に共同作業を行うことを可能にします。何よりも、Terraformの操作をより簡単で信頼性の高いものにします。Resource Managerを使用すると、スタックを作成してからTerraformアクションを実行できます。スタックを使用すると、Terraformの構成を分離できます。ここで、1個のスタックは一緒に作成したいOracle Cloud Infrastructureリソースの集合を表します。各スタックは、ダウンロード可能なTerraformの状態ファイルに個別にマップされます。
スタックを作成するには、コンパートメントを定義し、このスタックを作成する際にTerraform設定をアップロードします。このzipファイルには、作成したいリソースを定義しているすべての.tfファイルが含まれています。オプションでvariables.tfファイルを含めることも、コンソール上で(key,value) 形式で変数を定義することもできます。
スタック作成後、このスタックでplan、apply、destroyといった様々なTerraformアクションを実行できます。これらのTerraformアクションはjobと呼ばれます。必要に応じて、新たなzipファイルをアップロードしてこのスタックを更新したり、この設定をダウンロードしたり、スタックを削除することもできます。
- Plan: Resource Managerは構成を解析し、終了状態を説明するOracle Cloud Infrastructureリソースを並べた実行計画を返します。
- Apply: Resource Managerは、planジョブの結果に基づいてスタックを作成します。この操作が完了すると、定義されたコンパートメントで正常に作成されたリソースを確認できます。
- Destroy: Terraformはスタック内のすべてのリソースを削除しようとします。
IAMポリシーを使用して、スタックやジョブに対する権限を定義できます。 詳細な権限を定義し、特定のユーザーまたはグループのみがplan、apply、destroyといったアクションを実行できるように設定できます。