Oracle Cloud Infrastructureドキュメント

サンプルAnsibleプレイブック

ここで指定するのは、Oracle Cloud InfrastructureのサンプルAnsibleプレイブックのカタログで、共通のインフラストラクチャ・プロビジョニングおよび構成タスクの実行方法を示しています。 サンプルは、Oracle Cloud Infrastructureサービスに関連するグループで編成されています:

  • Block Volume
  • Compute
  • Container Engine for Kubernetes
  • Database
  • File Storage
  • IAM
  • Load Balancing
  • Object Storage
  • デプロイメント・ソリューション(MongoDB)

各プレイブックの簡単な説明が表示されます。詳細は、Oracle GitHubリポジトリの各サンプルへのリンクとともに表示されます。 まず、各プレイブックのルート・ディレクトリにあるReadme.mdファイルを確認します。

Block Volume

ComputeインスタンスにBlock Volumeをアタッチ

このサンプル・プレイブックは、iSCSIボリューム・アタッチメント・タイプを使用してコンピュート・インスタンスにブロック・ボリュームをアタッチし、iscsiadmを使用してコンピュート・インスタンスに接続する方法を示しています。 このサンプルでは、次の操作方法を示しています:

  • 一時的なホスト固有のSSHキー・ペアを生成します。
  • キー・ペアから公開キーを指定してインスタンスに接続し、インスタンスを起動します。
  • インスタンスの新しいBlock Volumeを作成し、インスタンスにボリュームをアタッチし、ボリュームのアタッチ・タイプとしてiSCSIを指定します。
  • iscsiadmコマンドをSSH経由でAnsibleモジュールを使用して実行することにより、コンピュート・インスタンスからボリュームを接続し、マウントします。

「Oracle GitHubのサンプルに移動します」

Compute

コンピュート・インスタンスを起動

このサンプル・プレイブックは、パブリックComputeインスタンスを起動し、SSH接続経由でAnsibleモジュールからインスタンスにアクセスする方法を示しています。 このサンプルでは、次の操作を説明します:

  • 一時的なホスト固有のSSHキー・ペアを生成します。
  • キー・ペアから公開キーを指定してインスタンスに接続し、インスタンスを起動します。
  • SSHを使用して新しく起動したインスタンスに接続します。

「Oracle GitHubのサンプルに移動します」

NATを使用してコンピュート・インスタンスからインターネット・アクセスを有効にします

このサンプル・プレイブックは、プライベート・サブネット内のコンピュート・インスタンスからのインターネット・アクセスを有効化する方法を示しています。 この例では、パブリック・サブネットでAnsibleモジュールを使用してネットワーク・アドレス変換(NAT)インスタンスを使用しています。 このサンプルでは、次の操作を説明します:

ノート

NATインスタンスをサポートするためのネットワーク・トポロジの設定方法については、ホワイト・ペーパーの「NATインスタンスの構成: プライベート・サブネットのインターネット・アクセスを有効にします」を参照してください。
「チュートリアル: Oracle Cloud InfrastructureのTerraformでNATインスタンスを自動的に設定」も参照してください。

  • VCN、インターネット・ゲートウェイ、パブリック・サブネット、プライベート・サブネット、必要なセキュリティ・リスト、およびルート・ルールの作成など、適用可能なネットワーク・トポロジを設定します。
  • パブリック・サブネットにNATインスタンス、プライベート・サブネットにプライベート・インスタンスをプロビジョニングします。
  • パブリック・サブネット上のNATインスタンスを介してプライベート・インスタンスのアウトバウンド・インターネット・アクセスを有効にします。

「Oracle GitHubのサンプルに移動します」

Oracle Cloud Infrastructure NAT Gatewayを使用した、Compute Instanceからのインターネット・アクセスの有効化

このサンプルは、以前のサンプルと似ていますが、このサンプルが、Oracle Cloud Infrastructure NATゲートウェイ・サービスとして動作するようにコンピュート・インスタンスを構成している場合は、現在のサンプルが、Oracle Cloud Infrastructure NATゲートウェイ・サービスに使用されています。

ノート

