bg-tutorials

AWS-এ কীভাবে SSL Certificate ইনস্টল করবেন

এই টিউটোরিয়ালে, আপনি শিখবেন কীভাবে AWS-এ (Amazon Web Services) একটি SSL সার্টিফিকেট ইনস্টল করবেন। AWS-এ আপনি Apache বা Nginx-এর মতো একটি একক সার্ভারে সার্টিফিকেট ইনস্টল করেন না। এর পরিবর্তে, আপনি একবার সার্টিফিকেটটি একটি সার্টিফিকেট স্টোরে ইম্পোর্ট করেন, তারপর এটিকে একটি ম্যানেজড সার্ভিসের (একটি লোড ব্যালেন্সার, CloudFront, বা API Gateway) সাথে যুক্ত করেন যা আপনার জন্য TLS সংযোগ শেষ করে। এই গাইডে AWS Certificate Manager (ACM), লেগ্যাসি IAM সার্টিফিকেট স্টোর এবং Elastic Load Balancing (ELB) নিয়ে আলোচনা করা হয়েছে।

ইনস্টলেশনের আগে, আপনার একটি সার্টিফিকেট সাইনিং রিকোয়েস্ট (CSR) তৈরি করতে হবে এবং অনুমোদনের জন্য এটি সার্টিফিকেট অথরিটির কাছে পাঠাতে হবে। যদি আপনি এই পদক্ষেপ সম্পন্ন না করে থাকেন, তাহলে এই টিউটোরিয়ালের প্রথম অংশ থেকে শুরু করুন। যদি আপনার কাছে ইতিমধ্যে আপনার SSL সার্টিফিকেট ফাইল থাকে, তাহলে সরাসরি নিচের ইনস্টলেশন গাইডে চলে যান।

কীভাবে AWS-এ একটি CSR কোড তৈরি করবেন

SSL সার্টিফিকেটের জন্য আবেদন করার সময়, একটি গুরুত্বপূর্ণ পদক্ষেপ হলো CSR কোড আপনার SSL প্রোভাইডারের কাছে জমা দেওয়া, যাকে সার্টিফিকেট অথরিটিও বলা হয়। CSR-এ আপনার ডোমেইন নাম এবং সংস্থা সম্পর্কে এনকোড করা তথ্য থাকে। এই কোড ব্লক প্রদান না করে আপনি একটি সাইন করা SSL সার্টিফিকেট পেতে পারবেন না। আপনার কাছে দুটি অপশন রয়েছে:

  • CSR স্বয়ংক্রিয়ভাবে তৈরি করতে আমাদের CSR Generator ব্যবহার করুন।
  • ম্যানুয়ালি CSR তৈরি করুন। সবচেয়ে ভালো অপশন হলো যে সার্ভারে আপনার SSL সার্টিফিকেট চলবে, সেই একই সার্ভারে CSR তৈরি করা। আপনার প্ল্যাটফর্মের জন্য টিউটোরিয়াল বেছে নিন:

যদি আপনার কাছে শুধুমাত্র একটি লোড ব্যালেন্সার থাকে এবং কমান্ড চালানোর জন্য কোনো অরিজিন ওয়েব সার্ভার না থাকে, তাহলে আপনি OpenSSL টুল দিয়ে আপনার CSR এবং প্রাইভেট কী তৈরি করতে পারেন:

openssl req -new -newkey rsa:2048 -nodes -keyout yoursite.key -out example.csr

নোট: আপনি যে ডোমেইন নামটি সুরক্ষিত করতে চান তার সাথে yoursite প্রতিস্থাপন করুন। এই কমান্ডটি আপনার প্রাইভেট কী (yoursite.key) লিখে; এটি সুরক্ষিত রাখুন, কারণ সার্টিফিকেট ইম্পোর্ট করার সময় আপনার এটি প্রয়োজন হবে।

কমান্ড চালানোর পর, OpenSSL CSR-টি example.csr-এ লেখে। সেই ফাইলটি খুলুন এবং পুরো ব্লকটি কপি করুন, —–BEGIN CERTIFICATE REQUEST—– এবং —–END CERTIFICATE REQUEST—– লাইনগুলো সহ। আপনার SSL সার্টিফিকেট অ্যাক্টিভেশনের সময় আপনি এই কোডটি পেস্ট করবেন।

