حول تطوير مكونات البنية التحتية باستخدام Terraform
تشتمل الوحدات النمطية للتعليمات البرمجية المحلية التي تم تنزيلها على اسكربتات منفصلة لتكوين مكونات البنية الأساسية المختلفة وإعدادها. يمكنك عرض وتحرير تلك الاسكربتات لفهم المكونات التي سيتم تكوينها وخصائص كل مكون.
يحتوي المستوى الأولي لدليل Terraform على ملف التكوين الأساسي ، main.tf,
الذي يشير إلى ملفات التكوين في الأدلة الفرعية المختلفة. يشتمل هذا الدليل أيضًا على الملفات التي تعرف المتغيرات المستخدمة في ملفات تكوين Terraform ، أو التي تحتوي على معلومات عن موفر Terraform أو موارد البيانات أو المخرجات. بالإضافة إلى ذلك ، يتم تحديد موقع ملفات التكوين Terraform لتكوين قوائم السرية وجداول التوجيه على المستوى الأولي.
يشتمل دليل Terraform على دليل modules
. يشتمل دليل modules
على ما يلي:
-
bastion
: يستخدم لتكوين مضيفات المعاينات. -
compute
: يُستخدم لتكوين طبعات UNIX وWindows Oracle Cloud Infrastructure Compute . -
dbsystem
: يستخدم لتكوين أنظمة Oracle Cloud Infrastructure Database. -
filesystem
: يستخدم لتكوين نظام ملفات تخزين الملفات في Oracle Cloud Infrastructure. -
loadbalancer
: يُستخدم لتكوين طبعات موازنة الحمل من Oracle Cloud Infrastructure. -
network
: يستخدم لتكوين موارد الشبكة مثل شبكة السحابة الظاهرية (VCN) والجواز الفرعية وجيت واي الإنترنت وجيت واي الخدمة لجيت واي التوجيه الديناميكية (DRG) وترجمة عنوان الشبكة (NAT).
حول مكونات البنية التحتية المطلوب تكوينها
قبل تكوين أية مكونات بنية أساسية ، يجب تقديم بعض المدخلات حول نوع المكونات ورقمها وتوزيعها. على سبيل المثال ، يمكنك تحديد عدد طبعات التطبيقات التي تطلبها ، سواء كنت تريد تكوين كل الموارد في نطاق إتاحة واحد أو على نطاقين إتاحة ، وتحديد إصدار قاعدة البيانات المطلوب في أنظمة قاعدة البيانات الخاصة بك ، وما إلى ذلك.
يتم استخدام الملف terraform.tfvars
في المستوى الأولي لدليل Terraform لتوفير هذا الإدخال. افتح ملف terraform.tfvars
في محرر نصوص وأدخل المعلومات المطلوبة. راجع README
المتاح في دليل المستوى الأولي للقيم المقترحة التي يمكنك استخدامها في هذا الملف.
تقوم الوحدات النمطية Terraform بشكل افتراضي بتكوين مكونات في نطاقين لإتاحة. ويتم التحكم في ذلك من خلال قيمة المتغير AD
في ملف terraform.tfvars
. يمكنك عرض أو تعديل نطاقات الإتاحة التي سيتم استخدامها لاستضافة مكونات البنية الأساسية بواسطة تحرير هذه القيمة. إذا أردت تكوين مكونات في نطاق إتاحة مفرد ، فقم بتعيين القيمة AD
إلى نطاق الإتاحة المطلوب 1, 2, or 3,
في ملف terraform.tfvars
. إذا أردت تكوين مكونات في نطاقين لإتاحة ، فقم بتحديد أو تعديل أرقام نطاقات الإتاحة.
إذا قمت بتطبيق ملفات تكوين Terraform باستخدام القيم الافتراضية المقترحة بدون إجراء أية تغييرات ، يتم تكوين مكونات البنية الأساسية التالية في نطاقين لإتاحة.
-
Vtn ذو الاسم
psftvcn
ونطاق عنوان IP172.16.0.0/16.
-
ستة عشر أسس فرعية ، ثمانية في كل نطاق إتاحة. ويحتوي كل صافي فرعي على
/24
CIDR. على سبيل المثال:172.16.4.0/24.
يشير العدد المقتبس بكل اسم شبكة فرعية إلى نطاق الإتاحة الذي تم تكوين شبكة فرعية فيه.-
الشبكات الفرعية الخاصة بخوادم التطبيقات ، بالاسم
appsubad1
وappsubad2
. -
الشبكات الفرعية الخاصة بخوادم الويب ، بالاسم
websubad1
وwebsubad2
. -
المصفوفات الفرعية الخاصة لموازن التحميل ، بالاسم
lbsubad1
وlbsubad2
. -
الشبكات الفرعية الخاصة لأنظمة قواعد البيانات ، ذات الاسم
dbsubad1
وdbsubad2
. -
الشبكات الفرعية الخاصة بخوادم ElasticSearch، بالاسم
essubad1
وessubad2
-
الشبكات الفرعية الخاصة لطبعات PeopleTools، بالاسم
toolsssubad1
وtoolssubad2
. -
الشبكات الفرعية الخاصة لخدمة نظام الملفات ، بالاسم
fsssubad1
وfsssubad2
. -
النظارات الفرعية العامة لمضيفات الجذرية ، بالاسم
bassubad1
وbassubad2
.
-
-
جداول التوجيه التالية. تبدأ تسمية DNS الخاصة بـ VCN المحددة في ملف
terraform.tfvars
باسم كل جدول توجيه.-
جدول التوجيه الافتراضي ، الذي لا يحتوي على قواعد.
-
جدول توجيه خاص ،
psftvcnpvtrt,
الذي يحتوي على قواعد توجيه لتوجيه حركة مرور تخزين الوحدة إلى جيت واي الخدمة وكافة الحركات الأخرى لطبعة NAT. -
جدول توجيه عام ،
psftvcnpubrt,
الذي يحتوي على قاعدة توجيه لتوجيه حركة المرور إلى جيت واي الإنترنت.
-
-
قوائم التأمين التالية:
-
قائمة التأمين الافتراضية.
-
قائمة التأمين الخاصة بالشبكة الفرعية لخوادم التطبيقات ، بالاسم
AppSecList
. -
قائمة تأمين للشبكة الفرعية لاستضافة bastion ، بالاسم
BastionSecList
. -
قائمة تأمين للشبكة الفرعية لقاعدة البيانات ، تحمل الاسم
DBSecList
. -
قائمة تأمين للشبكة الفرعية لخادم ElasticSearch، بالاسم
ESSecList
. -
قائمة تأمين للشبكة الفرعية لخادم نظام الملفات ، بالاسم
FSSSecList
. -
قائمة تأمين للشبكة الفرعية لموازن التحميل ، بالاسم
LBSecList
. -
قائمة تأمين شبكة PeopleTools الفرعية ، بالاسم
PToolsSecList
. -
قائمة السرية للشبكة الفرعية لخادم الويب بالاسم
WebSecList
.
-
-
جيت واي إنترنت ، بالاسم
psftvcnigw.
يتم بدء تسمية DNS المحددة في ملفterraform.tfvars
باسم جيت واي الإنترنت. تتصل جيت واي الإنترنت بحافة الشبكة السحابية مع الإنترنت. حركة المرور من Vbn إلى عنوان IP عام خارج VCN تمر عبر جيت واي الإنترنت. -
جيت واي توجيه ديناميكية بالاسم
psftvcndrg.
يتم بدء اسم تسمية DNS المحددة في الملفterraform.tfvars
باسم جيت واي التوجيه الديناميكي. توفر جيت واي التوجيه الديناميكية مسارًا لحركة المرور بين Vbn والوجهات الأخرى بخلاف الإنترنت — على سبيل المثال ، النقل إلى الشبكة المحلية باستخدام IPSec VPN أو Oracle Cloud Infrastructure FastConnect، أو حركة المرور إلى VCN في منطقة أخرى باستخدام شجرة VCN البعيدة. -
جيت واي الخدمة ، بالاسم
psftvcnsvcgtw.
يتم بدء اسم تسمية DNS المحددة في الملفterraform.tfvars
باسم جيت واي الخدمة. تتيح جيت واي الخدمة لـ VCN إمكانية الوصول إلى خدمات Oracle Cloud Infrastructure العامة مثل Oracle Cloud Infrastructure Object Storage ، لكن دون عرض VCN إلى الإنترنت العام. -
طبعات Oracle Cloud Infrastructure Compute التالية ، موزعة في كل من نطاقات الإتاحة. بادئة البيئة المحددة في ملف
terraform.tfvars
مسبوقة باسم كل طبعة والمنطقة ورقم نطاق الإتاحة والعدد مسبوقة. تشتمل كل طبعة على وحدة تخزين تحميل مقترنة بها.-
خوادم التطبيقات. يتم تحديد عدد طبعات خادم التطبيقات المكونة والأشكال الخاصة بها حسب القيم التي تقوم بتحديدها في ملف
terraform.tfvars
. -
مضيفات أساسي.
-
-
نظامي Oracle Cloud Infrastructure Database، أحدهما في كل نطاق متاح. يتم تحديد الاسم والإصدار والتحرير وغير ذلك من الخصائص الخاصة بأنظمة Oracle Cloud Infrastructure Database من خلال القيم التي تحددها في ملف
terraform.tfvars
. يتم تكوين أنظمة Oracle Cloud Infrastructure Database في الشبكة الفرعية لقاعدة البياناتdbsubad1
وdbsubad2.
-
تم تكوين نظام ملفات واحد مستخدَم لإعداد برنامج PeopleSoft. يتم تكوين نظام الملفات في الشبكة الفرعية لنظام الملفات ،
fssubad1
. يتم توصيل نظام الملفات عبر كل طبعات Oracle Cloud Infrastructure Compute . -
رصيد اثنين من التحميل ، أحدهما في كل نطاق إتاحة. بادئة البيئة المحددة في ملف
terraform.tfvars
مسبوقة باسم موازن التحميل والمنطقة والعدد مسبوقة ببادئة. يكون رصيد التحميل موجودًا في الشبكة الفرعية لخوادم الويب ،websubad1
وwebsubad2.
كما يتم تكوين مجموعة النهاية الخلفية والاستماع لموازن التحميل.
تكوين مكونات البنية التحتية باستخدام Terraform
بعد تثبيت المنطقة مع موفر OCI وتعيين متغيرات البيئة على النظام المحلي لديك ، تكون جاهزًا لتطبيق الوحدات النمطية Terraform لتكوين مكونات البنية الأساسية في Oracle Cloud Infrastructure.
- على النظام المحلي الخاص بك ، افتح نهاية طرفية أو قم بتشغيل Windows PowerShell. انتقل إلى الدليل حيث توجد الوحدات النمطية Terraform.
- أدخل:
terraform apply
- عند مطالبتك بتأكيد الإجراء ، أدخل
yes.
Apply complete! Resources: 90 added, 0 changed, 0 destroyed.
في القسم Outputs
من مخرجات الأمر ، تعرض المنطقة عناوين IP العامة والخاصة للطبعات التي تم تكوينها. قم بتدوين عناوين IP للطبعات التي تريد الاتصال بها.
إذا صادفت أية أخطاء ، فيمكنك إصلاح هذه الأخطاء وتشغيل terraform apply
مرة أخرى. تأكد من إعادة تشغيل هذا الأمر في نفس الدليل الذي قمت بتشغيل هذا الأمر في المرة الأولى. تقوم المنطقة بالتحقق من الحالة الحالية للمكونات وتكوين المكونات غير الموجودة. لاحظ أنه في حالة تشغيل Terraform في دليل مختلف أو من نظام محلي مختلف يحتوي على نفس وحدات Terraform ، يتعامل تطبيق Terraform مع ذلك كإعداد جديد ويقوم بتكوين كل الموارد المحددة في ملفات التكوين المختلفة. إذا كنت تريد تشغيل Terraform في دليل مختلف أو نظام محلي لإدارة الموارد الموجودة ، فقم بنسخ ملفات حالة Terraform من الدليل الحالي إلى الدليل أو النظام الجديد. بشكل عام ، ومع ذلك ، ينصح بعدم استخدام Terraform في نظام أو دليل واحد لإدارة المكونات التي تم تكوينها بواسطة Terraform في نظام أو دليل آخر.