Oracle Cloud Infrastructure NATゲートウェイ・サービスの詳細は、「NATゲートウェイ」を参照してください。
Oracle Cloud Infrastructure NATゲートウェイの使用方法に関するブログ投稿については、「Oracle Cloud Infrastructure NAT Gatewayを介したパブリック・インターネット上のリソースへのアクセス」を参照してください。

サンプルは、次のことの完了方法を示しています:

  • VCN、NATゲートウェイ、インターネット・ゲートウェイ、パブリックおよびプライベート・サブネット、および必要なセキュリティ・リストとルート・ルールを設定します。
  • パブリック・サブネット内のベース・インスタンスおよびプライベート・サブネット内のプライベート・インスタンスをプロビジョニングします。

いったん設定すると、プライベート・インスタンスはOracle Cloud Infrastructure NATゲートウェイ経由でアウトバウンド・インターネット・アクセスを行い、基準インスタンスからSSHを使用してアクセスできます。

Oracle GitHubのサンプルに移動します

インスタンス・プールの作成

このサンプルでは、Oracle Cloud Infrastructure Ansibleモジュールを使用して提供されるインスタンス構成やインスタンス・プールなどのリソースを使用して、Computeインスタンスを管理する方法について説明します。 インスタンス・プールは、単一のインスタンス構成に基づいて、同じリージョン内で複数のComputeインスタンスを作成してプロビジョニングするのに役立ちます。

サンプルでは、次のタスクを完了しています。

  • 一時的なホスト固有のSSHキー・ペアを生成します。
  • SSHキーのペアから、起動時にインスタンスに接続する公開キーを指定します。
  • インスタンス・プールの一部としてComputeインスタンスを作成するための設定を定義するインスタンス構成を作成します。 構成には、ベース・イメージ、シェイプ、メタデータなどの詳細が用意されています。
  • インスタンス・プールを使用して、インスタンスの構成に基づくComputeインスタンスの起動方法を示します。
  • SSHを使用してComputeインスタンスのいずれかに接続します。

Oracle GitHubのサンプルに移動します

インスタンスの作成コンソール接続とキャプチャコンソール履歴

このサンプルでは、ComputeインスタンスへのVNCおよびシリアル・コンソール接続を作成でき、インスタンスからシリアルコンソールデータをフェッチおよび取得する方法を示します。 コンソール接続の詳細は、「インスタンス・コンソール接続」を参照してください。

このサンプルでは、次のタスクの完了を示します。

  • シリアルコンソール接続用の一時SSHキー・ペアを生成します。
  • Computeインスタンスのインスタンスコンソール接続を作成します。
  • Computeインスタンスのシリアルコンソールデータを取得してから、ローカル・マシンにデータを保存し、問題をトラブルシューティングおよびデバッグできるようにします。

Oracle GitHubのサンプルに移動します

サービス・ゲートウェイを使用したプライベート・インスタンスからObject Storageにアクセス

このサンプルの再生ブックでは、サービス・ゲートウェイを使用してComputeインスタンスからObject Storageへのプライベート・アクセスを有効にする方法について説明します。

ノート

サービス・ゲートウェイの詳細は、「Oracle Servicesへのアクセス: サービス・ゲートウェイ」を参照してください。
サービス・ゲートウェイを使用したComputeインスタンスの接続方法に関するブログ投稿を読むには、「Oracle Cloud Infrastructure Service Gatewayを介したOracle Servicesとのプライベート・インスタンスの接続」を参照してください。

サンプルは、次のタスクを完了する方法を示しています:

  • バケットの管理に必要なユーザー、グループおよびポリシーを設定します。
  • 必要なAPIキーを作成してユーザーにアップロードします。
  • VCN、NATゲートウェイ、インターネット・ゲートウェイ、パブリックおよびプライベート・サブネット、および必要なセキュリティ・リストとルート表を設定します。 基準インスタンスはパブリック・サブネットでプロビジョニングされ、プライベート・インスタンスはプライベート・サブネットでプロビジョニングされることに注意してください。
  • プライベート・サブネットでのComputeインスタンスのプロビジョニング,
  • Oracle Cloud Infrastructureコマンド行インタフェース(CLI)をインストールし、クラウドinitスクリプトを使用してCLIを構成します。
  • プライベート・インスタンスへのパブリック・アクセスを制限するために、NATゲートウェイを無効にします。
  • Oracle Cloud Infrastructure CLIを使用してプライベート・インスタンスからバケットを作成し、バケットが作成されたことを確認します。