সমস্ত সার্টিফিকেট ফাইল প্রস্তুত করুন

ইনস্টলেশন শুরু করার আগে, নিশ্চিত করুন যে আপনার কাছে প্রয়োজনীয় সমস্ত সার্টিফিকেট ফাইল রয়েছে। সার্টিফিকেট অথরিটি আপনার SSL সার্টিফিকেটে সাইন করার পর, এটি ইনস্টলেশন ফাইলগুলো আপনার ইনবক্সে পাঠায়। আপনার যা প্রয়োজন তা এখানে দেওয়া হলো:

  • আপনার প্রাইমারি সার্টিফিকেট ফাইল, যা আপনি সুরক্ষিত করতে চান এমন ডোমেইন নামের জন্য ইস্যু করা হয়েছে।
  • আপনার সার্টিফিকেট অথরিটি থেকে CA বান্ডেল (ইন্টারমিডিয়েট সার্টিফিকেট চেইন)।
  • আপনার প্রাইভেট কী।

আপনার SSL সার্টিফিকেট এবং CA বান্ডেল CA দ্বারা পাঠানো ZIP আর্কাইভে আসে। প্রাইভেট কী হলো সেটি যা আপনি আপনার CSR কোডের সাথে তৈরি করেছেন; এটি একই স্থানে থাকে যেখানে আপনি CSR তৈরি করেছিলেন।

শেষ যে বিষয়টি চেক করতে হবে তা হলো আপনার ফাইলগুলোর ফরম্যাট। ACM এবং IAM শুধুমাত্র PEM-এনকোডেড ফাইল গ্রহণ করে, তাই নিশ্চিত করুন যে আপনার সার্টিফিকেট, চেইন এবং প্রাইভেট কী PEM ফরম্যাটে আছে। PEM একটি টেক্সট ফরম্যাট যা বিভিন্ন ফাইল এক্সটেনশন (.pem, .key, .cer, .crt, এবং অন্যান্য) বহন করতে পারে; একটি PEM ফাইল —–BEGIN CERTIFICATE—– এর মতো একটি লাইন দিয়ে শুরু হয়। প্রাইভেট কী আবশ্যিকভাবে আনএনক্রিপ্টেড হতে হবে: ACM একটি পাসওয়ার্ড বা পাসফ্রেজ দ্বারা সুরক্ষিত কী প্রত্যাখ্যান করে।

যদি আপনি আপনার ফাইলগুলো অন্য কোনো ফরম্যাটে পেয়ে থাকেন, যেমন PFX/PKCS#12, তাহলে প্রথমে তাদের PEM-এ রূপান্তর করুন। আপনি OpenSSL কমান্ড দিয়ে এটি করতে পারেন। একবার আপনার ফাইলগুলো PEM ফরম্যাটে থাকলে, আপনি আপনার সার্টিফিকেট ইনস্টল করার জন্য প্রস্তুত।

AWS Certificate Manager (ACM)-এ একটি SSL সার্টিফিকেট ইনস্টল করুন

ACM হলো AWS ম্যানেজড সার্ভিসগুলোর জন্য সার্টিফিকেট সংরক্ষণের সুপারিশকৃত স্থান। আপনি কনসোল বা CLI-এর মাধ্যমে আপনার তৃতীয় পক্ষের সার্টিফিকেট ইম্পোর্ট করতে পারেন।

