Koble til
Koble til AWS fra terminalen. Send --help for flaggene AWS aksepterer, pluss --no-browser for miljøer uten skjerm.
polylane cloud connect --provider awsCloudFormation-stack som oppretter en skrivebeskyttet IAM-rolle.
Å koble til AWS er en automatisert flyt basert på en CloudFormation-mal. Polylane får aldri skrivetilgang til infrastrukturen din: stacken gir bare en skrivebeskyttet rolle som Polylane påtar seg på tvers av kontoer.
Oppsett
- Skriv inn din 12-sifrede AWS Account ID.
- Velg AWS Region som skal kobles til.
- Klikk på Deploy stack on AWS. Du omdirigeres til CloudFormation-konsollen med malen forhåndslastet.
- Gjennomgå malen og klikk på Create stack.
- Stacken oppretter en IAM-rolle med skrivebeskyttet tilgang som Polylane påtar seg.
- Gå tilbake til Polylane. Innen få minutter begynner ressursene dine å synkroniseres.
CloudFormation-malen er åpen: du kan gjennomgå nøyaktig hvilke tillatelser som gis før du oppretter stacken.
Tillatelser
IAM-rollen er strengt skrivebeskyttet:
- Den AWS-forvaltede policyen
ReadOnlyAccess - Ingen tillatelser til å skrive, slette eller endre
- Bare påtakelse på tvers av kontoer, fra Polylanes AWS-konto
Undersøk alarmer
Når du kobler til, kan du la Polylane abonnere på CloudWatch Alarms i kontoen. Når en alarm utløses, plukker Polylane den opp og undersøker den automatisk. Dette er valgfritt og kan endres senere.
Frakobling
Slett CloudFormation-stacken i AWS-kontoen din. Det fjerner IAM-rollen og hver annen ressurs stacken opprettet. Du kan også koble kontoen fra Polylane, som stopper all synkronisering.
Koble til AWS fra en CI-jobb eller et annet miljø uten nettleser.
Den veiledede flyten slutter med en CloudFormation-hurtigopprettingslenke som noen åpner i AWS-konsollen. Hvis AWS-kontoene dine bare endres gjennom kodegjennomgang og en pipeline, er det ingen der til å klikke på den. Den samme tilkoblingen passer i sin helhet i en CI-jobb: ett API-kall oppretter tilkoblingen og genererer en CloudFormation-mal, dine egne verktøy deployer malen, og stacken registrerer kontoen hos Polylane av seg selv.
Hvis du bare vil ha mal-YAML-en, viser konsollens tilkoblingsdialog den også innebygd under Advanced, med Copy- og Download-knapper. Flyten nedenfor trenger ingen konsoll i det hele tatt.
Forutsetninger
- En Polylane-API-nøkkel med omfangene
cloud_accounts:writeogcloud_accounts:read. Se API-nøkler og OAuth. - Workspace-ID-en din, som starter med
ws_. Les den fraGET /v1/workspacesmed den samme nøkkelen. - AWS-legitimasjon i pipelinen som kan deploye CloudFormation-stacker og opprette IAM-roller i kontoen du kobler til.
Opprett tilkoblingen
curl -X POST https://api.polylane.com/v1/cloud_accounts \
-H "x-api-key: $POLYLANE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"provider": "aws",
"workspaceId": "ws_0abc123",
"account": "123456789012",
"regions": ["us-east-1", "eu-west-1"]
}'
account er den 12-sifrede AWS-konto-ID-en. regions lister regionene Polylane skanner ved hver synkronisering; send null for å skanne hver region som er aktivert på kontoen, løst ved hver synkronisering. To valgfrie boolske verdier, createMonitoringAlarms og subscribeToAlarms, styrer varseloppførselen beskrevet under Skyer og har standardverdien true.
Svaret bærer alt resten av flyten trenger:
{
"success": true,
"result": {
"provider": "aws",
"url": "https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/create/review?...",
"s3Url": "https://....s3.amazonaws.com/...?X-Amz-Expires=3600&...",
"region": "us-east-1",
"templateBody": "Description: This template creates the resources necessary for Polylane to observe your AWS Account\n..."
}
}
result.templateBodyer CloudFormation-malen generert for denne tilkoblingen, innebygd, så en jobb kan skrive den rett til en fil.result.s3Urler en forhåndssignert lenke til den samme malen. Den utløper etter en time.result.regioner regionen stacken skal deployes i. Malen er generert for nøyaktig denne regionen.result.urler hurtigopprettingslenken til konsollen som den veiledede flyten bruker. Ignorer den her.
En 409 betyr at kontoen allerede er tilkoblet. Endre en eksisterende tilkoblings regioner med PATCH /v1/cloud_accounts/{workspaceId}/{id} i stedet for å koble til på nytt.
Skriv malen til en fil
Skriv result.templateBody til en fil, eller last ned den forhåndssignerte lenken:
curl -o polylane-connector.yaml "<result.s3Url>"
Malen kommer klar til å deployes. Parameteren ExternalParameter dens har som standard en ekstern ID generert for denne tilkoblingen: den blir sts:ExternalId-betingelsen på rollen stacken oppretter, og Polylane presenterer den samme ID-en hver gang den påtar seg den rollen. Deploy filen nøyaktig slik den ble generert, og la parameterstandardene være i fred. En stack med en redigert ekstern ID deployes fint, men kan aldri registreres.
Den eksterne ID-en er også grunnen til at filen fortjener å behandles som legitimasjon: hold den inne i pipeline-kjøringen i stedet for å committe den eller publisere den som en byggeartefakt.
Hvis den forhåndssignerte lenken utløper før du deployer, kaller du tilkoblingsendepunktet igjen for en ny mal. Å gjenta kallet er trygt til kontoen registreres; etter det returnerer det en 409.
Deploy stacken
aws cloudformation deploy \
--stack-name PolylaneConnector \
--template-file polylane-connector.yaml \
--capabilities CAPABILITY_IAM \
--region us-east-1
Bruk region fra steg 1. CAPABILITY_IAM bekrefter IAM-rollen stacken oppretter; selve rollen er uten navn, og en navngitt innebygd policy krever ikke CAPABILITY_NAMED_IAM, så CAPABILITY_IAM er tilstrekkelig.
Stacken oppretter rollen Polylane påtar seg (skrivebeskyttet tilgang pluss operasjoner på ressurser med polylane-prefiks), den innebygde policyen dens, en CloudTrail-trail som skriver til en ny S3-bucket, et SNS-emne for trail- og alarmnotifikasjoner, og en rapportør-tilpasset ressurs. Rapportøren er det som registrerer tilkoblingen: den gir Polylane rollens ARN mens stacken opprettes, så det er ingen callback å konfigurere og ingenting annet å kjøre.
Den samme deployen fra Terraform:
resource "aws_cloudformation_stack" "polylane_connector" {
name = "PolylaneConnector"
template_body = file("${path.module}/polylane-connector.yaml")
capabilities = ["CAPABILITY_IAM"]
}
Pek leverandøren, eller et leverandøralias, på region fra steg 1. Referer til den lagrede filen med template_body i stedet for å gi s3Url til template_url: den forhåndssignerte lenken overlever verken timen eller din neste plan, så hent malen i den samme kjøringen som bruker den.
Se kontoen komme på nett
Kontoen vises når stackens rapportør når Polylane, normalt øyeblikk etter at stacken er fullført. Spør etter den på den naturlige nøkkelen dens, som returnerer 404 til registreringen lander og 200 etterpå:
until curl -sf "https://api.polylane.com/v1/cloud_accounts/ws_0abc123/aws/123456789012/us-east-1" \
-H "x-api-key: $POLYLANE_API_KEY" > /dev/null; do
sleep 15
done
Gi løkken en frist slik at en feilet deploy får jobben til å feile i stedet for å henge. Når kontoen finnes, følger feltet status dens den første synkroniseringen: new ved registrering, syncing mens ressurser strømmer inn, ready når den første synkroniseringen er fullført.
curl -s "https://api.polylane.com/v1/cloud_accounts/ws_0abc123/aws/123456789012/us-east-1" \
-H "x-api-key: $POLYLANE_API_KEY" | jq -r '.result.status'
Herfra oppfører kontoen seg nøyaktig som en tilkoblet fra konsollen: ressurser synkroniseres inn i topologien, Polylane kjører sin første sjekk på egen hånd, og kontosiden fylles ut.
Koble fra via API-et
Å slette tilkoblingen sletter også CloudFormation-stacken i kontoen din. Kallet trenger omfanget cloud_accounts:delete:
curl -X DELETE https://api.polylane.com/v1/cloud_accounts/ws_0abc123/<cloud-account-id> \
-H "x-api-key: $POLYLANE_API_KEY"
Rollen, policyen dens og CloudTrail-S3-bucketen har DeletionPolicy: Retain, så de overlever slettingen av stacken. Fjern dem selv hvis du vil ha AWS-kontoen helt ren.
Koble fra
Frakobling stopper hver synkronisering og sjekk og sletter legitimasjonen Polylane hadde. Polylane fjerner det API-et til AWS lar den fjerne. Følgende blir stående til du fjerner det selv:
- PolylaneEnvironmentRole (DeletionPolicy Retain)
- PolylaneEnvironmentPolicies (Retain)
- PolylaneS3Bucket (Retain)
- EKS access entries
polylane cloud disconnect <id>Verktøy
11Operasjoner agenter kan utføre i tråder.
Støttede ressurser
75Ressurstyper som vises i infrastrukturgrafen din.