ivansible.srv_cdn

ivansible.srv_cdn

Githubテストステータス Ansible Galaxy

このロールは、シンプルなnginxベースのCDNを設定します。

CDNリクエストには、いくつかのオプションのHTTPヘッダーを含めることができます:

  • X-CDN-Front - 設定したいフロントホスト名、リクエストからのホスト名がデフォルト。
  • X-CDN-Host - 設定したいサーバーホスト名、オリジンを決定、デフォルトは$cdn_front
  • X-CDN-Back - 設定したいオリジンホスト名、オプション、オリジンを上書き。

要件

なし

変数

使用可能な変数は以下に示され、デフォルト値とともに記載されています。

    srv_cdn_sites:
      - server: .mydomain.com
        origin: www.example.com
        lecert: mydomain.com

サイトの主なリストには、以下のフィールドを持つレコードがあります:

  • server - フロントサーバー名、full.host.nameまたは.domain.name(必須);
  • origin - オリジンサーバーのホスト名、httpsをサポートしている必要があります(必須);
  • lecert - サーバーのカスタムletsencrypt証明書名(オプション);
  • hidden - trueの場合、サーバーとオリジンのマッピングが定義されますが、サーバー名はスキップされます(オプション、デフォルトはfalse)。
    srv_cdn_default_origin: example.com

フォールバックオリジン。

    srv_cdn_cloudflare:
      - zone: example.com
        name: {{ inventory_hostname }}
        type: AAAA
        value: {{ ansible_default_ipv6.address }}
        proxied: false

ホストごとのCloudflareレコードのリストには、以下のフィールドがあります:

  • zone - レコードのゾーン(必須);
  • name - レコード名(通常、未修飾のホスト名)、必須;
  • type - レコードのタイプ、A AAAA CNAMEなどのいずれか(必須);
  • value - オプションの値、これが空または偽の場合、レコードはスキップされます;
  • proxied - trueまたはfalse、デフォルトはfalse
    srv_cdn_cloudflare_email: ~
    srv_cdn_cloudflare_token: ~

CloudFlareの認証情報。これらの設定が空、偽、または未定義の場合、Cloudflareのタスクはスキップされます。

    srv_cdn_cloudfront:
      - server: www.mydomain.com
        reference: www.mydomain.com_cdn1
        origin: override.example.com
        lecert: mydomain.com
        cache: false

この配列は、cloudfront -> server -> originのような完全なウェブパスを持つCloudFront CDNディストリビューションを設定します。 各レコードには以下のフィールドがあります:

  • server - 上記サイトのリストにあるレコードと一致するフロントサーバー名(必須);
  • origin - オプション、上記サイトのリストのoriginを上書き;
  • reference - ユニークなcloudfront識別子(オプション、デフォルトはサーバー名にサフィックス);
  • lecert - サーバーのカスタムletsencrypt証明書名(オプション);
  • cache - falseはcloudfrontのキャッシングを無効にし、trueは有効にします(オプション、デフォルトはsrv_cdn_cloudfront_default_cache);
  • delete - trueの場合、配信が作成/更新されるのではなく削除されます(オプション、デフォルトはfalse)。
    srv_cdn_cloudfront_default_reference: SERVER_cdn

配信リファレンスのデフォルト名(SERVERは実際のサーバー名に置き換えられます)。

    srv_cdn_filters:
      - src: ...
        dst: ...

これらの置換はHTMLに適用されます。

srv_cdn_cloudfront_max_ttl: 2592000    # 1か月
srv_cdn_cloudfront_default_ttl: 86400  # 1日
srv_cdn_cloudfront_cached_methods: [GET, HEAD]
srv_cdn_cloudfront_default_cache: true

CloudFrontキャッシュのさまざまなデフォルト。

srv_cdn_cloudfront_access_key: ~
srv_cdn_cloudfront_secret_key: ~

Amazon CloudFrontの認証情報、srv_cdn_cloudfrontにレコードがある場合は必須、それ以外はオプション。これらの設定が空または未定義の場合、環境変数AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYがAnsibleコントローラホストにデフォルトとして設定されます。

タグ

  • srv_cdn_cloudflare - CloudFlareのDNSレコードを設定します。
  • srv_cdn_cloudfront - CloudFrontのディストリビューションを設定します。
  • srv_cdn_nginx - nginxでCDNサイトとマッピングを設定します。
  • srv_cdn_nginx_site - nginxで共通のCDNサイト設定をします。
  • srv_cdn_all - 上記すべて。

依存関係

  • ivansible.nginx_base - デフォルトとハンドラーを継承
  • ivansible.lin_nginx (暗黙の依存関係)

例プレイブック

- hosts: myserver
  roles:
     - role: ivansible.srv_cdn

ライセンス

MIT

著者情報

2020-2021年にIvanSibleによって作成されました。

プロジェクトについて

simple nginx-based CDN

インストール
ansible-galaxy install ivansible.srv_cdn
ライセンス
Unknown
ダウンロード
149
所有者
ivandeex ansible roles, molecule tests: https://galaxy.ansible.com/ivansible/