-
単一インスタンス環境 (Single-instance environment):
- 1つのEC2インスタンス上にアプリケーションをデプロイします。
- シンプルなWebアプリケーションやテスト環境に適しています。
- コード例:
resources: AWSEBInstanceProvisioner: Type: AWS::AutoScaling::LaunchConfiguration Properties: ImageId: ami-xxxxxxxx InstanceType: t2.micro
-
ロードバランス環境 (Load-balanced environment):
- 複数のEC2インスタンスにアプリケーションをデプロイし、ロードバランサーでトラフィックを分散します。
- 高可用性とスケーラビリティが求められる本番環境に適しています。
- コード例:
resources: AWSEBAutoScalingGroup: Type: AWS::AutoScaling::AutoScalingGroup Properties: MinSize: 2 MaxSize: 4 DesiredCapacity: 2 LoadBalancerNames: - !Ref AWSEBLoadBalancer
-
マルチコンテナ環境 (Multi-container environment):
- Dockerコンテナを使用してアプリケーションをデプロイします。
- 複数のコンテナを実行することで、異なるサービスやコンポーネントを組み合わせたアプリケーションを構築できます。
- コード例:
AWSEBAutoScalingGroup: Type: AWS::AutoScaling::AutoScalingGroup Properties: MinSize: 2 MaxSize: 4 DesiredCapacity: 2 LaunchConfigurationName: !Ref AWSEBContainerLaunchConfig AWSEBContainerLaunchConfig: Type: AWS::AutoScaling::LaunchConfiguration Properties: ImageId: ami-xxxxxxxx InstanceType: t2.micro UserData: Fn::Base64: !Sub | #!/bin/bash echo ECS_CLUSTER=${AWS::StackName}-cluster >> /etc/ecs/ecs.config
以上が主要なAWS Elastic Beanstalkの環境ティアとその使い方の概要です。適切な環境ティアを選択し、必要に応じてコード例をカスタマイズして利用してください。