AWS ELB & API Gateway
Kopiera länk till sidan “AWS ELB & API Gateway”Installerar certifikat på ALB/NLB och API Gateway med ACM-import, TLS-kontroll och rollback.
Så går det till
- Appliancen ansluter till AWS ELB & API Gateway genom AWS ELBv2 / API Gateway API på port 443.
- Discovery läser ALB HTTPS- och NLB TLS-listeners, deras standardcertifikat och SNI-lista samt API Gateway-domäner. Den visar certifikatets typ och kopplingar i ACM och väljer API Gateway v1- eller v2-vägen utifrån domänen.
- Paketet kontrollerar PEM-certifikat, okrypterad nyckel och kedja och importerar dem som ett nytt ARN i ACM. Valda kopplingar och offentliga certifikat sparas för rollback. Det tidigare certifikatet och dess nyckel finns kvar i AWS.
- Bara den valda kopplingen byts: listenerns standardcertifikat, den valda SNI-posten eller custom domain-certifikatet. Om standardcertifikatet även finns i SNI-listan byts båda rollerna. En SNI-post utan standardrollen ändrar inte standardcertifikatet. Om det misslyckas: Vid fel försöker paketet automatiskt återställa det tidigare ARN:et i de kopplingar det ändrade och kontrollerar det tidigare certifikatet över TLS. Snapshot sparas även om rollback misslyckas.
- Kontroll: ACM-innehållet och den valda kopplingen läses tillbaka. Nya TLS-anslutningar kontrollerar leaf-certifikatet, värdnamnet och hela kedjan. En listener med enbart standardrollen kontrolleras utan SNI; en koppling med både standard- och SNI-rollen kontrolleras med och utan SNI. Rotcertifikatet behöver inte skickas av servern.
Tekniska detaljer
- Anslutning
- Paketet körs på appliancen, som ansluter över HTTPS till AWS ELBv2 / API Gateway API, port 443. Ingen agent installeras.
- Ni behöver
- AWS access key ID och secret access key, vid behov med session token, eller en konfigurerad AWS CLI v2-profil/roll på appliancen. ACM: acm:ImportCertificate och acm:GetCertificate; acm:DescribeCertificate ger discovery ytterligare metadata. ALB/NLB: elasticloadbalancing:DescribeLoadBalancers, DescribeListeners och DescribeListenerCertificates samt ModifyListener, AddListenerCertificates och RemoveListenerCertificates med samma IAM-prefix. API Gateway: apigateway:GET och apigateway:PATCH för domänerna, samt apigateway:AddCertificateToDomain för mTLS-certifikathantering. EDGE kräver även cloudfront:UpdateDistribution för Resource *. Begränsa behörigheten till valda resurser där AWS tillåter det och de ACM-regioner som används.
- Plattform
- Appliance 0.4.44+ med Bash, Python 3 och OpenSSL 1.1.1+. AWS CLI v2 behövs bara för profiler eller CLI-baserade roller.
- Åtgärder
- Discovery, Installation, Kontroll, Rollback
- Paket
-
aws-elb-api1.0.0 - Observera
-
- Välj en destination per regel: AWS_REGION och AWS_LISTENER_ARN för en listener eller AWS_DOMAIN_NAME för ett custom domain. Utelämna AWS_CERTIFICATE_ARN för listenerns aktuella standardcertifikat; ange befintligt ARN för en viss SNI-post. AWS_CERTIFICATE_ARN väljer bara listener-certifikat; domänregler följer sin aktuella koppling vid varje förnyelse. Behåll appliancens backupkatalog mellan förnyelser så att regeln följer paketets nya ARN även när SNI-valet anger det första.
- API Gateway omfattar EDGE, REGIONAL och PRIVATE. Privata domäner använder AWS_DOMAIN_NAME_ID för att skiljas från en offentlig domän med samma namn. AWS_ENDPOINT_TYPE väljer typ om domänen har flera. AWS_API_GENERATION är normalt auto; v1 och v2 kan väljas per regel. EDGE använder ACM i us-east-1; Regional, privata domäner och listeners använder sin AWS-region.
- AWS_REGION väljer regionens management-endpoints, även eusc-de-east-1 i AWS European Sovereign Cloud med amazonaws.eu. En wildcard-domänregel kontrolleras på sslbrain-probe under den valda domänen; AWS_VERIFY_SERVER_NAME kan välja ett annat täckt namn.
- ALB och EDGE kan använda sslbrains fem nyckelval: RSA 2048/3072/4096 och ECDSA P-256/P-384. NLB: RSA 2048/3072 och ECDSA P-256/P-384. Regional och privata API Gateway-domäner: RSA 2048 och ECDSA P-256/P-384. Regional har högst 2048 bitars offentlig nyckel. NLB accepterar även importerad RSA 1024 och ECDSA P-521; de är inte nyckelval för utfärdande i sslbrain.
- Appliancen behöver nå AWS API över HTTPS 443 och den valda tjänsten över TLS. Interna listeners och privata domäner kräver nätverksåtkomst från appliancen. AWS_VERIFY_HOST, AWS_VERIFY_PORT och AWS_VERIFY_SERVER_NAME kan ange en annan nåbar TLS-adress, port och certifikatets värdnamn för SNI. Kontrollen använder den angivna CA-kedjan som tillit för privat PKI.
- Aktivering kontrolleras var 15:e sekund i upp till 50 minuter för EDGE, 20 minuter för PRIVATE och 5 minuter för övriga destinationer. AWS_VERIFY_TIMEOUT och AWS_POLL_INTERVAL kan anpassas per regel. CLI-leverantörens tillfälliga credentials förnyas före utgång under långa körningar.
- AWS management-TLS verifierar certifikat och värdnamn som standard. MANAGEMENT_TLS_PIN_SHA256 låser ett leaf-fingeravtryck; MANAGEMENT_TLS_CA_BUNDLE väljer en CA-fil med fortsatt värdnamnskontroll. MANAGEMENT_TLS_INSECURE stänger av kontrollen om ni uttryckligen väljer det för anslutningen.
- Snapshots innehåller offentliga certifikat, ARN och kopplingar, inga privata nycklar eller credentials. CERTOPS_BACKUP_DIR väljer en annan backupkatalog än ~/.sslbrain/aws-elb-backups. Behåll det tidigare ACM-certifikatet för rollback. Paketet återimporterar inte till ett delat ARN och tar inte bort certifikatobjekt; oanvända importer kan rensas enligt er lagringspolicy.
- Discovery visar ACM-utfärdade och importerade certifikat samt deras andra kopplingar. Bara regelns valda koppling tas över; andra SNI-poster, certifikathanterare och tjänster behålls. Rollback skriver inte över en koppling som senare bytts till ett tredje ARN. Bestäm vem som styr just denna koppling om en annan hanterare också uppdaterar den.
- För Regional mTLS behålls befintligt ownership-verification ARN. Om det saknas kan AWS_OWNERSHIP_CERTIFICATE_ARN ange ACM-certifikatet för ägarverifiering. Truststore, routing, DNS, åtkomstpolicyer och övriga TLS-inställningar behålls. Paketet startar inte om tjänster och ändrar inte Classic ELB eller separata CloudFront-distributioner.