في مجال البنية التحتية كرمز (IaC)، أحد أدوات الاستفادة الأكثر فائدة التي ظهرت في السنوات العديدة الماضية هو Terraform لـ HashiCorp. القدرة على توثيق البنية التحتية، وتأمين الموارد تلقائيًا، وتنفيذها عبر مزودي سحابة مختلفة كبيرة بالنسبة لأي سير عمل DevOps والتأتأة.
أحد الاستخدامات لـ Terraform هو في CI/CD. يسمح لك Terraform بـ:
فيديوهاتي الأحدث
- إنشاء بيئة اختبار
- نشر تطبيق
- تشغيل اختبارات التكامل
- تدمير بيئة الاختبار
يتم تنفيذ جميع الخطوات تلقائيًا أيضًا. ولا يتطلب مركز بيانات!
المتطلبات المسبقة
هذه المقالة هي دليل تفصيلي لتشغيل Terraform على نظام التشغيل Windows. إذا كنت ترغب في متابعة الخطوات، يرجى التأكد من توفر المتطلبات المسبقة التالية.
- A Windows 10 device
- حساب AWS
- تثبيت وتكوين AWS CLI على تلك الجهاز. يمكنك معرفة كيفية تثبيته هنا وكيفية تكوينه هنا.
- (اختياري) Visual Studio Code مع امتداد Terraform
تثبيت تطبيق Terraform لنظام التشغيل Windows
لاستغلال قوة Terraform ، يجب أن تقوم أولاً بتثبيته على نظام التشغيل الذي تفضله. في هذه المقالة ، سأركز على نظام التشغيل Windows. ولكن اعلم أنه يمكن تشغيل Terraform على أنظمة تشغيل أخرى. إذا كنت لا تستخدم نظام التشغيل Windows ، فتحقق من وثائق التثبيت.
الطريقة الصعبة
إذا لم تتمكن من استخدام مدير الحزم أو ترغب في فهم كيفية عمل عملية التثبيت ، يمكنك تثبيت Terraform يدويًا. يمكنك تثبيت Terraform عن طريق تنزيل الملف التنفيذي وإضافته إلى المسار المتغير البيئي للنظام. إذا بدا هذا أمرًا مربكًا ، فأطمئن ، هناك طريقة أسهل للقيام بذلك ستتعلمها في القسم التالي.
- قم بتنزيل الإصدار المناسب من Terraform من صفحة تنزيل HashiCorp. في حالتي ، إنه الإصدار 64 بت لنظام Windows.
- أنشئ مجلدًا في محرك C:\ حيث يمكنك وضع ملف تنفيذي Terraform. أنا أفضل وضع المثبتات في مجلد فرعي (على سبيل المثال C:\tools) حيث يمكنك وضع الملفات الثنائية.
- بعد انتهاء التنزيل ، ابحث عنه في مستكشف الملفات. استخرج ملف الضغط إلى المجلد الذي أنشأته في الخطوة 2.
- افتح قائمة “البدء” واكتب “بيئة” وأول شيء يظهر يجب أن يكون تحرير متغيرات بيئة النظام . انقر فوق ذلك ويجب أن ترى هذه النافذة.

5. انقر على متغيرات البيئة… في الأسفل وسترى هذا:

6. في القسم السفلي حيث يقول متغيرات النظام، ابحث عن واحد يسمى المسار وانقر على تحرير. سترى بعد ذلك قائمة بمكان البرامج الثنائية التي قد يحتاجها Windows لأي سبب من الأسباب.
7. انقر فوق جديد وأضف مسار المجلد حيث يقع terraform.exe إلى أسفل القائمة. يجب أن يبدو كما يلي عند الانتهاء.