অপশন A: ACM কনসোলে ইম্পোর্ট করুন

  1. AWS কনসোল খুলুন এবং Certificate Manager-এ যান। নিশ্চিত করুন আপনি সঠিক রিজিয়নে আছেন (উপরে ডানদিকে)। যে সার্ভিস এটি ব্যবহার করবে তার একই রিজিয়নে সার্টিফিকেট ইম্পোর্ট করুন। CloudFront-এর জন্য, US East (N. Virginia), us-east-1 ব্যবহার করুন।
  2. Import certificate বেছে নিন।
  3. Certificate body-তে, আপনার প্রাইমারি সার্টিফিকেট পেস্ট করুন (—–BEGIN CERTIFICATE—– দিয়ে শুরু হওয়া ব্লক)।
  4. Certificate private key-তে, আপনার আনএনক্রিপ্টেড প্রাইভেট কী পেস্ট করুন (—–BEGIN PRIVATE KEY—– বা —–BEGIN RSA PRIVATE KEY—– দিয়ে শুরু হওয়া ব্লক)।
  5. Certificate chain-তে, আপনার CA বান্ডেল পেস্ট করুন (ইন্টারমিডিয়েট সার্টিফিকেটগুলো)।
  6. Next বেছে নিন, যেকোনো ট্যাগ যুক্ত করুন, তারপর Import বেছে নিন।

অপশন B: AWS CLI দিয়ে ইম্পোর্ট করুন

আপনার সার্টিফিকেট ACM-এ আপলোড করতে নিচের কমান্ডটি চালান। fileb:// প্রিফিক্সটি লক্ষ্য করুন: এটি CLI-কে প্রতিটি ফাইলকে raw bytes হিসেবে পড়তে বলে, যা ACM প্রত্যাশা করে।

aws acm import-certificate 
  --certificate fileb://example.crt 
  --private-key fileb://example.key 
  --certificate-chain fileb://example-bundle.crt

নোট: প্রতিটি example ফাইলের নাম আপনার ফাইলের প্রকৃত নাম দিয়ে প্রতিস্থাপন করুন। ইম্পোর্ট সফল হলে, CLI সার্টিফিকেট ARN (Amazon Resource Name) রিটার্ন করে। সার্টিফিকেটটিকে একটি সার্ভিসের সাথে যুক্ত করার জন্য আপনার এই আইডেন্টিফায়ারের প্রয়োজন। আপনার সার্টিফিকেট আরও পরিচালনা করার জন্য এখানে ACM কমান্ডের সম্পূর্ণ তালিকা দেওয়া হলো।

গুরুত্বপূর্ণ বিষয়সমূহ:

  • ইম্পোর্ট করা সার্টিফিকেট স্বয়ংক্রিয়ভাবে রিনিউ হয় না। ACM শুধুমাত্র সেই সার্টিফিকেটগুলো স্বয়ংক্রিয়ভাবে রিনিউ করে যেগুলো এটি ইস্যু করে। ইম্পোর্ট করা একটি সার্টিফিকেটের মেয়াদ শেষ হওয়ার তারিখ ট্র্যাক করা এবং এটি মেয়াদ শেষ হওয়ার আগে একটি নতুন সার্টিফিকেট পুনরায় ইম্পোর্ট করার দায়িত্ব আপনার (AWS মেয়াদ শেষ হওয়ার কমপক্ষে ২৪ ঘণ্টা আগে সুপারিশ করে)। একই ACM সার্টিফিকেটে পুনরায় ইম্পোর্ট করলে বিদ্যমান সার্ভিস সংযোগগুলো সংরক্ষিত থাকে, ফলে লোড ব্যালেন্সার বা ডিস্ট্রিবিউশন আর কোনো পরিবর্তন ছাড়াই এটি ব্যবহার করতে থাকে।
  • রিজিয়ন গুরুত্বপূর্ণ। একটি ACM সার্টিফিকেট রিজিয়নাল। যে লোড ব্যালেন্সার বা সার্ভিস এটি ব্যবহার করবে তার একই রিজিয়নে এটি ইম্পোর্ট করুন। CloudFront শুধুমাত্র us-east-1 থেকে সার্টিফিকেট গ্রহণ করে।

AWS IAM (লেগ্যাসি)-এ একটি SSL সার্টিফিকেট ইনস্টল করুন

