ホストのグループ化: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.comdbグループを追加
データベースホストを[db]の下にまとめます。層を分けておけば、危険性のあるdbのタスクがWebサーバーに触れることはありません。
[db]
db1.example.com1つのグループを対象にする
ホスト名を指定する場所にグループ名を渡します。ここではAnsibleがdb層だけにpingを実行し、ほかのホストは無視します。
ansible db -i inventory.ini -m ping1つのホストを複数グループに所属させる
同じホストを2つの見出しの下に記載すると、両方のグループに所属します。appとwebを兼ねるサーバーに便利です。
[web]
node1.example.com
[app]
node1.example.comYAMLでのグループ化
YAMLでは、各グループをchildrenの下に置き、それぞれに独自のhostsブロックを持たせます。考え方は同じで、構造が入れ子になります。
all:
children:
web:
hosts:
web1.example.com:グループのメンバーを一覧表示
--list-hostsで、どのホストがどこに所属するかを確認できます。グループのpatternに該当するサーバーが正確に表示されます。
ansible app -i inventory.ini --list-hostsungroupedで未分類を拾う
グループなしで記載したホストは、組み込みの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フィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- INIとYAMLのインベントリファイル
- ホストのグループ化:web、db、app
- ネストしたグループとchildrenキーワード
- インベントリのホスト変数とグループ変数