Важно отделить концепцию region
, которая похожа на eu-west-1, us-gov-east-1
, и на зоны доступности нравится eu-west-1a
. Регионы указывают общее местоположение, например, страну или штат. В пределах каждого региона обычно есть 3 зоны доступности, которые обозначены буквами и указывают географическое местоположение. Это позволяет вам гарантировать более высокую доступность. Узнайте больше в Интернете, как здесь .
Области в Python
Вы можете исправить это на стороне Python, используя предложение @Orest Gulman:
ec2_euwest = boto3.resource('ec2', region_name="eu-west-1")
ec2_usgoveast1 = boto3.resource('ec2', region_name="us-gov-east-1")
Областипо конфигурации
Но вы также можете решить эту проблему в user\.aws\credentials
, указав
[default]
aws_access_key_id=<yourkeyid>
aws_secret_access_key=<yoursecretkey>
[euwest]
role_arn=<ifwanted>
source_profile=default
region=eu-west-1
[usgov]
role_arn=<ifwanted>
source_profile=default
region=us-gov-east-1
, а затем подключиться, используя различные сеансы
session = boto3.session.Session(profile_name='euwest')
ec2_euwest1 = session.resource('ec2')
Зоны доступности в python
Чтобы создать экземпляр ec2 в указанной зоне доступности, вы делаете это во время запуска.
session = boto3.session.Session(profile_name='euwest')
ec2_euwest = session.resource('ec2')
ec2_euwest.create_instances(
ImageId='ami-00b6a8a2bd28daf19',
MinCount=1,
MaxCount=2,
InstanceType='t2.micro',
KeyName='ec2-keypair'
Placement={
'AvailabilityZone': 'eu-west-1c',
}
)