この設定に従うと、プライベート・プラグインはObject Storageに非公開アクセスできます。

Oracle GitHubのサンプルに移動します

Container Engine for Kubernetes

Container Engine for Kubernetesを使用したクラスタの作成

このサンプル・プレイブックでは、Container Engine for Kubernetes (OKE)を使用してクラスタを作成し、クラスタ上にサンプル・アプリケーションをデプロイします。 このサンプルは、既存の例(「Kubernetesに対してOracle Cloud Infrastructure Container Engineを使用したクラスタの作成」)を補完します。

このサンプルでは、次のことを実行する方法を説明します。

  • OKEクラスタの設定に必要なVCNおよび関連リソースを作成および構成します。
  • クラスタを作成します。
  • ノード・プールを作成します。
  • Kubeconfigファイルをクラスタ用にダウンロードします。
  • クラスタ上にサンプル・アプリケーションをデプロイします。
  • デプロイメントが成功したことを検証します。

「Oracle GitHubのサンプルに移動します」

Database

ベアメタル・データベース/VMデータベースのプロビジョニング

このサンプル・プレイブックは、Ansibleモジュールを介してアクセスできるように、データベース・システム・ノードのパブリックIPアドレスとプライベートIPアドレスを取得する方法を示しています。 このサンプルでは、次の操作を説明します:

  • 指定されたデータベースのデータベース・ノードVNIC情報を収集します。
  • VNICからデータベース・ノードのパブリックおよびプライベートIPアドレスを抽出します。

「Oracle GitHubのサンプルに移動します」

Autonomous Data Warehouse

このサンプル・プレイブックは、Autonomous Data Warehouseを作成してそのライフサイクルを管理する方法を示します。 このサンプルでは、次の操作方法を示しています:

  • Autonomous Data Warehouseを設定します。
  • コンパートメント内で使用可能なAutonomous Data Warehouseインスタンスを、表示名でフィルタリングしてすべてリストします。
  • 指定されたAutonomous Data Warehouseのファクトを取得します。
  • Autonomous Data Warehouseインスタンスを停止および起動します。
  • Autonomous Data Warehouseインスタンスを削除します。

「Oracle GitHubのサンプルに移動します」

Autonomous Transaction Processing

このサンプル・プレイブックは、Autonomous Transaction Processingデータベースを作成し、そのライフサイクルを管理する方法を示しています。 このサンプルでは、次の操作方法を示しています:

  • Autonomous Transaction Processingデータベース・インスタンスを設定します。
  • コンパートメント内のすべてのAutonomous Transaction Processingインスタンスを表示名でフィルタリングしてリストします。
  • 指定したAutonomous Transaction Processingインスタンスのファクトを取得します。
  • Autonomous Transaction Processingデータベース・インスタンスを削除します。

「Oracle GitHubのサンプルに移動します」

File Storage

ファイル・システムの作成とマウント

サンプルは、Ansibleクラウド・モジュールを使用してOracle Cloud Infrastructure Computeインスタンス経由でアクセスできるファイル・システムの作成方法を示しています。 サンプルでは、次のタスクの完了を示しています。

  • VCN、サブネットなどのネットワーク依存性と、「ファイル・システム」サービスで要求どおりに構成されたセキュリティ・リストを作成します。
  • Computeインスタンスで必要な証明書を生成します。
  • ターゲットのマウント、ファイル・システム、エクスポート、スナップショットなどのFile Storageサービス・コンポーネントの作成方法を示します。
  • Computeインスタンスを使用してファイル・システムをマウントする方法と、ファイル・システムのコンテンツに別のComputeインスタンスからアクセスする方法を示します。

Oracle GitHubのサンプルに移動します

マウント・ターゲットがある複数のファイル・システム

