ホームページ  >  記事  >  システムチュートリアル  >  Ansible を使用してサーバーレス アプリケーションのデプロイを自動化する

Ansible を使用してサーバーレス アプリケーションのデプロイを自動化する

王林
王林転載
2024-01-05 23:44:43904ブラウズ
###導入### Ansible は、実際に機能する最もシンプルなデプロイメント ツールとなるように設計されています。これは、完全なプログラミング言語ではないことを意味します。タスクを定義し、自動化する必要があるタスクをリストする YAML テンプレートを作成する必要があります。 ほとんどの人は、Ansible をより強力な「for ループ内の SSH」と考えていますが、単純な使用シナリオではこれが当てはまります。しかし実際には、Ansible は SSH ではなくタスクです。多くの場合、SSH 経由で接続しますが、Windows マシン上の Windows リモート管理 (WinRM) や、クラウド サービスの共通言語としての HTTPS API などもサポートしています。

クラウドでは、Ansible はコントロール プレーンとインスタンス リソースという 2 つの独立したレベルで動作できます。コントロール プレーンは、オペレーティング システム上で実行されていないすべてのもので構成されます。これには、ネットワークのセットアップ、新しいインスタンスの作成、Amazon の S3 や DynamoDB などの高レベルのサービスのプロビジョニングなど、クラウド インフラストラクチャを安全に保ち、顧客にサービスを提供するために必要なすべての作業が含まれます。

インスタンスでの作業は、Ansible で実行できることはすでにご存知のとおりです。サービスの開始と停止、構成ファイルのテンプレート化、パッケージのインストール、および SSH 経由のオペレーティング システム関連のすべての操作です。

さて、サービスレスとは何でしょうか?サーバーレスは、パブリック クラウドの無限の拡張であるか、すべてが API 呼び出しでありこれまでに行われたことのない完全に新しいパラダイムであるかは、質問者によって異なります。

Ansible が最初のビューを取得します。 「サービスレス」が専門用語になる前は、ユーザーは EC2 インスタンス、仮想プライベート クラウド (VPC) ネットワーク、その他すべてを管理および構成する必要がありました。 Serviceless はマネージド サービスの方向へのもう 1 つのステップであり、Ansible のエージェントレス アーキテクチャとうまく連携します。

Lambda の例を開始する前に、簡単な構成の CloudFormation スタック タスクを見てみましょう:

リーリー

このようなタスクの作成には数分しかかかりませんが、これはインフラストラクチャの構築に関わる最後の半手動ステップです。[スタックの作成] をクリックすると、プレイブックが他のものとまとめられます。 VPC は、新しいリージョンを設定するときに呼び出されるもう 1 つのタスクにすぎません。

クラウドプロバイダーはアカウント内で何が起こっているかに関する真実の情報源であるため、Ansible には、ID、名前、その他のパラメーターを使用して、実行中のインスタンスまたはネットワークを取得、フィルタリング、クエリするためのさまざまな方法があります。 Cloudformation_facts モジュールを例にとると、作成したばかりのテンプレートからサブネット ID、ネットワーク範囲、その他のデータを取得できます。

リーリー

サーバーレス アプリケーションの場合、DynamoDB テーブル、S3 バケット、その他に加えて Lambda 関数が必ず必要になります。幸いなことに、lambda モジュールを使用すると、前のタスクのスタックと同じ方法で Lambda 関数を作成できます。 リーリー

サーバーレス アプリケーションの配信に使用したい他のツールがある場合は、これも可能です。オープンソースのサーバーレス フレームワークには、同様に機能する独自の Ansible モジュールがあります。 リーリー

必要なのはこれだけではありません。サーバーレス プロジェクトも存在する必要があり、そこで関数とイベント ソースを厳密に定義します。この例では、HTTP リクエストに応答する関数を作成します。サービスレス フレームワークは構成言語として YAML を使用するため (Ansible など)、これには見覚えがあるはずです。

リーリー

AnsibleFest では、この例と、既存のプレイブックとインフラストラクチャ、および新しいサーバーレスの実践を最大限に活用するためのその他の詳細なデプロイメント戦略について説明します。そこに到達できるかどうかに関係なく、管理するサービスがあるかどうかに関係なく、これらの例が Ansible の使用を開始するきっかけになれば幸いです。

AnsibleFest は、数百の Ansible ユーザー、開発者、業界パートナーが集まる 1 日限りのカンファレンスです。製品の最新情報、刺激的な会話、技術的な詳細な説明、実践的なデモ、ネットワーキングなどを一日中お楽しみいただけます。

以上がAnsible を使用してサーバーレス アプリケーションのデプロイを自動化するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlinuxprobe.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。