Integrace

Vaše vlastní úložiště · WordPress + WooCommerce

WooCommerce AWS S3

Plugin Alter Product obsahuje hotový modul úložiště AWS S3. Ukládejte podporované skupiny souborů pluginu do vlastního soukromého bucketu, připojte jej ve WordPressu a přeneste stávající soubory pomocí nástrojů pluginu.

Alter Product neúčtuje další poplatek za rozšíření kapacity tohoto připojeného úložiště. AWS účtuje vašemu účtu úložiště, požadavky a přenos dat. Nadále platí náklady na hosting WordPressu i běžná pravidla tarifu a relací vloženého nástroje.

Pokyny odpovídají průvodci nastavením v pluginu. Názvy prvků v konzoli AWS zůstávají v angličtině.

Nejprve nainstalujte plugin pro WordPress + WooCommerceNež nastavíte toto volitelné úložiště, propojte Alter Product s obchodem.

Ukládání, doručování a náklady

S3 ukládá souborové objekty pluginu. WordPress nadále zajišťuje doručování do prohlížeče s ověřením oprávnění.

Soukromé úložiště pro plugin

Prohlížeč nestahuje soubory přímo z S3. WordPress soubory ze soukromého bucketu načte a ověří a poté je doručí prostřednictvím vlastních koncových bodů. Nastavení S3 CORS ponechte prázdné a Block Public Access zapnuté; nejde o veřejný bucket ani o přímé připojení k CDN.

Modul se vztahuje na podporované skupiny souborů Alter Product. Připojení bucketu nepřesune všechny soubory ve WordPressu ani nezmění limity vložených nástrojů.

Prohlížeč požaduje soubory prostřednictvím WordPressu; WordPress se připojuje k soukromému bucketu AWS S3.
Soubory doručuje WordPress. Soukromý bucket S3 není přímo přístupný prohlížeči.

Plaťte AWS za prostředky, které využíváte

Alter Product neúčtuje žádný další poplatek za navýšení kapacity úložiště v připojeném bucketu. Ceny AWS závisí na využití, regionu a třídě úložiště; místo předpokladu pevné sazby si ověřte aktuální ceník S3.

Protože soubory doručuje WordPress, může se provoz započítávat také do přenosu dat vašeho hostingu. S3 neznamená nulový přenos přes hosting ani neomezenou propustnost serveru.

Vytvoření bucketu s podporovaným nastavením

Níže uvedené názvy polí odpovídají anglické konzoli AWS a průvodci nastavením v pluginu.

Vytvořte bucket pro obecné použití

Přihlaste se do AWS, otevřete Amazon S3 a vyberte General purpose buckets → Create bucket. Zvolte region a název tvořený malými písmeny, číslicemi a spojovníky, bez teček. Zkopírujte celý název bucketu včetně případné přípony přidané AWS.

  1. Použijte nastavení z tabulky a zvolte Create bucket.
  2. Uložte si celý název bucketu, region a 12místné ID účtu AWS jeho vlastníka.
  3. Cross-origin resource sharing (CORS) ponechte prázdné. Požadavky na S3 přicházejí ze serveru WordPressu.
Nastavení používaná průvodcem S3 v pluginu
Pole v AWSNastavení
Bucket typeGeneral purpose
Bucket namespaceAccount Regional namespace (doporučeno)
Object OwnershipACLs disabled / Bucket owner enforced
Block Public AccessBlock all public access (všechna čtyři nastavení)
Bucket VersioningEnable
Default encryptionServer-side encryption with Amazon S3 managed keys (SSE-S3 / AES256)
Bucket KeyDisable
Advanced settings → Object LockDisable

Vyžadování HTTPS

Přidejte pravidlo pro přenos, aniž byste bucket zveřejnili nebo udělili přístup k objektům.

Přidejte zásadu bucketu

Otevřete Permissions → Bucket policy → Edit. Obě hodnoty EXAMPLE-BUCKET nahraďte celým názvem svého bucketu. Pokud již zásada existuje, zachovejte její ustanovení a toto pravidlo přidejte až po kontrole celého dokumentu.

  1. Zkontrolujte zprávy v editoru a zvolte Save changes.
  2. Ověřte, že se pravidlo uložilo. Block all public access ponechte zapnuté.