このサンプルは、2つの異なるマウント・ターゲットにある2つの異なるエクスポート・パスを使用して1つのファイル・システムをエクスポートする方法を示しています。 また、1つのマウント・ターゲットが2つの異なるファイル・システムからパスをエクスポートする方法も示します。 サンプルでは、次のタスクの完了を示しています。

  • VCN、サブネットなどのネットワーク依存性と、「ファイル・システム」サービスで要求どおりに構成されたセキュリティ・リストを作成します。
  • Computeインスタンスで必要な証明書を生成します。
  • ターゲットのマウント、ファイル・システム、エクスポート、スナップショットなどのFile Storageサービス・コンポーネントの作成方法を示します。
  • 1つのファイル・システムを2つの異なるマウント・ターゲットにエクスポートする方法を示します。
  • 1つのマウント・ターゲットが2つの異なるファイル・システムからパスをエクスポートできる方法を示します。
  • Oracle Cloud Infrastructure Computeインスタンスを使用してファイル・システムをマウントする方法を示します。

Oracle GitHubのサンプルに移動します

IAM

Ansibleモジュールを使用したIAMタスクの実行

このサンプルは、Ansibleモジュールを使用して基本的なアイデンティティおよびアクセス管理(IAM)タスクを実行する方法を示しています。 このサンプルでは、Ansibleプレイブックを実行する方法や、別のユーザーとして個別のタスクを実行する方法も示しています。 このサンプルでは、次の操作を説明します:

  • グループを作成します(ObjectReadersおよびObjectWriters)。
  • IAMポリシーを作成すると、次の機能が有効になります:
    • ObjectReaders:バケットとオブジェクトをリストし、読み取ります。
    • ObjectWriters指定されたコンパートメント内でバケットおよびオブジェクトを作成、更新、リストおよび読取りします。
    • グループにポリシーを割り当てます。
  • ユーザー(alice)とbobを作成して、次を実行します。
    • aliceObjectWritersグループに追加します。
    • bobObjectReadersグループに追加します。
    • aliceとして実行してバケットを作成した後、オブジェクトをバケットにアップロードします。
    • バケット内のすべてのオブジェクトをリストするために、bobとして実行します。

「Oracle GitHubのサンプルに移動します」

Load Balancing

このサンプル・プレイブックは、Ansibleモジュールを使用してパブリック・ロード・バランサを作成する方法を示しています。 このサンプルは、次の内容を示しています:

  • たとえば、サブネットやVCNなどのネットワーク関連のアーティファクトを生成します。
  • ロード・バランサに必要な証明書を生成します。
  • Ansibleプレイブックを使用してパブリック・ロード・バランサを作成します。

「Oracle GitHubのサンプルに移動します」

Object Storage

このサンプル・プレイブックは、Ansibleモジュールを使用して、Object Storageサービス・ネームスペースのすべてのバケットから、指定した日数内に作成されたオブジェクトを削除する方法を示しています。 指定した日数より古いオブジェクトを削除するようにサンプルを変更することもできます。これにより、サービスに格納されている古いオブジェクトや不要なオブジェクトを削除することができます。

「Oracle GitHubのサンプルに移動します」

MongoDBデプロイメント

Ansibleモジュールを使用したMongoDB Databaseのデプロイ

このサンプル・プレイブックは、Ansibleモジュールを使用して、MongoDBデータベースをクラウドに安全にデプロイする方法を示しています。 このサンプルでは、Castle Strategy (「多重防御」)を使用してセキュリティ対策を実装しています。これについては、「Oracle Bare Metal Cloud ServicesのセキュアなMongoDB」の記事で説明しています。

「Oracle GitHubのサンプルに移動します」

Networking

Ansibleモジュールを使用したVCNのプロビジョニング

このサンプル・プレイ・ブックは、異なる可用性ドメインに2つの非公開サブネットを持つ仮想クラウド・ネットワーク(VCN)をプロビジョニングする方法と、IPSec VPNを示しています。サンプルでは、ナレッジ・ベースの記事「シナリオB: VPNとのプライベート・サブネット」に示されているインフラストラクチャ・リソースをプロビジョニングします。 サンプルでは、次のリソースをプロビジョニングします。

  • VCN。
  • 2つの非公開サブネット。
  • 動的ルーティング・ゲートウェイ(DRG)です。
  • 顧客用設備(CPE)。
  • DRGとCPE間のIPSec接続で、IPSecの構成情報とステータスを取得します。

「Oracle GitHubのサンプルに移動します」