المدوَّنة العربية
نقدّم مساحة الأسماء الإقليمية للحساب لحاويات الأغراض العامة في Amazon S3
نقدّم لكم ميزة جديدة في Amazon S3 تتيح لك إنشاء حاويات الأغراض العامة (General Purpose Buckets) ضمن مساحة الأسماء الإقليمية لحسابك (Account Regional Namespace). تُبسّط هذه الميزة عملية إنشاء وإدارة الحاويات مع نمو احتياجاتك التخزينية من حيث الحجم والنطاق، حيث يمكنك إنشاء أسماء حاويات فريدة عبر مناطق AWS متعددة مع ضمان توفّر الأسماء التي تختارها دائماً.
تتيح لك هذه الميزة تسمية وإنشاء حاويات الأغراض العامة بشكل قابل للتنبؤ ضمن مساحة الأسماء الإقليمية لحسابك، وذلك بإضافة اللاحقة (suffix) الفريدة لحسابك إلى اسم الحاوية المطلوب. على سبيل المثال، يمكنك إنشاء حاوية باسم mybucket-123456789012-us-east-1-an ضمن مساحة الأسماء الإقليمية لحسابك. يتكون هذا الاسم من mybucket وهي البادئة (prefix) التي تختارها، تليها اللاحقة الإقليمية لحسابك -123456789012-us-east-1-an. بهذه الطريقة، إذا حاول حساب آخر إنشاء حاوية باستخدام لاحقة حسابك، سيتم رفض الطلب تلقائياً، مما يضمن حماية مساحة الأسماء الخاصة بك.
يمكن لفرق الأمان في مؤسستك استخدام سياسات AWS IAM وسياسات التحكم في الخدمة (Service Control Policies) في AWS Organizations لفرض إنشاء الحاويات ضمن مساحة الأسماء الإقليمية للحساب فقط. يتم ذلك باستخدام مفتاح الشرط (Condition Key) الجديد s3:x-amz-bucket-namespace، مما يساعد على اعتماد هذه الممارسة بشكل موحّد عبر مؤسستك بالكامل.
إنشاء حاوية S3 الخاصة بك مع مساحة الأسماء الإقليمية للحساب
للبدء، اختر Create bucket في وحدة تحكم Amazon S3. لإنشاء حاويتك ضمن مساحة الأسماء الإقليمية لحسابك، اختر Account regional namespace. عند اختيار هذا الخيار، يمكنك إنشاء حاويتك بأي اسم فريد ضمن حسابك ومنطقتك.
يدعم هذا التكوين جميع الميزات نفسها المتوفرة في حاويات الأغراض العامة ضمن مساحة الأسماء العالمية. الفرق الوحيد هو أن حسابك فقط يمكنه استخدام أسماء الحاويات التي تحتوي على لاحقة حسابك. يجب أن يتراوح مجموع طول بادئة اسم الحاوية واللاحقة الإقليمية للحساب بين 3 و63 حرفاً.