IAM সার্টিফিকেট স্টোর হলো পুরোনো পদ্ধতি এবং AWS নতুন ডিপ্লয়মেন্টের জন্য ACM সুপারিশ করে। IAM শুধুমাত্র তখনই ব্যবহার করুন যখন কোনো সার্ভিস বা রিজিয়ন ACM সমর্থন করে না, বা যখন আপনার নির্দিষ্টভাবে IAM স্টোরের প্রয়োজন হয় (উদাহরণস্বরূপ, নির্দিষ্ট কিছু CloudFront সেটআপ, যেখানে পাথটি অবশ্যই /cloudfront/ দিয়ে শুরু হতে হবে)। নিচের কমান্ড দিয়ে সার্টিফিকেটটি IAM-এ আপলোড করুন:

aws iam upload-server-certificate 
  --server-certificate-name certificate-name 
  --certificate-body file://example.crt 
  --certificate-chain file://example-bundle.crt 
  --private-key file://example.key

নিচে দেখানো অনুযায়ী মানগুলো প্রতিস্থাপন করুন:

  • –server-certificate-name: মনে রাখার জন্য সহজ একটি কাস্টম নাম, উদাহরণস্বরূপ আপনার ডোমেইন নাম। শুধুমাত্র বড় এবং ছোট হাতের অক্ষর এবং সংখ্যা ব্যবহার করুন; কোনো স্পেস অনুমোদিত নয়।
  • –certificate-body: আপনার প্রাইমারি SSL সার্টিফিকেটের ফাইলের নাম।
  • –certificate-chain: আপনার CA বান্ডেলের ফাইলের নাম।
  • –private-key: আপনার প্রাইভেট কীর ফাইলের নাম।

সার্টিফিকেট, প্রাইভেট কী এবং চেইন সবগুলোই PEM-এনকোডেড হতে হবে, এবং প্রাইভেট কীটি সার্টিফিকেটের সাথে মিলতে হবে। আপলোড সফল হলে, CLI সার্ভার সার্টিফিকেটের মেটাডেটা রিটার্ন করে, যার মধ্যে এর পাথ, নাম, আইডি, ARN, আপলোডের তারিখ এবং মেয়াদ শেষ হওয়ার তারিখ অন্তর্ভুক্ত থাকে। SSL ব্যবস্থাপনা এবং সমস্যা সমাধানের বিষয়ে আরও সহায়তার জন্য, Amazon-এর অফিসিয়াল গাইড দেখুন।

ELB (Elastic Load Balancing)-এ সার্টিফিকেট যুক্ত করুন

সার্টিফিকেটটি ACM বা IAM-এ ইম্পোর্ট করলে এখনও এটি সার্ভ হয় না। সার্টিফিকেটটি সক্রিয় হয় তখনই যখন আপনি এর ARN একটি সার্ভিসের সাথে যুক্ত করেন। এই বিভাগটি ধরে নেয় যে আপনি ইতিমধ্যে সার্টিফিকেটটি ইম্পোর্ট করেছেন এবং একটি বিদ্যমান লোড ব্যালেন্সারে HTTPS লিসেনার তৈরি বা আপডেট করতে চান। আপনার সার্টিফিকেটের ARN এবং লোড ব্যালেন্সারের নাম বা ARN প্রয়োজন হবে।

Classic Load Balancer

একটি Classic Load Balancer-এ একটি HTTPS লিসেনার তৈরি করতে এবং তার সাথে সার্টিফিকেট নির্ধারণ করতে নিচের কমান্ডটি ব্যবহার করুন:

aws elb create-load-balancer-listeners 
  --load-balancer-name my-load-balancer 
  --listeners "Protocol=HTTPS,LoadBalancerPort=443,InstanceProtocol=HTTP,InstancePort=80,SSLCertificateId=ARN"

ACM বা IAM থেকে আপনার সার্টিফিকেটের ARN দিয়ে ARN প্রতিস্থাপন করুন। যদি আপনার কাছে ইতিমধ্যে একটি HTTPS লিসেনার থাকে এবং শুধুমাত্র একটি নতুন সার্টিফিকেট পরিবর্তন করতে চান, তাহলে এটি ব্যবহার করুন:

aws elb set-load-balancer-listener-ssl-certificate 
  --load-balancer-name my-load-balancer 
  --load-balancer-port 443 
  --ssl-certificate-id NewARN

