Documentation

32. 用語集

アドホック

Ansible を実行して、/usr/bin/ansible-playbook のオーケストレーション言語ではなく /usr/bin/ansible を使用してクイックコマンドを実行することを指します。アドホックコマンドの例には、インフラストラクチャー内での 50 台のマシンを再起動することなどが含まれます。アドホックに実行できるすべてのことは Playbook を作成して実行でき、Playbook は数多くの他の操作を 1 つにまとめることができます。

Callback プラグイン

Ansible からの結果をインターセプトでき、それらについて何らかの処理を行うユーザー作成コードを指します。GitHub プロジェクトで提供されている一部のサンプルの実行内容には、カスタムロギングやメール送信、さらにはサウンド効果の再生などが含まれます。

コントロールグループ

コントロールグループは「cgroup」とも呼ばれる Linux カーネルの機能で、リソースをグループ化し、特定のプロセスを実行するために割り当てることができるようになります。プロセスへのリソースの割り当てに加えて、cgroup は、cgroup 内で実行されるすべてのプロセスによる実際のリソースの使用量の報告も行います。

Check Mode (チェックモード)

--check オプションを指定して Ansible を実行することを指します。このオプションを選択してもリモートシステムに変更は加えられることはなく、コマンドがこのフラグなしに実行された場合に生じる可能性のある変更のみを出力します。これは、他のシステムでのいわゆる「ドライラン」モードに類似しています。ただし、この場合は予期しないコマンドの失敗やカスケード効果が考慮されないことに注意してください (他のシステムの同様のモードについても同じです)。このモードを使用すると、起こり得ることの概要を把握することはできますが、これが適切なステージング環境の代わりになる訳ではありません。

コンテナーグループ

コンテナーグループはインスタンスグループの 1 種で、ジョブが実行される Kubernetes または OpenShift クラスター内での Pod のプロビジョニングに関する設定を指定します。これらの Pod はオンデマンドでプロビジョニングされ、Playbook が実行されている期間のみ存在します。

認証情報

Authentication details that may be utilized by the controller to launch jobs against machines, to synchronize with inventory sources, and to import project content from a version control system.

認証情報プラグイン

外部の認証情報タイプ、メタデータフィールド、シークレット管理システムとの対話に必要なコードの定義を含む Python コード

分散ジョブ

ジョブテンプレート、インベントリー、スライスサイズで構成されるジョブ。実行されると、分散されたジョブは、各インベントリーを複数の「スライスサイズ」のチャンクにスライスし、これらをサイズの小さいジョブスライスの実行に使用します。

外部認証情報タイプ

A managed credential type for automation controller used for authenticating with a secret management system.

ファクト

端的に言うと、ファクトはリモートノードについて発見される事柄を指します。ファクトは変数のように Playbook やテンプレートで使用できますが、ファクトは設定される事柄というよりは推測される事柄と言えます。ファクトは、リモートノードで内部セットアップモジュールを実行することでプレイの実行中に自動的に検出されます。セットアップモジュールは明示的に呼び出さなくても実行されますが、実行する必要がない場合は時間を節約するために無効に設定できます。他の設定管理システムから切り替えを行われている場合の利点として、ファクトモジュールは Chef および Puppet のファクトライブラリーである 「ohai」および「facter」ツールから (インストールされている場合) ファクトを取り込みます。

フォーク

Ansible and automation controller talk to remote nodes in parallel and the level of parallelism can be set serveral ways--during the creation or editing of a Job Template, by passing --forks, or by editing the default in a configuration file. The default is a very conservative 5 forks, though if you have a lot of RAM, you can easily set this to a value like 50 for increased parallelism.

グループ

セットとして対応可能な Ansible 内の一連のホストを指します。それらの内の多くが単一インベントリーに存在する場合があります。

グループ変数

group_vars/ ファイルは、各グループに由来するオプションのファイル名で、インベントリーファイルと共にディレクトリーに存在するファイルのことです。このファイルは、とくにデータ構造が複雑な場合などに、所定グループに提供される変数を配置できる便利な場所になります。これにより、これらの変数がインベントリーファイルまたは Playbook に埋め込まれる必要がなくなります。