باستخدام AWS CLI، يمكنك إنشاء حاوية ضمن مساحة الأسماء الإقليمية للحساب بتحديد ترويسة الطلب x-amz-bucket-namespace:account-regional وتوفير اسم حاوية متوافق.
$ aws s3api create-bucket --bucket mybucket-123456789012-us-east-1-an \
--bucket-namespace account-regional \
--region us-east-1
يمكنك استخدام AWS SDK for Python (Boto3) لإنشاء حاوية ضمن مساحة الأسماء الإقليمية للحساب باستخدام API CreateBucket.
import boto3
class AccountRegionalBucketCreator:
"""Creates S3 buckets using account-regional namespace feature."""
ACCOUNT_REGIONAL_SUFFIX = "-an"
def __init__(self, s3_client, sts_client):
self.s3_client = s3_client
self.sts_client = sts_client
def create_account_regional_bucket(self, prefix):
"""
Creates an account-regional S3 bucket with the specified prefix.
Resolves caller AWS account ID using the STS GetCallerIdentity API.
Format: ---an
"""
account_id = self.sts_client.get_caller_identity()['Account']
region = self.s3_client.meta.region_name
bucket_name = self._generate_account_regional_bucket_name(
prefix, account_id, region
)
params = {
"Bucket": bucket_name,
"BucketNamespace": "account-regional"
}
if region != "us-east-1":
params["CreateBucketConfiguration"] = {
"LocationConstraint": region
}
return self.s3_client.create_bucket(**params)
def _generate_account_regional_bucket_name(self, prefix, account_id, region):
return f"{prefix}-{account_id}-{region}{self.ACCOUNT_REGIONAL_SUFFIX}"
if __name__ == '__main__':
s3_client = boto3.client('s3')
sts_client = boto3.client('sts')
creator = AccountRegionalBucketCreator(s3_client, sts_client)
response = creator.create_account_regional_bucket('test-python-sdk')
print(f"Bucket created: {response}")
يمكنك تحديث أدوات البنية التحتية كرمز (Infrastructure as Code) الخاصة بك، مثل AWS CloudFormation، لتبسيط إنشاء الحاويات ضمن مساحة الأسماء الإقليمية لحسابك. يوفر AWS CloudFormation المعاملات الزائفة (Pseudo Parameters) AWS::AccountId وAWS::Region، مما يسهل بناء قوالب CloudFormation التي تنشئ حاويات ضمن مساحة الأسماء الإقليمية للحساب.
يوضح المثال التالي كيف يمكنك تحديث قوالب CloudFormation الموجودة لديك لإنشاء حاويات ضمن مساحة الأسماء الإقليمية لحسابك:
BucketName: !Sub "amzn-s3-demo-bucket-${AWS::AccountId}-${AWS::Region}-an"
BucketNamespace: "account-regional"
بدلاً من ذلك، يمكنك استخدام خاصية BucketNamePrefix لتحديث قالب CloudFormation الخاص بك. باستخدام BucketNamePrefix، يمكنك توفير البادئة المخصصة فقط من اسم الحاوية، وسيتم إضافة لاحقة مساحة الأسماء الإقليمية للحساب تلقائياً بناءً على حساب AWS والمنطقة المحددة.
BucketNamePrefix: 'amzn-s3-demo-bucket'
BucketNamespace: "account-regional"
باستخدام هذه الخيارات، يمكنك بناء قالب CloudFormation مخصص لإنشاء حاويات الأغراض العامة بسهولة ضمن مساحة الأسماء الإقليمية لحسابك.
معلومات هامة
لا يمكنك إعادة تسمية حاوياتك العالمية الموجودة إلى أسماء حاويات ضمن مساحة الأسماء الإقليمية للحساب، ولكن يمكنك إنشاء حاويات جديدة للأغراض العامة ضمن مساحة الأسماء الإقليمية لحسابك. مساحة الأسماء الإقليمية للحساب مدعومة فقط لحاويات الأغراض العامة. حاويات S3 Tables وحاويات S3 Vectors موجودة بالفعل ضمن مساحة أسماء على مستوى الحساب، بينما حاويات S3 Directory موجودة ضمن مساحة أسماء منطقية.
لمعرفة المزيد، قم بزيارة مساحات الأسماء لحاويات الأغراض العامة في دليل مستخدم Amazon S3.
متاح الآن
إنشاء حاويات الأغراض العامة ضمن مساحة الأسماء الإقليمية لحسابك في Amazon S3 متاح الآن في 37 منطقة AWS بما في ذلك مناطق AWS China وAWS GovCloud (US). يمكنك إنشاء حاويات الأغراض العامة ضمن مساحة الأسماء الإقليمية لحسابك بدون تكلفة إضافية.
جربها في وحدة تحكم Amazon S3 اليوم وأرسل تعليقاتك إلى AWS re:Post لـ Amazon S3 أو من خلال جهات اتصال دعم AWS المعتادة لديك.