Integração

Seu armazenamento · WordPress + WooCommerce

WooCommerce AWS S3

O plugin Alter Product inclui um módulo de armazenamento AWS S3 pronto para uso. Mantenha os grupos de ficheiros compatíveis do plugin no seu próprio bucket privado, ligue-o no WordPress e migre os ficheiros existentes com as ferramentas do plugin.

O Alter Product não cobra uma taxa adicional de capacidade para ampliar este armazenamento ligado. A AWS fatura na sua conta o armazenamento, os pedidos e a transferência. O seu alojamento WordPress e as regras habituais do plano e das sessões embed continuam em vigor.

As instruções seguem o guia de configuração do plugin. Os designações do consola AWS permanecem em inglês.

Instale primeiro o plugin WordPress + WooCommerceLigue o Alter Product à loja antes de configurar esse armazenamento opcional.

Armazenamento, entrega e custos

O S3 armazena os objetos de ficheiro do plugin. O WordPress continua responsável pela entrega autorizada ao navegador.

Um armazenamento privado para o plugin

O navegador não descarrega diretamente do S3. O WordPress obtém e verifica os ficheiros do bucket privado e depois disponibiliza-os pelos seus próprios endpoints. Deixe o S3 CORS vazio e Block Public Access ativado; não se trata de um bucket público nem de uma ligação direta a uma CDN.

O módulo abrange os grupos de ficheiros Alter Product compatíveis. Ligar um bucket não move todos os ficheiros do WordPress nem altera os limites das ferramentas incorporadas.

O navegador pede ficheiros através do WordPress; o WordPress liga-se a um bucket AWS S3 privado.
Os ficheiros são entregues pelo WordPress. O bucket S3 privado não é exposto diretamente ao navegador.

Pagar à AWS pelos recursos utilizados

O Alter Product não cobra um valor extra para aumentar a capacidade do bucket ligado. As cobranças da AWS dependem do uso, da região e da classe de armazenamento; consulte os preços atuais do S3 em vez de presumir uma tarifa fixa.

Como o WordPress fornece os ficheiros, o tráfego também pode contar para a largura de banda da sua alojamento. O S3 não garante transferência de alojamento nula nem capacidade de transferência ilimitada do servidor.

Criar um bucket com as configurações compatíveis

Os nomes dos campos abaixo correspondem ao consola AWS em inglês e ao guia de configuração integrado ao plugin.

Criar um bucket de uso geral

Entre na AWS, abra o Amazon S3 e selecione General purpose buckets → Create bucket. Escolha uma região e um nome com letras minúsculas, números e hífens, sem pontos. Copie o nome completo do bucket, incluindo qualquer sufixo adicionado pela AWS.

  1. Aplique as configurações da tabela e escolha Create bucket.
  2. Guarde o nome completo do bucket, a região e o ID de 12 dígitos da conta AWS do proprietário.
  3. Deixe Cross-origin resource sharing (CORS) vazio. Os pedidos ao S3 provêm do servidor WordPress.
Configurações usadas pelo guia S3 do plugin
Campo da AWSConfiguração
Bucket typeGeneral purpose
Bucket namespaceAccount Regional namespace (recomendado)
Object OwnershipACLs disabled / Bucket owner enforced
Block Public AccessBlock all public access (todas as quatro definições)
Bucket VersioningEnable
Default encryptionServer-side encryption with Amazon S3 managed keys (SSE-S3 / AES256)
Bucket KeyDisable
Advanced settings → Object LockDisable

Exigir HTTPS

Adicione uma regra de transporte sem tornar o bucket público nem conceder acesso aos objetos.

Adicionar a política do bucket

Abra Permissions → Bucket policy → Edit. Substitua os dois valores EXAMPLE-BUCKET pelo nome completo do bucket. Se já existir uma política, preserve suas declarações e adicione esta regra depois de revisar o documento inteiro.

  1. Verifique as mensagens do editor e escolha Save changes.
  2. Confirme que a regra foi guardada. Mantenha Block all public access ativado.
JSON da política do bucket
{
  "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"
        }
      }
    }
  ]
}

Criar acesso IAM restrito

Use uma política dedicada a esse bucket e prefixo, em vez de AdministratorAccess ou AmazonS3FullAccess.

Criar a política do plugin

Em IAM → Policies → Create policy → JSON, cole o documento a seguir. Substitua cada EXAMPLE-BUCKET pelo nome completo do bucket. O prefixo alter-product deve corresponder a Folder prefix no WordPress; altere-o em cada Resource de objeto se escolher outro prefixo.

  1. Valide a política, escolha Next e dê um nome a ela, como AlterProductS3Storage.
  2. Escolha Create policy e guarde o nome para configurar o utilizador.
JSON da política IAM
{
  "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/*"
    }
  ]
}

Criar um utilizador dedicado e uma chave de acesso

Escolha IAM → Users → Create user. Deixe Provide user access to the AWS Management Console desmarcado.

  1. Escolha Next → Attach policies directly e anexe apenas a política acima. Conclua Create user.
  2. Abra Security credentials → Access keys → Create access key desse utilizador. Para esta configuração manual do plugin, escolha Other → Next e depois Create access key.
  3. Guarde Access key ID e Secret access key num gestor de palavras-passe. O segredo é exibido apenas uma vez. Insira-os diretamente no WordPress por HTTPS, não em mensagens ou capturas de ecrã.

Guardar e testar a ligação do WordPress