ハンドラー

ハンドラーは Ansible Playbook の通常のタスクのような機能を持ちます(「タスク」を参照) が、タスクに「notify (通知)」指示があり、変更があったことが示唆される場合にのみ実行されます。たとえば、設定ファイルが変更された後に、設定ファイルを参照するテンプレート作成操作のタスクはサービス再起動ハンドラーに通知する可能性があります。これは、サービスが再起動する必要がある場合にのみバウンスできることを意味します。ハンドラーはサービスの再起動以外のタスクに使用できますが、サービスの再起動が最も一般的な使用例になります。

ホスト

A system managed by automation controller, which may include a physical, virtual, cloud-based server, or other device. Typically an operating system instance. Hosts are contained in Inventory. Sometimes referred to as a "node".

ホスト指定子

Ansible の各プレイは、(システムのロール、目的または順序を定義する) 一連のタスクをシステムのセットにマップします。各プレイにあるこの「hosts:」指示はホスト指定子と呼ばれることが多くあります。これは 1 つのシステム、数多くのシステム、1 つ以上のグループ、または 1つのグループにあるが別のグループには明示的にないとされる一部のホストを選択することができます。

インスタンスグループ

クラスター環境で使用するインスタンスで構成されるグループ。インスタンスグループでは、ポリシーをもとにインスタンスをグループ化できます。

インベントリー

ジョブの起動対象となるホストのコレクションです。

インベントリースクリプト

ホスト、ホストのグループメンバーシップおよび変数情報を、SQL データベース、CMDB ソリューションまたは LDAP に類する外部リソースから参照する非常に簡単なプログラム (または複雑なプログラム) のことです。この概念は Puppet (「外部ノード分類子」と呼ばれている) から取られたもので、ほぼ同じ様に機能します。

インベントリーソース

現在のインベントリーグループにマージする必要のあるクラウドまたは他のスクリプトについての情報のことです。グループ、ホストおよびグループやホストについての変数が自動的に設定されます。

ジョブ

One of many background tasks launched by the controller, this is usually the instantiation of a Job Template; the launch of an Ansible playbook. Other types of jobs include inventory imports, project synchronizations from source control, or administrative cleanup actions.

ジョブの詳細

出力および成功/失敗を含む、特定ジョブの実行履歴のことです。

ジョブスライス

Distributed Job」を参照してください。

ジョブテンプレート

Ansible Playbook とその起動に必要なパラメーターのセットの組み合わせです。

JSON

Ansible and automation controller use JSON for return data from remote modules. This allows modules to be written in any language, not just Python.

メッシュ

ノードで構成されるネットワークを意味します。ノード間の通信は、TCP、UDP、Unix ソケットなどのプロトコルによってトランスポート層で確立されます。「node」も参照してください。

メタデータ

認証後に外部システムのシークレットの場所を特定する情報。外部認証情報とターゲットの認証情報フィールドをリンクするときにこの情報を使用します。

ノード

ノードは、インスタンスデータベースモデルまたは /api/v2/instances/ エンドポイント内のエントリーに相当し、クラスター/メッシュに参加するマシンです。統合ジョブ API は controller_node および execution_node フィールドを報告します。実行ノードではジョブが実行され、ローラーノードはジョブとサーバー機能間のインターフェースとして機能します。

ノードタイプ

説明

コントロール

永続的な Ansible Automation Platform サービスを実行し、ジョブをハイブリッドノードおよび実行ノードに委譲するノード

ハイブリッド

永続的な Ansible Automation Platform サービスを実行し、ジョブを実行するノード

ホップ

メッシュ全体でのリレーにのみ使用されます

実行

コントロールノードから配信されたジョブ(ユーザーの Ansible 自動化から送信されたジョブ)を実行するノード

通知テンプレート

名前、説明および定義された設定を持つ通知タイプ (メール、Slack、Webhook など) のことを指します。

Notification (通知)

通知テンプレートの表示。たとえばジョブが失敗すると、通知テンプレートによって定義された設定を使用して、通知が送信されます。

Notify (通知)