Zásada bucketu ve formátu JSON
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "DenyInsecureTransport",
      "Effect": "Deny",
      "Principal": "*",
      "Action": "s3:*",
      "Resource": [
        "arn:aws:s3:::EXAMPLE-BUCKET",
        "arn:aws:s3:::EXAMPLE-BUCKET/*"
      ],
      "Condition": {
        "Bool": {
          "aws:SecureTransport": "false",
          "aws:PrincipalIsAWSService": "false"
        }
      }
    }
  ]
}

Vytvoření omezeného přístupu IAM

Místo AdministratorAccess nebo AmazonS3FullAccess použijte samostatnou zásadu pro tento bucket a prefix.

Vytvořte zásadu pro plugin

Do IAM → Policies → Create policy → JSON vložte následující dokument. Každý výskyt EXAMPLE-BUCKET nahraďte celým názvem bucketu. Prefix alter-product musí odpovídat poli Folder prefix ve WordPressu; pokud zvolíte jiný prefix, změňte jej v každé hodnotě Resource pro objekty.

  1. Ověřte platnost zásady, zvolte Next a pojmenujte ji například AlterProductS3Storage.
  2. Zvolte Create policy a název si uložte pro nastavení uživatele.
Zásada IAM ve formátu JSON
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ReadRequiredBucketControls",
      "Effect": "Allow",
      "Action": [
        "s3:GetBucketVersioning",
        "s3:GetBucketOwnershipControls",
        "s3:GetBucketPublicAccessBlock",
        "s3:GetEncryptionConfiguration"
      ],
      "Resource": "arn:aws:s3:::EXAMPLE-BUCKET"
    },
    {
      "Sid": "WriteAndReadVersionedPluginObjects",
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:GetObjectVersion"
      ],
      "Resource": [
        "arn:aws:s3:::EXAMPLE-BUCKET/alter-product/objects/*",
        "arn:aws:s3:::EXAMPLE-BUCKET/alter-product/.storage-tests/*"
      ]
    },
    {
      "Sid": "RecoverJournalOwnedObjects",
      "Effect": "Allow",
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::EXAMPLE-BUCKET/alter-product/objects/*"
    },
    {
      "Sid": "DeleteOnlyConnectionTestVersions",
      "Effect": "Allow",
      "Action": "s3:DeleteObjectVersion",
      "Resource": "arn:aws:s3:::EXAMPLE-BUCKET/alter-product/.storage-tests/*"
    }
  ]
}

Vytvořte samostatného uživatele a přístupový klíč

Zvolte IAM → Users → Create user. Pole Provide user access to the AWS Management Console ponechte nezaškrtnuté.

  1. Zvolte Next → Attach policies directly a přiřaďte pouze výše uvedenou zásadu. Dokončete Create user.
  2. U tohoto uživatele otevřete Security credentials → Access keys → Create access key. Pro toto ruční nastavení pluginu zvolte Other → Next a poté Create access key.
  3. Access key ID a Secret access key uložte do správce hesel. Tajný klíč se zobrazí pouze jednou. Zadejte je přímo do WordPressu přes HTTPS, nikoli do zpráv nebo snímků obrazovky.

Uložení a otestování připojení ve WordPressu

V administraci obchodu přístupné přes HTTPS otevřete Alter Product → Settings → Storage. Zvolte AWS S3 a + / Add connection.

Zadejte údaje připojení

Vyberte New connection. Stejné vestavěné pokyny jsou dostupné pod AWS S3 setup guide.

  1. Zvolte Save connection a počkejte na potvrzení.
  2. Zvolte Test connection. Před dalším testem uložte všechny úpravy.
  3. Zkontrolujte výsledek v dialogu a ve sloupci Last connection test. Prázdná pole klíčů po uložení jsou záměrná.
Pole připojení ve WordPressu
PoleHodnota
Bucket nameCelý název bucketu, nikoli ARN, adresa s3:// nebo adresa HTTPS; bez teček.
Folder prefixalter-product, shodně se zásadou IAM. Použijte písmena, číslice, spojovníky, podtržítka a oddělené složky; bez lomítka na začátku nebo na konci.
Bucket owner AWS account ID12místné ID účtu vlastníka, bez mezer.
AWS regionSkutečný region bucketu. Výchozí hodnota formuláře je eu-central-1.
AWS access key ID / AWS secret access keyUložený pár klíčů samostatného uživatele IAM.
Use temporary AWS credentialsPro dlouhodobý klíč tohoto uživatele IAM ponechte nezaškrtnuté. Zapněte pouze pro dočasné přihlašovací údaje a vyplňte AWS session token.

Pokud test připojení selže

Ověřte název bucketu, vlastníka, region, požadovaná nastavení bucketu a přesný prefix ve WordPressu i IAM. CORS ponechte prázdné; nevypínejte ochranu před veřejným přístupem.

Uložený bucket, prefix, vlastník a region určují připojení. Pro jiný cíl vyberte New connection. Edit → Reconnect slouží k výměně přihlašovacích údajů při zachování stejných uložených odkazů na soubory.

Podpoře předejte výsledek testu bez přístupových klíčů. Než tuto S3 zvolíte jako výchozí, musí test připojení úspěšně proběhnout.

Volba výchozího úložiště a migrace stávajících souborů

Nastavení výchozího cíle a migrace jsou samostatné akce.

Použijte S3 pro nové skupiny

Na řádku uloženého připojení zvolte Make default. Plugin otestuje připojení a výchozí nastavení změní pouze po úspěšném testu. Týká se to nových skupin souborů; stávající skupiny a pozdější revize si až do migrace zachovají zaznamenaný cíl.

Přesuňte podporované stávající skupiny

Před první migrací společně zálohujte databázi, soli WordPressu a soubory. Začněte v testovacím prostředí nebo s malou skupinou. Na řádku cílové S3 otevřete Migrate; samotné otevření panelu soubory nekopíruje.

Automatická migrace zahrnuje podporované skupiny mimo zvolený cíl. Nezaručuje migraci nesouvisejících souborů WordPressu.

  1. Zvolte Start migration. Plugin otestuje S3, připraví každou skupinu, zkopíruje ji, ověří ji a přepne její odkazy.
  2. Ponechte stránku otevřenou. Pause zastaví práci po aktuální skupině; Resume migration pokračuje od uloženého postupu. Pokud stránku zavřete, znovu ji otevřete, aby pokračovalo zadávání práce.
  3. Pokud skupina selže, prohlédněte si zprávu a Advanced, odstraňte příčinu a pokračujte. Neopakujte naslepo operaci, jejíž výsledek nahrávání není známý.
  4. Po Migration completed otestujte běžné čtení a úpravy souborů, náhledy a přístup k souborům objednávek. Nové skupiny vytvořené během prohledávání mohou vyžadovat další průchod.

Odstranění řádku nesmaže uložené soubory

V případě potřeby nejprve změňte výchozí úložiště. Remove odebere připojení ze seznamu, ale stávající soubory a jejich uložené přihlašovací údaje zůstanou dostupné. Nejde o příkaz k promazání objektů AWS.

Sdílení úložiště mezi uzly WordPressu

Sdílený cíl S3 může snížit závislost na disku se soubory jednoho uzlu. Nástroj pro vyvažování zátěže však nadále vyžaduje správně sdílenou instalaci WordPressu.

Požadavky pro více uzlů

Pro jednu instalaci WordPressu za nástrojem pro vyvažování zátěže zajistěte současně všechny následující podmínky:

  • Jediný konzistentní uzel pro zápis do SQL a sdílený stav databáze pluginu.
  • Sdílený adresář uploads pro soubory, které jsou stále uloženy lokálně, a uchované zdroje migrace.
  • Stejné původní soli WordPressu na každém uzlu, aby zůstaly uložené přihlašovací údaje a šifrované soubory čitelné.
  • Soukromý dočasný adresář na každém uzlu pro přenosy.
  • Jednotná konfigurace pluginu a přístup ke stejnému soukromému bucketu S3 a verzím objektů.
  • Používejte standardní wpdb s nativním mysqli a tabulkami InnoDB. Moduly drop-in pro směrování databáze, například HyperDB, nejsou podporovány; vyvažování zátěže zde probíhá na úrovni HTTP.

Zachování funkční obnovy a obměny klíčů

Databázi, soli a odkazované verze souborů uchovávejte společně.

Zálohujte, znovu připojujte a ověřujte

Pomocí Edit → Reconnect vyměňte přihlašovací údaje pro stejné uložené připojení. Před vyřazením starého klíče otestujte čtení aktuálních i historických souborů, včetně ostatních uložených připojení, která jej mohou stále používat.

Verzování S3 ponechte zapnuté a uchovávejte verze, na které plugin odkazuje. Nepoužívejte pravidla životního cyklu, která mažou potřebné historické verze. Otestujte společnou obnovu databáze, solí a uložených souborů.

Dočasné přihlašovací údaje vyprší a vyžadují nový platný token a klíče; plugin je automaticky neobnovuje. S růstem obchodu sledujte využití AWS a přenosy na hostingu.