নতুন সার্টিফিকেটের ARN দিয়ে NewARN প্রতিস্থাপন করুন। এখানে ELB কমান্ডের সম্পূর্ণ পরিসর, এবং Classic Load Balancer-এর জন্য HTTPS লিসেনার নিয়ে Amazon-এর অফিসিয়াল গাইড দেওয়া হলো।

Application Load Balancer

একটি Application Load Balancer-এ একটি HTTPS লিসেনার তৈরি করতে নিচের কমান্ডটি চালান। নিচের –ssl-policy মানটি একটি সুরক্ষা নীতি নির্বাচন করে যা TLS 1.3 এবং TLS 1.2 সমর্থন করে:

aws elbv2 create-listener 
  --load-balancer-arn my-load-balancer-arn 
  --protocol HTTPS 
  --port 443 
  --certificates CertificateArn=my-certificate-arn 
  --ssl-policy ELBSecurityPolicy-TLS13-1-2-2021-06 
  --default-actions Type=forward,TargetGroupArn=my-target-group-arn

আপনি নিচের কমান্ডটি চালিয়ে my-load-balancer-arn এবং my-target-group-arn মানগুলো খুঁজে পেতে পারেন:

aws elbv2 describe-target-groups

এটি আপনার অ্যাকাউন্টে সম্পর্কিত লোড ব্যালেন্সার এবং টার্গেট গ্রুপগুলো প্রকাশ করে। একটি বিদ্যমান HTTPS লিসেনারে নতুন সার্টিফিকেট যুক্ত করতে, এটি ব্যবহার করুন:

aws elbv2 modify-listener 
  --listener-arn my-https-listener-arn 
  --certificates CertificateArn=my-new-certificate-arn

আপনি নিচের মাধ্যমে my-https-listener-arn মানটি খুঁজে পেতে পারেন:

aws elbv2 describe-listeners 
  --load-balancer-arn my-load-balancer-arn

আপনার Application Load Balancer আরও পরিচালনা করার জন্য elbv2 কমান্ড রেফারেন্স দেখুন।

আপনার SSL ইনস্টলেশন পরীক্ষা করুন

আপনার ডোমেইনের HTTPS ভার্সন ব্রাউজ করুন এবং পরীক্ষা করুন যে প্যাডলক আইকনটি উপস্থিত রয়েছে কি না। সার্টিফিকেটের বিস্তারিত পরিদর্শন করতে এটিতে ক্লিক করুন। আরও গভীর পরীক্ষার জন্য, আমাদের SSL Checker ব্যবহার করুন: এটি আপনার ইনস্টলেশন স্কান করে এবং তাৎক্ষণিক একটি রিপোর্ট তৈরি করে। আপনি কমান্ড লাইন থেকেও সার্টিফিকেটটি নিশ্চিত করতে পারেন:

echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -issuer -dates

এটি লোড ব্যালেন্সার যে সার্টিফিকেট সার্ভ করছে তার ইস্যুয়ার এবং বৈধতার তারিখ প্রিন্ট করে। যদি আপনি একটি নতুন সার্টিফিকেট ইম্পোর্ট করেছেন কিন্তু এখনও পুরোনোটি দেখতে পাচ্ছেন, তাহলে নিশ্চিত করুন যে লিসেনারটি নতুন ARN-কে নির্দেশ করছে এবং আপনি সঠিক রিজিয়ন এবং এন্ডপয়েন্ট পরীক্ষা করছেন।

প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী

AWS-এ আমি কোথায় একটি SSL সার্টিফিকেট ইনস্টল করব?

আপনি এটি একটি একক সার্ভারে ইনস্টল করেন না। আপনি সার্টিফিকেটটি AWS Certificate Manager (ACM)-এ ইম্পোর্ট করেন, তারপর ফলস্বরূপ ARN-কে একটি ম্যানেজড সার্ভিসের সাথে যুক্ত করেন যা TLS সংযোগ শেষ করে, যেমন একটি Application বা Classic Load Balancer, একটি CloudFront ডিস্ট্রিবিউশন, বা একটি API Gateway কাস্টম ডোমেইন।