変更イベントを登録し、ハンドラータスクにプレイの終了時に別の操作の実行が必要であることを知らせるタスクの行為を指します。ハンドラーが複数のタスクによる通知を受けても、ハンドラーは 1 回のみ実行されます。ハンドラーは、それらが通知を受けた順ではなく、一覧表示された順に実行されます。

組織

A logical collection of Users, Teams, Projects, and Inventories. The highest level in the automation controller object hierarchy is the Organization.

Organization Administrator (組織管理者)

An automation controller user with the rights to modify the Organization's membership and settings, including making new users and projects within that organization. An organization admin can also grant permissions to other users within the organization.

パーミッション

The set of privileges assigned to Users and Teams that provide the ability to read, modify, and administer Projects, Inventories, and other automation controller objects.

プレイ

Playbook はプレイのリストを指します。最小単位のプレイは、ホスト指定子で選択されるホストのセット (通常はグループで選択されますが、ホスト名 glob で選択されることもある) と、システムが実行するロールを定義するためにホストで実行されるタスク間のマッピングです。Playbook には 1 つまたは数多くのプレイが含まれる場合があります。

Playbook

Ansible Playbook を指します。詳細は、http://docs.ansible.com/ を参照してください。

ポリシー

ポリシーは、インスタンスグループがどのように動作し、ジョブがどのように実行されるかを規定します。

プロジェクト

A logical collection of Ansible playbooks, represented in automation controller.

ロール

Roles are units of organization in Ansible and automation controller. Assigning a role to a group of hosts (or a set of groups, or host patterns, etc.) implies that they should implement a specific behavior. A role may include applying certain variable values, certain tasks, and certain handlers--or just one or more of these things. Because of the file structure associated with a role, roles become redistributable units that allow you to share behavior among playbooks--or even with other users.

シークレット管理システム

トークン、パスワード、証明書、暗号化キー、他の機密データをセキュアに保存して、これらのデータへのアクセスを制御するサーバーまたはサービス

スケジュール

ジョブが自動的に実行される日時のカレンダーのことを指します。

スライスされたジョブ

Distributed Job」を参照してください。

ソース認証情報

ターゲット認証情報のフィールドにリンクされる外部認証情報

Sudo

Ansible では root ログインが不要であり、デーモンが不要のため root レベルのデーモンも要求されません(これは機密環境ではセキュリティー上の懸念点となる可能性があります)。Ansible は sudo コマンドでログインでき、このコマンドでラップされた数多くの操作を実行でき、パスワードなしか、またはパスワードを使用する sudo で機能します。通常 sudo で機能しない操作 (scp ファイル転送など) については、sudo モードで実行中の Ansible の copytemplate、および fetch モジュールを使用して実行できます。

Superuser (スーパーユーザー)

An admin of the automation controller server who has permission to edit any object in the system, whether associated to any organization. Superusers can create organizations and other superusers.

Survey

ジョブテンプレート上で設定可能な、ジョブ起動時にジョブテンプレートによって尋ねられる質問のことを指します。

ターゲット認証情報

外部認証情報にリンクされている入力フィールドが含まれる外部以外の認証情報

チーム

関連付けられたユーザー、プロジェクト、認証情報およびパーミッションを持つ組織の下位区分のことです。チームは、ロールベースのアクセス制御スキームを実装し、組織全体で責任を委任する手段となります。

ユーザー

An automation controller operator with associated permissions and credentials.

Webhook

Webhook は、アプリ間の通信と情報共有を可能にします。Webhook は、SCM にプッシュされたコミットに応答し、ジョブテンプレートまたはワークフローテンプレートを起動するために使用されます。

ワークフロージョブテンプレート

単一ユニットとして実行するためにリンクされたジョブテンプレート、プロジェクトの同期、およびインベントリーの同期の任意の組み合わせで構成されるセットのことを指します。

YAML

Ansible and automation controller use YAML to define playbook configuration languages and also variable files. YAML has a minimum of syntax, is very clean, and is easy for people to skim. It is a good data format for configuration files and humans, but is also machine readable. YAML is fairly popular in the dynamic language community and the format has libraries available for serialization in many languages (Python, Perl, Ruby, etc.).