Tietojen hakeminen tietolähteillä
Käyttäkää tietolähteitä olemassa olevaa infrastruktuuria tai ulkoisia palveluita koskevien tietojen hakemiseen, jotta määrityksistä tulee dynaamisempia ja mukautuvampia.
Tietojen hakeminen tietolähteillä on ilmainen Terraform ja infrastruktuuri koodina-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Terraform ja infrastruktuuri koodina-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Terraform ja infrastruktuuri koodina-kurssilla on yhteensä 4 oppituntia.
Mitä tietolähteet ovat?
Terraformissa meidän on usein viitattava olemassa olevaan infrastruktuuriin tai ulkoisiin tietoihin, joita nykyinen asetuksemme ei hallitse.
Tässä tietolähteet tulevat avuksi! Niiden avulla Terraform-asetukset voivat noutaa tietoja jo käyttöön otetuista resursseista tai ulkoisista palveluista.
Tietolähteet ja resurssit
On tärkeää erottaa tietolähteet resursseista.
- Resurssit määrittävät infrastruktuurin, jonka Terraform luo, päivittää tai poistaa.
- Tietolähteet ainoastaan noutavat tietoja olemassa olevasta infrastruktuurista tai tiedoista. Ne eivät luo tai muokkaa mitään.
Ajatelkaa niitä infrastruktuurin vain luku -kyselyinä.
Käytännön käyttötapauksia
Tietolähteet ovat erittäin hyödyllisiä seuraavissa tilanteissa:
- Olemassa olevan Virtual Private Cloudin (VPC) tunnisteen etsiminen.
- Uusimman Amazon Machine Imagen (AMI) hakeminen EC2-instanssia varten.
- Salaisuuksien noutaminen salaisuuksienhallintapalvelusta.
- DNS-tietueiden tai verkkoasetusten etsiminen.
Ne tekevät asetuksista dynaamisempia ja vähentävät kovakoodausta.
Tietolähteen määrittäminen
Tietolähdelohko muistuttaa resurssilohkoa. Se alkaa avainsanalla data, jota seuraavat palveluntarjoaja ja tyyppi sekä paikallinen nimi.
data "aws_vpc" "selected" {
filter {
name = "tag:Name"
values = ["my-existing-vpc"]
}
}Noudettujen tietojen käyttäminen
Kun tietolähde on noutanut tiedot, sen määritteet ovat käytettävissä asetusten muissa osissa. Niihin voi viitata syntaksilla: data.<TYPE>.<NAME>.<ATTRIBUTE>.
Esimerkiksi valitsemamme VPC:n tunnisteen hakeminen:
output "vpc_id" {
value = data.aws_vpc.selected.id
}Uusimman AMI:n hakeminen
Yleinen tehtävä on uusimman Amazon Machine Imagen (AMI) etsiminen EC2-instanssia varten. Näin AMI-tunnisteita ei tarvitse kovakoodata, mikä tekee asetuksista vankemmat.
Uusimman Amazon Linux 2 AMI:n voi hakea seuraavasti:
provider "aws" {
region = "us-east-1"
}
data "aws_ami" "amazon_linux_2" {
most_recent = true
owners = ["amazon"]
filter {
name = "name"
values = ["amzn2-ami-hvm-*-x86_64-gp2"]
}
filter {
name = "virtualization-type"
values = ["hvm"]
}
}
output "latest_ami_id" {
value = data.aws_ami.amazon_linux_2.id
}Dynaaminen S3-käytäntöasiakirja
Tietolähteet eivät koske ainoastaan pilviresursseja. aws_iam_policy_document -tietolähde auttaa muodostamaan monimutkaisia IAM-käytäntöjä jäsennellyllä tavalla.
Se ei luo käytäntöä, vaan muodostaa JSON-asiakirjan, jonka voitte tämän jälkeen liittää resurssiin, kuten S3-ämpäriin.
provider "aws" {
region = "us-east-1"
}
data "aws_iam_policy_document" "s3_read_only_policy" {
statement {
principals {
type = "AWS"
identifiers = ["arn:aws:iam::123456789012:user/example-user"]
}
actions = [
"s3:GetObject",
"s3:ListBucket"
]
resources = [
"arn:aws:s3:::my-example-bucket",
"arn:aws:s3:::my-example-bucket/*"
]
}
}
output "policy_json" {
value = data.aws_iam_policy_document.s3_read_only_policy.json
}Haun tarkentaminen
Monet tietolähteet tukevat filter-lohkoja. Niiden avulla voitte määrittää ehtoja tulosten rajaamiseksi ja varmistaa, että haette oikean resurssin tai tiedon.
Suodattimet hyväksyvät yleensä name-arvon (määrite, jonka perusteella suodatetaan) ja values-arvon (luettelo kyseisen määritteen sallituista arvoista).
data "aws_instance" "web" {
instance_state_names = ["running"]
filter {
name = "tag:Environment"
values = ["production"]
}
filter {
name = "instance-type"
values = ["t2.micro", "t3.micro"]
}
}Tietolähteiden parhaat käytännöt
Pidätte asetukset selkeinä ja tehokkaina seuraavasti:
- Olkaa täsmällisiä: Käyttäkää suodattimia varmistaaksenne, että haette juuri tarvitsemanne tiedot ja vältätte epäselvyydet.
- Idempotenttisuus: Tietolähteet ovat luonnostaan idempotentteja, eli niiden suorittaminen useita kertoja tuottaa saman tuloksen.
- Minimoikaa kutsut: Noutakaa tietoja vain tarvittaessa nopeuttaaksenne
terraform plan-toimintoja. - Yhdistäkää tuloksiin: Käyttäkää output-arvoja sellaisen noudetun tiedon julkaisemiseen, jota muut asetukset tai käyttäjät saattavat tarvita.
Tietolähdevisa
Mitkä seuraavista Terraformin tietolähteitä koskevista väitteistä ovat TOSIA?
Yhteenveto: tietojen kysely
Opitte, kuinka Terraformin tietolähteiden avulla asetukset voivat kysellä ja noutaa tietoja olemassa olevasta infrastruktuurista tai ulkoisista palveluista.
Tämä tehokas ominaisuus mahdollistaa dynaamiset, joustavat ja vankat asetukset, koska kovakoodattuja arvoja ei tarvita ja asetukset mukautuvat ympäristön nykyiseen tilaan. Muistakaa, että tietolähteet vain lukevat tietoja eivätkä koskaan luo tai muokkaa niitä!
Opi Terraform ja infrastruktuuri koodina tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 12
- Oppitunnit
- 48
Usein kysytyt kysymykset
Onko oppitunti ”Tietojen hakeminen tietolähteillä” ilmainen?
Kyllä – oppitunnin ”Tietojen hakeminen tietolähteillä” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Terraform ja infrastruktuuri koodina-kurssin, päivitä CoddyKit PROhon. Terraform ja infrastruktuuri koodina-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Tietojen hakeminen tietolähteillä”?
Käyttäkää tietolähteitä olemassa olevaa infrastruktuuria tai ulkoisia palveluita koskevien tietojen hakemiseen, jotta määrityksistä tulee dynaamisempia ja mukautuvampia. Harjoittelet Terraform ja infrastruktuuri koodina-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Terraform ja infrastruktuuri koodina-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Terraform ja infrastruktuuri koodina-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.
Kuinka kauan ”Tietojen hakeminen tietolähteillä”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Terraform ja infrastruktuuri koodina-oppitunnilla?
Kyllä. Jokainen Terraform ja infrastruktuuri koodina-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Tietojen hakeminen tietolähteillä
- Local- ja remote-exec-provisionerit
- Null-resurssit ja triggerit
- Ulkoisen datan ja mallien käyttö