0Pricing
DevOps Bootcamp · レッスン

ホストのグループ化:web、db、app

サーバーを論理グループに整理します

「ホストのグループ化:web、db、app」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。

ホストをグループ化する理由

グループを使うと、多数のサーバーに一度に処理を実行できます。各ホストを個別に指定する代わりに、共通する役割を指定します。

役割でグループ名を付ける

適切なグループ名は、サーバーの役割を表します。web、db、appなどの名前が、コマンドでその層を対象にするときの指定になります。

[web]
[db]
[app]

webグループに追加

フロントエンドサーバーを[web]見出しの下に一覧にします。これでwebを対象にしたコマンドが、両方のサーバーに適用されます。

[web]
web1.example.com
web2.example.com

dbグループを追加

データベースホストを[db]の下にまとめます。層を分けておけば、危険性のあるdbのタスクがWebサーバーに触れることはありません。

[db]
db1.example.com

1つのグループを対象にする

ホスト名を指定する場所にグループ名を渡します。ここではAnsibleがdb層だけにpingを実行し、ほかのホストは無視します。

ansible db -i inventory.ini -m ping

1つのホストを複数グループに所属させる

同じホストを2つの見出しの下に記載すると、両方のグループに所属します。appとwebを兼ねるサーバーに便利です。

[web]
node1.example.com

[app]
node1.example.com

YAMLでのグループ化

YAMLでは、各グループをchildrenの下に置き、それぞれに独自のhostsブロックを持たせます。考え方は同じで、構造が入れ子になります。

all:
  children:
    web:
      hosts:
        web1.example.com:

グループのメンバーを一覧表示

--list-hostsで、どのホストがどこに所属するかを確認できます。グループのpatternに該当するサーバーが正確に表示されます。

ansible app -i inventory.ini --list-hosts

ungroupedで未分類を拾う

グループなしで記載したホストは、組み込みのungroupedグループに入ります。分類し忘れたサーバーをすばやく見つけられます。

ansible ungrouped -i inventory.ini --list-hosts

グループを実際の層に対応させる

web、db、appグループは、典型的な3層構成に対応します。自動化の記述が、実際のアーキテクチャをそのまま表すようになります。

名前を統一する

命名規則を決めたら、それを守ってください。プロジェクト間でグループ名を統一すると、playbookを再利用しやすくなり、レビューも簡単になります。

確認テスト

1台のホストを[web]と[app]の両方の見出しの下に記載しました。どうなりますか。

まとめ

web、db、appなどのグループを使うと、名前で層全体を対象にできます。1台のホストを同時に複数のグループへ所属させることもできます。🗂️

よくある質問

「ホストのグループ化:web、db、app」レッスンは無料ですか?

はい。「ホストのグループ化:web、db、app」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。

「ホストのグループ化:web、db、app」で何を学びますか?

サーバーを論理グループに整理します ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

DevOps Bootcampを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「ホストのグループ化:web、db、app」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このDevOps Bootcampレッスンでコードを書いて実行できますか?

はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. INIとYAMLのインベントリファイル
  2. ホストのグループ化:web、db、app
  3. ネストしたグループとchildrenキーワード
  4. インベントリのホスト変数とグループ変数
← DevOps Bootcampに戻る