Abra Alter Product → Settings → Storage no painel HTTPS da loja. Escolha AWS S3 e + / Add connection.

Inserir os detalhes da ligação

Selecione New connection. As mesmas instruções integradas estão disponíveis em AWS S3 setup guide.

  1. Escolha Save connection e aguarde a confirmação.
  2. Escolha Test connection. Guarde as alterações antes de testar novamente.
  3. Verifique o resultado na caixa de diálogo e na coluna Last connection test. Os campos de chave vazios após guardar são intencionais.
Campos de ligação do WordPress
CampoValor
Bucket nameNome completo do bucket, não um ARN, uma URL s3:// ou um endereço HTTPS; sem pontos.
Folder prefixalter-product, correspondente à política IAM. Use letras, números, hífens, sublinhados e pastas separadas; sem barra no início ou no fim.
Bucket owner AWS account IDID de 12 dígitos da conta do proprietário, sem espaços.
AWS regionA região real do bucket. O formulário usa eu-central-1 por predefinição.
AWS access key ID / AWS secret access keyO par de chaves guardado do utilizador IAM dedicado.
Use temporary AWS credentialsDeixe desmarcado para a chave de longa duração desse utilizador IAM. Ative somente para credenciais temporárias e forneça o AWS session token.

Se o teste de ligação falhar

Verifique o nome, proprietário e região do bucket, as configurações exigidas e o prefixo exato no WordPress e no IAM. Mantenha CORS vazio; não desative a proteção contra acesso público.

O bucket, prefixo, proprietário e região guardados identificam a ligação. Para outro destino, selecione New connection. Edit → Reconnect substitui as credenciais mantendo as mesmas referências de ficheiros guardadas.

Envie ao apoio o resultado do teste, sem chaves de acesso. É necessário um teste bem-sucedido antes de escolher este S3 como predefinido.

Escolher a predefinição e migrar ficheiros existentes

Definir o destino predefinido e migrar são ações separadas.

Usar S3 para novos grupos

Escolha Make default na linha da ligação guardada. O plugin testa a ligação e altera a predefinição apenas após o sucesso. Isto aplica-se aos novos grupos de ficheiros; os existentes e as suas revisões posteriores mantêm o destino registado até serem migrados.

Mover grupos existentes compatíveis

Faça uma cópia de segurança conjunta da base de dados, dos salts do WordPress e dos ficheiros antes da primeira migração. Comece num ambiente de teste ou com um grupo pequeno. Abra Migrate na linha S3 de destino; abrir o painel não copia ficheiros.

Auto migration abrange os grupos compatíveis fora do destino escolhido. Ela não garante a migração de ficheiros WordPress sem relação com o plugin.

  1. Escolha Start migration. O plugin testa o S3, prepara cada grupo, copia, verifica e troca suas referências.
  2. Mantenha a página aberta. Pause interrompe após o grupo atual; Resume migration continua o progresso guardado. Se fechar a página, abra-a novamente para retomar o envio das tarefas.
  3. Se um grupo falhar, examine a mensagem e Advanced, corrija a causa e retome. Não repita às cegas uma operação cujo resultado de envio é desconhecido.
  4. Após Migration completed, teste a leitura normal dos recursos, a edição, as pré-visualizações e o acesso aos ficheiros de pedidos. Grupos criados durante a análise podem precisar de outra passagem.

Remover uma linha não apaga os ficheiros armazenados

Altere primeiro o destino predefinido, se necessário. Remove retira a ligação da lista, mas os ficheiros existentes e as suas credenciais guardadas continuam disponíveis. Não é um comando de limpeza de objetos AWS.

Partilhar armazenamento entre nós WordPress

Um destino S3 partilhado pode reduzir a dependência do disco de um único nó. Um balanceador de carga ainda precisa de uma instalação WordPress partilhada corretamente.

Requisitos para vários nós

Para uma instalação WordPress atrás de um balanceador de carga, forneça todos estes itens juntos:

  • Um ponto consistente de gravação SQL e um estado partilhado do base de dados do plugin.
  • Um diretório uploads partilhado para ficheiros ainda locais e fontes de migração preservadas.
  • Os mesmos salts originais do WordPress em todos os nós, para que as credenciais guardadas e os ficheiros cifrados continuem legíveis.
  • Um diretório temporário privado por nó para as transferências.
  • Uma configuração consistente do plugin e acesso ao mesmo bucket S3 privado e às mesmas versões dos objetos.
  • Use wpdb padrão com mysqli nativo e tabelas InnoDB. Os drop-ins de encaminhamento da base de dados, como HyperDB, não são suportados; o balanceamento de carga ocorre aqui na camada HTTP.

Manter a recuperação e a rotação de chaves em funcionamento

Preserve juntos o base de dados, os salts e as versões de ficheiros referenciadas.

Fazer cópias de segurança, voltar a ligar e verificar

Use Edit → Reconnect para substituir as credenciais da mesma ligação guardada. Teste a leitura dos ficheiros atuais e históricos antes de desativar a chave antiga, incluindo outras ligações guardadas que ainda possam usá-la.

Mantenha o controlo de versões do S3 ativado e preserve as versões referenciadas pelo plugin. Não aplique uma limpeza do ciclo de vida que elimine versões históricas necessárias. Teste o restauro conjunto da base de dados, dos salts e dos ficheiros armazenados.

As credenciais temporárias expiram e exignum novo token válido e chaves; o plugin não as renova automaticamente. Monitore o uso da AWS e a transferência da alojamento conforme a loja cresce.