புரோஹோஸ்டர் > Блог > நிர்வாகம் > DNS-01 சவால் மற்றும் AWS ஐப் பயன்படுத்தி SSL சான்றிதழ் நிர்வாகத்தை குறியாக்கம் செய்வோம்
DNS-01 சவால் மற்றும் AWS ஐப் பயன்படுத்தி SSL சான்றிதழ் நிர்வாகத்தை குறியாக்கம் செய்வோம்
SSL சான்றிதழ்களின் நிர்வாகத்தை தானியங்குபடுத்துவதற்கான படிகளை இடுகை விவரிக்கிறது CA ஐ என்க்ரிப்ட் செய்வோம் பயன்படுத்தி DNS-01 சவால் и வட்டாரங்களில்.
acme-dns-route53 இந்த அம்சத்தை செயல்படுத்த அனுமதிக்கும் ஒரு கருவியாகும். இது லெட்ஸ் என்க்ரிப்ட் இலிருந்து SSL சான்றிதழ்களுடன் வேலை செய்யலாம், அவற்றை Amazon சான்றிதழ் மேலாளரில் சேமிக்கலாம், DNS-53 சவாலை செயல்படுத்த ரூட்01 API ஐப் பயன்படுத்தலாம் மற்றும் இறுதியாக, SNS க்கு அறிவிப்புகளை அனுப்பலாம். IN acme-dns-route53 AWS Lambda க்குள் பயன்படுத்த உள்ளமைக்கப்பட்ட செயல்பாடும் உள்ளது, இதுவே நமக்குத் தேவை.
இந்த கட்டுரை 4 பிரிவுகளாக பிரிக்கப்பட்டுள்ளது:
ஜிப் கோப்பை உருவாக்குதல்;
ஒரு IAM பாத்திரத்தை உருவாக்குதல்;
இயங்கும் ஒரு லாம்ப்டா செயல்பாட்டை உருவாக்குகிறது acme-dns-route53;
ஒரு நாளைக்கு 2 முறை செயல்பாட்டைத் தூண்டும் CloudWatch டைமரை உருவாக்குதல்;
குறிப்பு: நீங்கள் தொடங்குவதற்கு முன், நீங்கள் நிறுவ வேண்டும் GoLang 1.9+ и AWS CLI
ஜிப் கோப்பை உருவாக்குதல்
acme-dns-route53 GoLang இல் எழுதப்பட்டுள்ளது மற்றும் 1.9 க்கும் குறைவான பதிப்பை ஆதரிக்கிறது.
பைனரி மூலம் ஜிப் கோப்பை உருவாக்க வேண்டும் acme-dns-route53 உள்ளே. இதைச் செய்ய, நீங்கள் நிறுவ வேண்டும் acme-dns-route53 கட்டளையைப் பயன்படுத்தி GitHub களஞ்சியத்திலிருந்து go install:
$ env GOOS=linux GOARCH=amd64 go install github.com/begmaroman/acme-dns-route53
பைனரி நிறுவப்பட்டுள்ளது $GOPATH/bin அடைவு. நிறுவலின் போது நாங்கள் இரண்டு மாற்றப்பட்ட சூழல்களைக் குறிப்பிட்டோம் என்பதை நினைவில் கொள்ளவும்: GOOS=linux и GOARCH=amd64. லினக்ஸ் ஓஎஸ் மற்றும் ஏஎம்டி64 கட்டமைப்பிற்கு ஏற்ற பைனரியை உருவாக்க வேண்டும் என்று கோ கம்பைலருக்கு அவர்கள் தெளிவுபடுத்துகிறார்கள் - இது AWS இல் இயங்குகிறது.
எங்கள் நிரல் ஒரு ஜிப் கோப்பில் பயன்படுத்தப்பட வேண்டும் என்று AWS எதிர்பார்க்கிறது, எனவே உருவாக்குவோம் acme-dns-route53.zip புதிதாக நிறுவப்பட்ட பைனரியைக் கொண்டிருக்கும் காப்பகம்:
$ zip -j ~/acme-dns-route53.zip $GOPATH/bin/acme-dns-route53
குறிப்பு: பைனரி ஜிப் காப்பகத்தின் மூலத்தில் இருக்க வேண்டும். இதற்காக நாங்கள் பயன்படுத்துகிறோம் -j கொடி.
இப்போது எங்கள் ஜிப் புனைப்பெயர் வரிசைப்படுத்த தயாராக உள்ளது, தேவையான உரிமைகளுடன் ஒரு பாத்திரத்தை உருவாக்குவது மட்டுமே எஞ்சியுள்ளது.
IAM பாத்திரத்தை உருவாக்குதல்
அதன் செயல்பாட்டின் போது எங்கள் லாம்ப்டாவிற்கு தேவையான உரிமைகளுடன் IAM பங்கை அமைக்க வேண்டும்.
இதை கொள்கை என்று அழைக்கலாம் lambda-acme-dns-route53-executor உடனடியாக அவளுக்கு ஒரு அடிப்படை பாத்திரத்தை கொடுங்கள் AWSLambdaBasicExecutionRole. இது எங்கள் லாம்ப்டாவை இயக்க மற்றும் AWS CloudWatch சேவையில் பதிவுகளை எழுத அனுமதிக்கும்.
முதலில், எங்கள் உரிமைகளை விவரிக்கும் JSON கோப்பை உருவாக்குகிறோம். இது முக்கியமாக லாம்ப்டா சேவைகளை பாத்திரத்தைப் பயன்படுத்த அனுமதிக்கும் lambda-acme-dns-route53-executor:
இப்போது கட்டளையை இயக்குவோம் aws iam create-role ஒரு பாத்திரத்தை உருவாக்க:
$ aws iam create-role --role-name lambda-acme-dns-route53-executor
--assume-role-policy-document ~/lambda-acme-dns-route53-executor-policy.json
குறிப்பு: ARN (Amazon Resource Name) கொள்கையை நினைவில் கொள்ளுங்கள் - அடுத்த படிகளில் நமக்கு இது தேவைப்படும்.
பங்கு lambda-acme-dns-route53-executor உருவாக்கப்பட்டது, இப்போது அதற்கான அனுமதிகளை நாம் குறிப்பிட வேண்டும். இதைச் செய்வதற்கான எளிதான வழி கட்டளையைப் பயன்படுத்துவதாகும் aws iam attach-role-policy, பாஸ்சிங் பாலிசி ARN AWSLambdaBasicExecutionRole பின்வருமாறு:
$ aws iam attach-role-policy --role-name lambda-acme-dns-route53-executor
--policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
குறிப்பு: பிற கொள்கைகளுடன் ஒரு பட்டியலைக் காணலாம் இங்கே.
இயங்கும் லாம்ப்டா செயல்பாட்டை உருவாக்குதல் acme-dns-route53
ஹூரே! இப்போது நீங்கள் கட்டளையைப் பயன்படுத்தி AWS க்கு எங்கள் செயல்பாட்டை வரிசைப்படுத்தலாம் aws lambda create-function. பின்வரும் சூழல் மாறிகளைப் பயன்படுத்தி லாம்ப்டா கட்டமைக்கப்பட வேண்டும்:
AWS_LAMBDA - தெளிவுபடுத்துகிறது acme-dns-route53 AWS லாம்ப்டாவிற்குள் மரணதண்டனை நிகழ்கிறது.
DOMAINS - காற்புள்ளிகளால் பிரிக்கப்பட்ட டொமைன்களின் பட்டியல்.