ProHoster > blog > Gweinyddiaeth > Awtomeiddio rheolaeth tystysgrif SSL Let's Encrypt gan ddefnyddio her DNS-01 ac AWS
Awtomeiddio rheolaeth tystysgrif SSL Let's Encrypt gan ddefnyddio her DNS-01 ac AWS
Mae'r swydd yn disgrifio camau i awtomeiddio rheolaeth tystysgrifau SSL o Gadewch i ni Amgryptio CA gan ddefnyddio her DNS-01 ΠΈ Strategaeth Cymru Gyfan.
acme-dns-llwybr53 yn offeryn a fydd yn ein galluogi i weithredu'r nodwedd hon. Gall weithio gyda thystysgrifau SSL gan Let's Encrypt, eu cadw yn Amazon Certificate Manager, defnyddio'r API Route53 i weithredu'r her DNS-01, ac, yn olaf, gwthio hysbysiadau i SNS. YN acme-dns-llwybr53 Mae yna hefyd ymarferoldeb adeiledig i'w ddefnyddio y tu mewn i AWS Lambda, a dyma sydd ei angen arnom.
Rhennir yr erthygl hon yn 4 adran:
creu ffeil sip;
creu rΓ΄l IAM;
creu swyddogaeth lambda sy'n rhedeg acme-dns-llwybr53;
creu amserydd CloudWatch sy'n sbarduno swyddogaeth 2 gwaith y dydd;
Mae acme-dns-route53 wedi'i ysgrifennu yn GoLang ac mae'n cefnogi fersiwn heb fod yn is na 1.9.
Mae angen i ni greu ffeil zip gyda deuaidd acme-dns-route53 tu mewn. I wneud hyn mae angen i chi osod acme-dns-route53 o ystorfa GitHub gan ddefnyddio'r gorchymyn go install:
$ env GOOS=linux GOARCH=amd64 go install github.com/begmaroman/acme-dns-route53
Mae'r deuaidd wedi'i osod yn $GOPATH/bin cyfeiriadur. Sylwch ein bod wedi nodi dau amgylchedd newydd yn ystod y gosodiad: GOOS=linux ΠΈ GOARCH=amd64. Maent yn ei gwneud yn glir i'r casglwr Go bod angen iddo greu deuaidd sy'n addas ar gyfer Linux OS a phensaernΓ―aeth amd64 - dyma sy'n rhedeg ar AWS.
Mae AWS yn disgwyl i'n rhaglen gael ei defnyddio mewn ffeil zip, felly gadewch i ni greu acme-dns-route53.zip archif a fydd yn cynnwys y deuaidd sydd newydd ei osod:
$ zip -j ~/acme-dns-route53.zip $GOPATH/bin/acme-dns-route53
Nodyn: Dylai'r deuaidd fod yng ngwraidd yr archif sip. Ar gyfer hyn rydym yn defnyddio -j baner.
Nawr bod ein llysenw zip yn barod i'w ddefnyddio, y cyfan sydd ar Γ΄l yw creu rΓ΄l gyda'r hawliau angenrheidiol.
Creu rΓ΄l IAM
Mae angen i ni sefydlu rΓ΄l IAM gyda'r hawliau sy'n ofynnol gan ein lambda yn ystod ei weithrediad.
Gadewch i ni alw'r polisi hwn lambda-acme-dns-route53-executor a rhoi rΓ΄l sylfaenol iddi ar unwaith AWSLambdaBasicExecutionRole. Bydd hyn yn caniatΓ‘u i'n lambda redeg ac ysgrifennu logiau i wasanaeth CloudWatch AWS.
Yn gyntaf, rydym yn creu ffeil JSON sy'n disgrifio ein hawliau. Bydd hyn yn ei hanfod yn caniatΓ‘u i wasanaethau lambda ddefnyddio'r rΓ΄l lambda-acme-dns-route53-executor:
Nawr gadewch i ni redeg y gorchymyn aws iam create-role i greu rΓ΄l:
$ aws iam create-role --role-name lambda-acme-dns-route53-executor
--assume-role-policy-document ~/lambda-acme-dns-route53-executor-policy.json
Nodyn: cofiwch y polisi ARN (Enw Adnodd Amazon) - bydd ei angen arnom yn y camau nesaf.
RΓ΄l lambda-acme-dns-route53-executor creu, nawr mae angen i ni nodi caniatΓ’d ar ei gyfer. Y ffordd hawsaf o wneud hyn yw defnyddio'r gorchymyn aws iam attach-role-policy, pasio polisi ARN AWSLambdaBasicExecutionRole fel a ganlyn:
$ aws iam attach-role-policy --role-name lambda-acme-dns-route53-executor
--policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
Nodyn: gellir dod o hyd i restr gyda pholisΓ―au eraill yma.
Creu swyddogaeth lambda sy'n rhedeg acme-dns-llwybr53
Hwre! Nawr gallwch chi ddefnyddio ein swyddogaeth i AWS gan ddefnyddio'r gorchymyn aws lambda create-function. Rhaid ffurfweddu'r lambda gan ddefnyddio'r newidynnau amgylchedd canlynol:
AWS_LAMBDA - yn ei gwneud yn glir acme-dns-llwybr53 bod dienyddiad yn digwydd y tu mewn i AWS Lambda.
DOMAINS β rhestr o barthau wedi eu gwahanu gan atalnodau.