ACM কি স্বয়ংক্রিয়ভাবে একটি ইম্পোর্ট করা সার্টিফিকেট রিনিউ করে?

না। ACM শুধুমাত্র সেই সার্টিফিকেটগুলো স্বয়ংক্রিয়ভাবে রিনিউ করে যেগুলো এটি ইস্যু করে। একটি ইম্পোর্ট করা তৃতীয় পক্ষের সার্টিফিকেট এটি মেয়াদ শেষ হওয়ার আগে পুনরায় ইস্যু এবং পুনরায় ইম্পোর্ট করতে হবে। একই ACM সার্টিফিকেটে পুনরায় ইম্পোর্ট করলে এর সার্ভিস সংযোগগুলো বজায় থাকে, ফলে লোড ব্যালেন্সার আর কোনো অতিরিক্ত পরিবর্তন ছাড়াই রিনিউ করা সার্টিফিকেট সার্ভ করতে থাকে।

আমার ACM বা IAM সার্টিফিকেট স্টোর ব্যবহার করা উচিত?

ACM ব্যবহার করুন। IAM সার্টিফিকেট স্টোর একটি লেগ্যাসি পদ্ধতি যা AWS মূলত পূর্ববর্তী সামঞ্জস্যতার জন্য এবং যে সব ক্ষেত্রে ACM কভার করে না তার জন্য রাখে। বেশিরভাগ সেটআপের জন্য, লোড ব্যালেন্সার এবং CloudFront সহ, ACM সুপারিশকৃত অপশন।

কেন ACM আমার প্রাইভেট কী প্রত্যাখ্যান করছে?

সবচেয়ে সাধারণ কারণ হলো কীটি এনক্রিপ্টেড। ACM শুধুমাত্র একটি আনএনক্রিপ্টেড, PEM-এনকোডেড প্রাইভেট কী গ্রহণ করে যা সার্টিফিকেটের সাথে মেলে। প্রথমে পাসফ্রেজ সরিয়ে ফেলুন, তারপর ইম্পোর্ট করুন। নিশ্চিত করুন যে সব তিনটি অংশ (সার্টিফিকেট, চেইন এবং কী) PEM-এনকোডেড।

আমার কোন রিজিয়নে সার্টিফিকেট ইম্পোর্ট করা উচিত?

যে লোড ব্যালেন্সার বা সার্ভিস এটি ব্যবহার করবে তার একই রিজিয়নে এটি ইম্পোর্ট করুন, কারণ ACM সার্টিফিকেট রিজিয়নাল হয়। CloudFront একটি ব্যতিক্রম: এটি শুধুমাত্র US East (N. Virginia), us-east-1-এ ইম্পোর্ট করা সার্টিফিকেট গ্রহণ করে।

আজ অর্ডার করার সময় SSL শংসাপত্রে 10% সংরক্ষণ করুন!

দ্রুত ইস্যু, শক্তিশালী এনক্রিপশন, 99.99% ব্রাউজার বিশ্বাস, নিবেদিত সমর্থন, এবং 25 দিনের অর্থ ফেরত গ্যারান্টি। কুপন কোড: SAVE10

উড়ন্ত একটি ড্রাগনের একটি বিস্তারিত চিত্র
লিখেছেন

SSL শংসাপত্রে বিশেষজ্ঞ অভিজ্ঞ বিষয়বস্তু লেখক। জটিল সাইবারসিকিউরিটি বিষয়গুলিকে পরিষ্কার, আকর্ষক সামগ্রীতে রূপান্তর করা। প্রভাবশালী বর্ণনার মাধ্যমে ডিজিটাল নিরাপত্তার উন্নতিতে অবদান রাখুন।

Avatar of Sergiu Rosca
Technical Review by Sergiu Rosca

Sergiu Rosca is the core web developer behind SSL Dragon. He manages the technical infrastructure, platform performance, and backend integrations that keep the site running smoothly and securely. At SSL Dragon, Sergiu shares practical insights on web development, site optimization, and technical troubleshooting.

All SSL Dragon installation guides are tested on live server environments and undergo a strict peer-review process to ensure your infrastructure remains secure. Read our full Editorial Policy.