8. انقر موافق على كل القوائم التي قمت بفتحها حتى لا يتبقى شيء.
9. للتأكد من أن Windows يكتشف المسار الجديد، افتح سطر الأوامر/PowerShell الجديد وأدخل refreshenv
.
10. تحقق من نجاح التثبيت عن طريق إدخال terraform --version
. إذا عادت نسخة، فأنت جاهز.
الطريقة السهلة
يا له من العمل الكثير! سيكون من المروع القيام بذلك في كل مرة تحتاج فيها إلى تثبيت برنامج جديد على جهازك. دعنا نستخدم بدلاً من ذلك مدير حزمة. هناك العديد من مديري الحزم التي يمكنك استخدامها لتثبيت Terraform على Windows. بالنسبة لـ Windows، المفضل لدي هو Chocolatey. يجعل تثبيت البرامج وإزالتها وتحديثها بسيطة مثل أمر واحد، ولا يختلف الأمر في حالة Terraform.
لتثبيت Terraform باستخدام Chocolatey، قم باتباع الخطوات التالية:
- افتح سطر الأوامر / PowerShell كمسؤول وقم بتثبيت Chocolatey باستخدام الأمر الموجود في صفحة التثبيت الخاصة بهم.
- بمجرد الانتهاء من ذلك، قم بتشغيل
choco install terraform
. إذا أردت، يمكنك أيضًا إضافة-y
في النهاية للموافقة التلقائية على تثبيته على جهازك.
بعد تشغيل هذا الأمر، ستحصل على شيء مشابه لهذا:
3. تحقق من نجاح التثبيت عن طريق إدخال terraform --version
.
الطريقة اللينكسية
I can almost hear what you’re thinking. Wait a minute Chris, didn’t you say this was going to cover installing Terraform on Windows?
نعم، لا تزال كذلك. ولكن إحدى الميزات في ويندوز 10 هي نظام ويندوز لنظام لينكس، أو WSL. يتيح لك هذا تشغيل الأوامر اللينكسية على ويندوز.
- قم بتثبيت WSL. لن أشرح كيفية تثبيت وإعداد WSL هنا، ولكن إذا كنت ترغب في المتابعة وليس لديك تكوينها بالفعل. يمكن العثور على فيديو توضيحي عن هذا الموضوع في الرابط أدناه.
2. في واجهة سطر الأوامر الخاصة بـ WSL، قم بتشغيل apt-get install unzip
. ستحتاج إلى ذلك لاستخراج ملفات تيرافورم لاحقًا.
3. قم بتنزيل تيرافورم عن طريق تشغيل الأمر wget https://releases.hashicorp.com/terraform/0.12.6/terraform_0.12.6_linux_amd64.zip
. تذكر استبدال الإصدار والهندسة المعمارية بتلك التي تناسب جهازك بشكل أفضل. يمكنك العثور على قائمة كاملة بإصدارات تيرافورم هنا.
4. تشغيل unzip terraform_0.12.6_linux_amd64.zip terraform
لفك ضغط محتويات الملف المضغوط إلى مجلد يسمى terraform.
5. بمجرد فك ضغط الملف المضغوط، ستحتاج إلى نقله إلى مكان يمكن الوصول إليه من قبل مسار النظام. لحسن الحظ، لدى نظام Linux مجلد يمكن للمستخدمين إضافة البرامج الثنائية إليه افتراضيًا. قم بنقل البرنامج الثنائي لـ Terraform إلى هناك عن طريق تشغيل mv terraform /usr/local/bin/
. يتم تعيين المجلد /usr/local/bin بالفعل في مسار النظام الخاص بك.
6. تحقق من نجاح التثبيت عن طريق تشغيل terraform --version
.
توتيرم أمازون ويب سيرفس إي سي 2 بواسطة تيرافورم
الآن بعد تثبيت تيرافورم، يمكنك البدء في استخدامه. في هذا المنشور، سأقوم بشرح بناء مثال بسيط لمثيل EC2 في أمازون ويب سيرفس باستخدام تيرافورم. ولكن اعلم أن تيرافورم يمكنه توفير المئات من أنواع البنية التحتية المختلفة.
للبدء، ستحتاج أولاً إلى دليل لتشغيل سكربتات تيرافورم EC2 منه. من المهم أن يكون لديك دليل منفصل لكل بيئة. في الوقت الذي أكتب فيه هذا، لا يوجد لدى تيرافورم طريقة لتصفية ما يتم تشغيله. سيتم تشغيل كل سكربت في دليل العمل الحالي.
إعداد سكربت تيرافورم
- في سطر الأوامر أو وحدة التحكم بويرشيل التي يتم تشغيلها كمسؤول، قم بتشغيل
mkdir hello-terraform
ثمcd ./hello-terraform
- بمجرد أن تحصل على دليل، ستحتاج إلى نص برمجي لـ Terraform. فيما يلي مثال لنص برمجي يمكنك استخدامه. هذا هو نص برمجي نموذجي لـ Terraform باستخدام موفر AWS لإنشاء مورد لـ AWS instance.
إذا كنت ترغب في الحصول على النص البرمجي بالكامل، قم بنسخه أدناه. إذا كنت ترغب في فهم ما يقوم به هذا النص البرمجي، فاقرأ أدناه.
# Terraform HCL
3. احفظ النص البرمجي أعلاه باسم main.tf
في الدليل العامل الخاص بك.
فهم نصوص TF
قبل أن تتقدم أكثر، انظر إلى الكود أدناه وما يتم إعلانه فيه.
# Terraform HCL
يخبر هذا الكود Terraform EC2 بالموفر الذي يجب استخدامه. يوجد موفرون لجميع موردي السحابة الرئيسيين، بالإضافة إلى بعض موردي الخوادم الخاصة. إذا كنت متقدمًا وتعرف كيفية كتابة Golang، فيمكنك أيضًا كتابة موفر خاص بك.
يخبر هذا الكود Terraform بأن يستخدم موفر AWS ومفاتيح الوصول الموجودة في ملف ~/.aws/credentials
تحت اسم الملف الشخصي default
. يتم إنشاء هذا الملف عند إعداد AWS CLI باستخدام أمر aws config
كما هو مذكور في المتطلبات الأولية.
من الجدير بالذكر أيضًا أن ~/
هو اختصار لدليل المستخدم الحالي. إذا كنت تأتي من خلفية ويندوز، فإن هذا يعادل $env:USERPROFILE
أو %USERPROFILE%
. ولكن Terraform لا يدعم هذا التعبير في وقت الكتابة.
الكتلة التالية تصف مثيل EC2 في Terraform وكيفية بنائه. إذا نظرت إلى توثيق Terraform لـ aws_instance، يمكنك رؤية أن بعض المعاملات مطلوبة والبعض اختياري. في هذه الحالة، المعاملات المطلوبة هي معرف AMI (ami-07d0cf3af28718ef8
) لـ Ubuntu 18.04 LTS و t2.micro
لنوع المثيل.
من خلال تمرير كتلة وسم بالمفتاح Name
والقيمة HelloTerraform
، سيتم تعيين هذا الوسم أيضًا للمثيل الذي يتم إنشاؤه. هذا اختياري.
#Terraform HCL
الآن بمجرد إعداد النص، قم بتشغيل terraform init
من الدليل العامل الخاص بك. سيقوم هذا بتنزيل جميع التبعيات وموفر في مجلد يُسمى .terraform
. إذا تمت العملية بنجاح، يجب أن تحصل على شيء مشابه لهذا:
قبل أن تجري أي تغييرات، يتيح لك Terraform EC2 رؤية ما سيتم إنشاؤه من خلال تشغيل terraform plan
. هنا ما سيتم إخراجه:
# سيتم إنشاء aws_instance.ubuntu
بناء مثيل EC2 في AWS: الإنشاء
الآن أنت مستعد لتشغيله بنفسك عن طريق تشغيل terraform apply
. سترى أدناه الإخراج مثل terraform plan
، ولكن مع إضافة استفسار للتأكيد على أنك فعلاً ترغب في تطبيق هذه التغييرات.
بمجرد كتابة “نعم”، ستبدأ Terraform EC2 في توفير نسخة Terraform EC2 عن طريق استدعاء واجهات برمجة التطبيق (APIs) لـ AWS باستخدام مفتاح الوصول الموجود في ملف الاعتماد الخاص بك. قد يستغرق ذلك بعض الوقت. عند الانتهاء، سترى شيئًا مشابهًا لما يلي:
تدمير إنشاءة EC2 الخاصة بـ AWS
عند الانتهاء من بيئة الاختبار، يمكنك تدمير الإنشاءة.
في وحدة التحكم الخاصة بك في سطر الأوامر / PowerShell، اكتب terraform destroy
. مثل أمر apply
، سترى قائمة بالموارد التي ستقوم Terraform بتدميرها ثم تتلقى رسالة تأكيد قبل تدميرها فعليًا.
بمجرد كتابة “نعم”، ستبدأ Terraform EC2 في تدمير الإنشاءة وتؤكد عند الانتهاء.