type
status
date
slug
summary
tags
category
icon
password
书籍
コンテナサービスは、素早いサービス提供や環境変更のテストに非常に役立ちます。AWSのECSはコンテナ実行環境を提供するサービスであり、サーバーの管理やデプロイの手間を省き、コンテナの実行をスムーズに行い、シームレスなスケーリングを実現します。
この記事では、このサイトを構築する手順を紹介します。
手順通りにやっていけば、ただ30分で、素敵なサイトを作ることができます。
WordPress in ECS
このサイトはWordPress in AWS ECSという構造で作っています。
WordPress in AWS ECSサイトを構築する前に、必要な概念について紹介します。
コンテナ:
コンテナは、アプリケーションを実行するための軽量な仮想化技術です。コンテナには、アプリケーションとその依存関係がパッケージ化され、オペレーティングシステムのリソースを共有しながら独立して実行されます。つまり、異なる環境でもアプリケーションを一貫して動作させることができます。
ECS (Elastic Container Service):
ECSは、AWSが提供するマネージドコンテナオーケストレーションサービスです。これにより、コンテナ化されたアプリケーションを簡単にデプロイ、実行、スケーリングできます。ECSは、自己管理型のEC2インスタンス上でコンテナを実行する「EC2 launch type」と、サーバーレスのコンテナ実行環境である「Fargate launch type」の2つのモードをサポートしています。
AWS Fargate:
AWS Fargateは、コンテナ実行環境を提供するAWSのマネージドサービスです。Fargateを使用すると、EC2インスタンスをプロビジョニングする必要がなく、サーバーの管理が不要でコンテナを実行できます。Fargateは従量課金制であり、使用した分だけ料金が発生します。また、ELBやCloudWatch、IAMなどのAWSサービスとも連携できます。
WordPress:
WordPressは、世界中で広く使用されているオープンソースのコンテンツ管理システム(CMS)です。WordPressを使用すると、ユーザーはブログやウェブサイトを簡単に作成、管理できます。WordPressは、プラグインやテーマを利用して機能を拡張でき、柔軟性が高いのが特徴です。
AWS ECSを利用したWordPressコンテナサイト構築ハンズオン

■使用するAWSサービス一覧
- Amazon coloud formation
- Amazon VPC
- Amazon RDS MYSQL
- Amazon EFS
- Amazon ECS
- Elastic Load Balancing
- Amazon Route 53
- Amazon Certificate Manager
①構築手順確認
- Cloud formationで,VPC作成
- Cloud formationで,RDS作成
- Cloud formationで,SG作成
- Cloud formationで,EF作成
- ECSクラスタを作成
- ECSタスクを定義
- ECSサービスを生成
- ドメインプロバイダでドメイン無料購入
- Route53を作成
- Route53とお名前ドットコムの結びつき
- Certificate ManagerでSSL/TLS証明書
- WordPressにログイン
②VPC作成
まずはVPCから作成していきます。
ます、まず、使用するリージョンを確認しましょう。皆さんは自身に近いリージョンを選択しましょう!
AWSマネージメントコンソールのCloud Formation画面で、VPCテンプレートを使って、サブネットやルートテーブル、インターネットゲートウェイなどを一括して作成できます。この方法は簡便ですが、テンプレートによって何が生成されるか、認識しときましょう!必要な設定値は以下の通りです。
- パラメータシート
項目 | リソース | 設定値 |
パラメータ | ㅤ | ㅤ |
ㅤ | VPCStack | デフォルト: VPC-10 |
ㅤ | DBUser | デフォルト: dbmaster |
ㅤ | DBPassword | デフォルト: (非表示) 1214567qaz |
リソース | ㅤ | ㅤ |
ㅤ | CFnVPC | タイプ: AWS::EC2::VPC |
ㅤ | ㅤ | - CIDRブロック: 10.0.0.0/16 |
ㅤ | ㅤ | - InstanceTenancy: default |
ㅤ | ㅤ | - EnableDnsSupport: true |
ㅤ | ㅤ | - EnableDnsHostnames: true |
ㅤ | ㅤ | - タグ: Name - handson-cfn |
ㅤ | PublicSubnet1 | タイプ: AWS::EC2::Subnet |
ㅤ | ㅤ | - CIDRブロック: 10.0.0.0/24 |
ㅤ | ㅤ | - VpcId: CFnVPCへの参照 |
ㅤ | ㅤ | - AvailabilityZone: 1番目の利用可能ゾーン |
ㅤ | ㅤ | - MapPublicIpOnLaunch: true |
ㅤ | ㅤ | - タグ: Name - PublicSubnet1 |
ㅤ | PublicSubnet2 | タイプ: AWS::EC2::Subnet |
ㅤ | ㅤ | - CIDRブロック: 10.0.1.0/24 |
ㅤ | ㅤ | - VpcId: CFnVPCへの参照 |
ㅤ | ㅤ | - AvailabilityZone: 2番目の利用可能ゾーン |
ㅤ | ㅤ | - MapPublicIpOnLaunch: true |
ㅤ | ㅤ | - タグ: Name - PublicSubnet2 |
ㅤ | PrivateSubnet1 | タイプ: AWS::EC2::Subnet |
ㅤ | ㅤ | - CIDRブロック: 10.0.2.0/24 |
ㅤ | ㅤ | - VpcId: CFnVPCへの参照 |
ㅤ | ㅤ | - AvailabilityZone: 1番目の利用可能ゾーン |
ㅤ | ㅤ | - タグ: Name - PrivateSubnet1 |
ㅤ | PrivateSubnet2 | タイプ: AWS::EC2::Subnet |
ㅤ | ㅤ | - CIDRブロック: 10.0.3.0/24 |
ㅤ | ㅤ | - VpcId: CFnVPCへの参照 |
ㅤ | ㅤ | - AvailabilityZone: 2番目の利用可能ゾーン |
ㅤ | ㅤ | - タグ: Name - PrivateSubnet2 |
ㅤ | CFnVPCIGW | タイプ: AWS::EC2::InternetGateway |
ㅤ | ㅤ | - タグ: Name - handson-cfn |
ㅤ | CFnVPCIGWAttach | タイプ: AWS::EC2::VPCGatewayAttachment |
ㅤ | ㅤ | - InternetGatewayId: CFnVPCIGWへの参照 |
ㅤ | ㅤ | - VpcId: CFnVPCへの参照 |
ㅤ | PublicRouteTable | タイプ: AWS::EC2::RouteTable |
ㅤ | ㅤ | - VpcId: CFnVPCへの参照 |
ㅤ | ㅤ | - タグ: Name - Public Route |
ㅤ | PublicRoute | タイプ: AWS::EC2::Route |
ㅤ | ㅤ | - DependsOn: CFnVPCIGW |
ㅤ | ㅤ | - RouteTableId: PublicRouteTableへの参照 |
ㅤ | ㅤ | - DestinationCidrBlock: 0.0.0.0/0 |
ㅤ | ㅤ | - GatewayId: CFnVPCIGWへの参照 |
ㅤ | PublicSubnet1Association | タイプ: AWS::EC2::SubnetRouteTableAssociation |
ㅤ | ㅤ | - SubnetId: PublicSubnet1への参照 |
ㅤ | ㅤ | - RouteTableId: PublicRouteTableへの参照 |
ㅤ | PublicSubnet2Association | タイプ: AWS::EC2::SubnetRouteTableAssociation |
ㅤ | ㅤ | - SubnetId: PublicSubnet2への参照 |
ㅤ | ㅤ | - RouteTableId: PublicRouteTableへの参照 |
出力 | ㅤ | ㅤ |
ㅤ | VPCID | 説明: VPC ID |
ㅤ | ㅤ | 値: CFnVPCへの参照 |
ㅤ | ㅤ | エクスポート: |
ㅤ | ㅤ | - 名前: AWS::StackName-VPCID |
ㅤ | PublicSubnet1 | 説明: PublicSubnet1 |
ㅤ | ㅤ | 値: PublicSubnet1への参照 |
ㅤ | ㅤ | エクスポート: |
ㅤ | ㅤ | - 名前: AWS::StackName-PublicSubnet1 |
ㅤ | PublicSubnet2 | 説明: PublicSubnet2 |
ㅤ | ㅤ | 値: PublicSubnet2への参照 |
ㅤ | ㅤ | エクスポート: |
ㅤ | ㅤ | - 名前: AWS::StackName-PublicSubnet2 |
ㅤ | PrivateSubnet1 | 説明: PrivateSubnet1 |
ㅤ | ㅤ | 値: PrivateSubnet1への参照 |
ㅤ | ㅤ | エクスポート: |
ㅤ | ㅤ | - 名前: AWS::StackName-PrivateSubnet1 |
ㅤ | PrivateSubnet2 | 説明: PrivateSubnet2 |
ㅤ | ㅤ | 値: PrivateSubnet2への参照 |
ㅤ | ㅤ | エクスポート: |
ㅤ | ㅤ | - 名前: AWS::StackName-PrivateSubnet2 |
- 01-VPC.yuml
- 操作手順
コンソールから、Cloud Formationを検索し、Cloud Formation画面で、10-VPCymlファイルをアップロードし、VPCを作成しましょう
1.AWS マネジメントコンソールにサインインします。
2.メニューから「サービス」を選択し、「CloudFormation」を検索します。
3.CloudFormationのダッシュボードが表示されたら、「スタックの作成」をクリックします。

4.「新しいリソースのテンプレートの作成」オプションを選択します。
5.「ファイルのアップロード」を選択し、ローカルに保存されている10-VPC.ymlファイルを選択します。
6.ファイルをアップロードしたら、「次へ」をクリックします。

スタックの詳細を入力します。スタック名や必要に応じてパラメータを設定します。
「次へ」をクリックします。

オプションのタグを追加したり、スタックポリシーを設定したりする場合はそれを行います。不要であれば、このステップをスキップできます。

最後に、「スタックの作成」をクリックします。

③RDS作成
AWSマネージメントコンソールのCloud Formation画面で、VPCテンプレートを使って、サブネットやルートテーブル、インターネットゲートウェイなどを一括して作成できます。この方法は簡便ですが、テンプレートによって何が生成されるか、認識しときましょう!必要な設定値は以下の通りです。
- パラメータシート
項目 | リソース | 設定値 |
パラメータ | ㅤ | ㅤ |
ㅤ | VPCStack | デフォルト値: VPC-10 |
ㅤ | DBUser | デフォルト値: dbmaster |
ㅤ | DBPassword | デフォルト値: (非表示) 1214567qaz |
リソース | ㅤ | ㅤ |
ㅤ | DBInstance | ㅤ |
ㅤ | ㅤ | タイプ: AWS::RDS::DBInstance |
ㅤ | ㅤ | 削除ポリシー: Delete |
ㅤ | ㅤ | DBInstanceClass: db.t3.micro |
ㅤ | ㅤ | AllocatedStorage: "10" |
ㅤ | ㅤ | StorageType: gp2 |
ㅤ | ㅤ | Engine: MySQL |
ㅤ | ㅤ | MasterUsername: DBUserへの参照 |
ㅤ | ㅤ | MasterUserPassword: DBPasswordへの参照 (非表示) |
ㅤ | ㅤ | DBName: wordpress |
ㅤ | ㅤ | BackupRetentionPeriod: 0 |
ㅤ | ㅤ | DBSubnetGroupName: DBSubnetGroupへの参照 |
ㅤ | ㅤ | VPCSecurityGroups: DBSecurityGroupへの参照 |
ㅤ | DBSubnetGroup | ㅤ |
ㅤ | ㅤ | タイプ: AWS::RDS::DBSubnetGroup |
ㅤ | ㅤ | DBSubnetGroupDescription: DB Subnet Group for Private Subnet |
ㅤ | ㅤ | SubnetIds: |
ㅤ | ㅤ | - Fn::ImportValue: VPCStack-PrivateSubnet1への参照 |
ㅤ | ㅤ | - Fn::ImportValue: VPCStack-PrivateSubnet2への参照 |
ㅤ | DBSecurityGroup | ㅤ |
ㅤ | ㅤ | タイプ: AWS::EC2::SecurityGroup |
ㅤ | ㅤ | GroupDescription: AWS::StackName-MySQL |
ㅤ | ㅤ | VpcId: Fn::ImportValue: VPCStack-VPCIDへの参照 |
ㅤ | ㅤ | SecurityGroupIngress: |
ㅤ | ㅤ | - IpProtocol: tcp |
ㅤ | ㅤ | FromPort: 3306 |
ㅤ | ㅤ | ToPort: 3306 |
ㅤ | ㅤ | CidrIp: 10.0.0.0/16 |
出力 | ㅤ | ㅤ |
ㅤ | DBEndpoint | Value: DBInstance.Endpoint.Addressからの取得 |
ㅤ | ㅤ | Export: Name: AWS::StackName-DBEndpoint |
- 02-RDS.yml
- 操作手順
1.AWS マネジメントコンソールにサインインします。
2.メニューから「サービス」を選択し、「CloudFormation」を検索します。
3.CloudFormationのダッシュボードが表示されたら、「スタックの作成」をクリックします
4.新しいリソースのテンプレートの作成」オプションを選択します。
5.「ファイルのアップロード」を選択し、ローカルに保存されている20-RDS.ymlファイルを選択します。
6.ファイルをアップロードしたら、「次へ」をクリックします。

スタックの詳細を入力します。スタック名や必要に応じてパラメータを設定します。
「次へ」をクリックします。

オプションのタグを追加したり、スタックポリシーを設定したりする場合はそれを行います。不要であれば、このステップをスキップできます。

最後に、「スタックの作成」をクリックします。

④SG作成
AWSマネージメントコンソールのCloud Formation画面で、SGテンプレートを使って、各セキュリティグループを一括して作成できます。この方法は簡便ですが、テンプレートによって何が生成されるか、認識しときましょう!必要な設定値は以下の通りです。
- パラメータシート
項目 | リソース | 設定値 |
パラメータ | ㅤ | ㅤ |
ㅤ | VPCStack | デフォルト値: VPC-10 |
ㅤ | ㅤ | 説明: VPCのスタック名 |
リソース | ㅤ | ㅤ |
ㅤ | ALBSecurityGroup | ㅤ |
ㅤ | ㅤ | タイプ: AWS::EC2::SecurityGroup |
ㅤ | ㅤ | グループ説明: "ALB Security Group" |
ㅤ | ㅤ | VpcId: !ImportValue Fn::Sub: "${VPCStack}-VPCID" |
ㅤ | ㅤ | セキュリティグループイングレス: |
ㅤ | ㅤ | - IpProtocol: tcp |
ㅤ | ㅤ | FromPort: 80 |
ㅤ | ㅤ | ToPort: 80 |
ㅤ | ㅤ | CidrIp: "0.0.0.0/0" |
ㅤ | ㅤ | - IpProtocol: tcp |
ㅤ | ㅤ | FromPort: 443 |
ㅤ | ㅤ | ToPort: 443 |
ㅤ | ㅤ | CidrIp: "0.0.0.0/0" |
ㅤ | EFSSecurityGroup | ㅤ |
ㅤ | ㅤ | タイプ: AWS::EC2::SecurityGroup |
ㅤ | ㅤ | グループ説明: "EFS Security Group" |
ㅤ | ㅤ | VpcId: !ImportValue Fn::Sub: "${VPCStack}-VPCID" |
ㅤ | ㅤ | セキュリティグループイングレス: |
ㅤ | ㅤ | - IpProtocol: tcp |
ㅤ | ㅤ | FromPort: 2049 |
ㅤ | ㅤ | ToPort: 2049 |
ㅤ | ㅤ | SourceSecurityGroupId: !Ref ALBSecurityGroup |
ㅤ | RDSSecurityGroup | ㅤ |
ㅤ | ㅤ | タイプ: AWS::EC2::SecurityGroup |
ㅤ | ㅤ | グループ説明: "RDS Security Group" |
ㅤ | ㅤ | VpcId: !ImportValue Fn::Sub: "${VPCStack}-VPCID" |
ㅤ | ㅤ | セキュリティグループイングレス: |
ㅤ | ㅤ | - IpProtocol: tcp |
ㅤ | ㅤ | FromPort: 3306 |
ㅤ | ㅤ | ToPort: 3306 |
ㅤ | ㅤ | SourceSecurityGroupId: !Ref ALBSecurityGroup |
- 30-SG.yml
- 操作手順
AWS マネジメントコンソールにサインインします。
メニューから「サービス」を選択し、「CloudFormation」を検索します。
CloudFormationのダッシュボードが表示されたら、「スタックの作成」をクリックします。

「新しいリソースのテンプレートの作成」オプションを選択します。
「ファイルのアップロード」を選択し、ローカルに保存されている30-SG.ymlファイルを選択します。
ファイルをアップロードしたら、「次へ」をクリックします。

スタックの詳細を入力します。スタック名や必要に応じてパラメータを設定します。
「次へ」をクリックします。

オプションのタグを追加したり、スタックポリシーを設定したりする場合はそれを行います。不要であれば、このステップをスキップできます。

最後に、「スタックの作成」をクリックします。

⑤EFS作成
- パラメータシート
項目 | 説明 | 設定値 |
EFSCreate | AWS EFS ファイルシステム | - FileSystemTags: - Key: Name Value: ecs-handson-efs - PerformanceMode: generalPurpose - ThroughputMode: bursting - Encrypted: false |
EFSMountTargetSecurityGroup | EFS マウントターゲット用 EC2 セキュリティグループ | - GroupDescription: EFS マウントターゲット用セキュリティグループ - VpcId: ImportValue(VPCStackName-VPCID) - SecurityGroupIngress: - IpProtocol: tcp FromPort: 2049 ToPort: 2049 CidrIp: 0.0.0.0/0 |
EFSMountTarget1 | AWS EFS マウントターゲット #1 | - FileSystemId: 参照(EFSCreate) - SecurityGroups: 参照(EFSMountTargetSecurityGroup) - SubnetId: ImportValue(VPCStackName-PublicSubnet1) |
EFSMountTarget2 | AWS EFS マウントターゲット #2 | - FileSystemId: 参照(EFSCreate) - SecurityGroups: 参照(EFSMountTargetSecurityGroup) - SubnetId: ImportValue(VPCStackName-PublicSubnet2) |
EFSInboundRule | EFS マウントターゲットセキュリティグループのインバウンドルール | - GroupId: 参照(EFSMountTargetSecurityGroup) - IpProtocol: tcp - FromPort: 2049 - ToPort: 2049 - CidrIp: 0.0.0.0/0 |
- 40-EFS.yml
- 操作手順
AWS マネジメントコンソールにサインインします。
メニューから「サービス」を選択し、「CloudFormation」を検索します。
CloudFormationのダッシュボードが表示されたら、「スタックの作成」をクリックします。

「新しいリソースのテンプレートの作成」オプションを選択します。
「ファイルのアップロード」を選択し、ローカルに保存されている40-EFS.ymlファイルを選択します。
ファイルをアップロードしたら、「次へ」をクリックします。

スタックの詳細を入力します。スタック名や必要に応じてパラメータを設定します。
「次へ」をクリックします。

オプションのタグを追加したり、スタックポリシーを設定したりする場合はそれを行います。不要であれば、このステップをスキップできます。

最後に、「スタックの作成」をクリックします

これまではCloud Formationを通じて、VPC、RDS、SG、EFSを作成しました。次はECS操作画面に入って、ECSを作成しましょう!

⑥ECSを作成
Amazon ECSとAWS Fargateは、どちらもコンテナを管理するためのサービスですが、役割や利用方法には違いがあります。
Amazon ECSは、コンテナを実行するためのクラウド上のマネージドサービスです。これにより、コンテナ化されたアプリケーションを簡単にデプロイ、管理、スケーリングすることができます。ECSを使うと、自分でEC2インスタンスをプロビジョニングする必要がありますが、その分、細かい設定やカスタマイズが可能です。
一方、AWS Fargateは、ECSと同様にコンテナを実行するためのサービスですが、EC2インスタンスの管理が不要です。Fargateはサーバレスのアプローチであり、コンテナを実行するためのインフラストラクチャを自動的に管理します。つまり、コンテナの実行に必要なリソースが自動的に割り当てられ、アプリケーションの運用や管理に集中できます。
したがって、Amazon ECSはコンテナの実行環境を提供し、AWS Fargateはその実行環境を管理するためのサービスと捉えることができます。ECSを利用する場合は、EC2インスタンスを自分で管理する必要がありますが、Fargateを利用する場合は、その部分をAWSに任せることができます。
ECSの構成要素を明確に理解することで、ECSクラスターを作成するのが簡単になります。以下に、各リソースの違いと役割を説明します。
タスク定義:
タスクを構成するコンテナ群を定義します。これには、コンテナのイメージ場所、要求CPU&メモリ、IAMロール、ネットワークモードなどが含まれます。
クラスター:
ECSの実行環境の境界を形成します。つまり、タスクが実行される場所です。また、クラスターごとに異なるIAM権限を設定でき、スケジュールされたタスクの実行を管理できます。
サービス:
一定数のタスク実行コピー(n個)を起動し、起動後もそのコピー数を維持します。ECSサービスは、Elastic Load Balancing (ELB) と連携してトラフィックを配分し、起動タイプ(EC2やFargateなど)を設定します。
タスク:
タスク定義に基づいて起動されるコンテナ群です。各タスク内のコンテナは同一ホスト上で実行されます。
これらの要素を理解することで、ECSクラスターを適切に構築し、コンテナ化されたアプリケーションを効果的にデプロイ、管理、スケーリングすることができます。
それでは、作成していきましょう!
EC2クラスタを作成
最初にクラスターを作成します。クラスターは、コンテナを実行するための論理的なグループです。必要な設定は以下の通りです。
項目 | 設定値 |
クラスター名 | ecs-wordpress-cluster |
VPC | ecs-wordpress-vpc |
サブネット | ap-southeast-1a,ap-southeast-1cに作成したパブリックサブネット |
インフラストラクチャ | AWS Fargate |
- 操作手順
メニューから「サービス」を選択し、「ECS」(Elastic Container Service)を選択します。
ECSのダッシュボードが表示されたら、「タスク定義」を選択します。
「タスク定義の作成」をクリックします。

クラスタの設定画面で、「ネットワーキングとVPC」を選択します。ここで、新しいVPCを作成するか、既存のVPCを選択します。
「クラスタの作成方法」で「Fargate」を選択します。
「クラスタの名前」を入力します。必要に応じて、タグを追加します。
クラスタの作成が完了するまで数分待ちます。

クラスタが作成されたら、必要なサービスやタスク定義を作成して、Fargateクラスタを使用してコンテナを実行できます。
これで、Fargateクラスタが作成され、コンテナの実行環境が整いました。必要に応じて、クラスタの設定やリソースの管理を行うことができます。
EC2タスクを定義
次にタスク定義を作成します。タスク定義は、タスクを構成するコンテナのグループの定義であり、タスクの実行方法やコンテナイメージ、CPU、メモリなどの設定を指定します。
以下は設定する値です。
項目 | 設定値 | 備考 |
起動タイプ | FARGATE | ㅤ |
タスク定義名 | wordpress | ㅤ |
オペレーティングシステムファミリー | Linux | ホストが使用するOS |
タスク実行ロール | ecsTaskExecutionRole | イメージをpullやログ送信に必要 |
タスクメモリ | 2GB | ビジネス要件に合わせて自己判断 |
タスクCPU | 1 vCPU | ビジネス要件に合わせて自己判断 |
メニューから「サービス」を選択し、「ECS」(Elastic Container Service)を選択します。
ECSのダッシュボードが表示されたら、「タスク定義」を選択します。

作成手順:
「タスク定義ファミリー情報」で、一意のタスク定義ファミリー名を入力します。例えば、"ecs-wordpress-task" などの名前を入力します。
「リビジョン」で、新しいリビジョンを作成する場合は数字をインクリメントします。ここでは「2」を入力します。
「インフラストラクチャの要件」で、起動タイプとして「AWS Fargate」を選択します。
「OS、アーキテクチャ、ネットワークモード」で、オペレーティングシステムとネットワークモードを指定します。通常は「Linux/X86_64」と「awsvpc」を選択します。
「タスクサイズ情報」で、タスクに予約する CPU とメモリの量を指定します。例えば、CPU に「1 vCPU」、メモリに「2 GB」を指定します。
「タスク IAM ロール」で、必要に応じてタスク IAM ロールを選択します。デフォルトの設定を使用する場合は、「なし」を選択します。
「コンテナ - 1 情報」で、コンテナの詳細を設定します。
「名前」にコンテナの名前を入力します。例えば、"wordpress" などの名前を入力します。
「イメージ URI」にコンテナイメージのURIを入力します。例えば、"wordpress:latest" などを指定します。
「必須コンテナ」には「はい」を選択します。
「ポートマッピング情報」で、コンテナがホストのポートにアクセスしてトラフィックを送受信できるようにポートマッピングを設定します。例えば、コンテナポートに「80」、プロトコルに「TCP」を指定します。
「環境変数 - オプション」で、必要に応じて環境変数を設定します。キーと値のペアを追加します。例えば、WordPress のデータベース情報や認証キーなどを設定します。具体的な設定の仕方は下記*********************のところを参照してください。
「読み取り専用ルートファイルシステム情報」で、必要に応じて読み取り専用の設定を行います。
「ストレージ - オプション」で、必要に応じてストレージ設定を行います。例えば、エフェメラルストレージ情報やボリューム情報を追加します。
設定が完了したら、「作成」をクリックします。
環境変数設定の方法
次に、環境項目で環境変数を設定します。WordPressの場合、データベースとクッキー情報の保護に関する環境変数の設定が必要です。設定値は以下の通りです。
項目 | 設定値 |
WORDPRESS_DB_HOST | ライターインスタンスのエンドポイント |
WORDPRESS_DB_NAME | ecs_handson_database(任意で設定したもの) |
WORDPRESS_DB_USER | admin(任意で設定したもの) |
WORDPRESS_DB_PASSWORD | xxxxxx(任意で設定したもの) |
WORDPRESS_AUTH_KEY | 下記URLの生成値 |
WORDPRESS_SECURE_AUTH_KEY | 下記URLの生成値 |
WORDPRESS_LOGGED_IN_KEY | 下記URLの生成値 |
WORDPRESS_NONCE_KEY | 下記URLの生成値 |
WORDPRESS_AUTH_SALT | 下記URLの生成値 |
WORDPRESS_SECURE_AUTH_SALT | 下記URLの生成値 |
WORDPRESS_LOGGED_IN_SALT | 下記URLの生成値 |
WORDPRESS_NONCE_SALT | 下記URLの生成値 |
WordPressのセキュリティキーはデフォルトで設定されていますが、タスクが起動するたびに自動的に生成されるため、タスクが再起動するとログイン状態が失われてしまいます。新しいセキュリティキーを生成し、環境変数として設定することで、ログイン状態を保持することができます。
セキュリティキーは以下のURLから生成できます:WordPress キー生成
これで、ECS Fargateタスク定義が作成されました。必要に応じて、タスク定義の詳細を編集したり、新しいバージョンを作成したりすることができます。









- ECSダッシュボードに移動: サービスを作成するために、ECSダッシュボードに移動します。
- クラスターを選択: サービスを作成するためのクラスターを選択します。
- サービスの作成: クラスターが選択されたら、"Create"をクリックして新しいサービスを作成します。

以下はECSサービスを作成するパラメータです:
項目 | 設定値 | 備考 |
コンピューティング設定 | キャパシティープロバイダー戦略 | ㅤ |
アプリケーションタイプ | サービス | ㅤ |
ファミリー | wordpress | コンテナ名です |
サービス名 | ecs-handson-wordpress | ㅤ |
必要タスク | 0 | 一旦0で入力 |
これらの手順に従って、ECSサービスを作成します。




サービスの立ち上げが完了すれば、target groupの健康検査設定値を200,302に設定し直す
⑦target groupの設定し直し
1.ターゲットグループの選択:
システム内のメインメニューから「設定」または「管理」セクションに移動し、ターゲットグループを特定して選択します。

2.現在の設定値の確認:
選択したターゲットグループの健康検査設定値を確認します。
通常は、この情報は「設定」または「プロファイル」の下に見つけることができます。
健康検査設定値の変更:
ターゲットグループの健康検査設定値を変更するために、適切なオプションまたはメニュー項目を探します。
一般的には、このような設定は「プロファイル編集」または「設定の変更」などの項目の下にあります。

3.「200」と「302」の設定値への変更:
適切なフィールドまたはオプションを見つけて、「200」と入力されている値を「302」に変更します。
変更を行う際には、入力した値が正しいことを確認してください。
変更の保存:
新しい設定値を入力したら、変更を保存するための適切なボタンまたはオプションをクリックします。
一部のシステムでは、「保存」ボタンをクリックした後に変更を確認するためのポップアップウィンドウが表示されることがあります。

⑧ドメイン無料購入
お名前ドットコム(Name.com)でドメインを購入する手順を以下に示します。
ウェブサイトにアクセス:
ウェブブラウザを開き、お名前ドットコムのウェブサイトにアクセスします。URLは https://www.name.com です。
ドメイン検索:
ウェブサイトのトップページにある検索バーに、希望するドメイン名を入力します。空白や特殊文字は使用できません。そして、"Search"ボタンをクリックします。
利用可能なドメインの確認:
入力したドメイン名の利用可能性を確認します。利用可能な場合は、その旨が表示されます。利用不可の場合は、類似のドメイン名の提案が表示されます。
ドメインの選択:
利用可能なドメイン名が表示されたら、購入したいドメインを選択します。必要に応じて、複数のドメインを選択することもできます。
カートに追加:
ドメインを選択したら、「Add to Cart」または同様のボタンをクリックして、選択したドメインをカートに追加します。
チェックアウト:
ドメインをカートに追加した後は、「Cart」または「Checkout」などのボタンをクリックして、チェックアウトページに移動します。
ログインまたはアカウントの作成:
お持ちのアカウントにログインするか、新しいアカウントを作成します。
支払い情報の入力:
支払い方法や請求先情報などの必要な情報を入力します。お名前ドットコムでは、クレジットカードやPayPalなどの支払い方法が利用できます。
注文の確定:
支払い情報を入力したら、注文を確定します。支払いが完了すると、ドメインがあなたの所有になります。
ドメインの設定:
注文が完了したら、お名前ドットコムのウェブサイト内でドメインの設定を行うことができます。DNSレコードの設定やWHOIS情報の更新などが可能です。
以上が、お名前ドットコムでドメインを購入する一般的な手順です。必要な情報を入力し、支払いを完了することで、新しいドメインを取得することができます。
流れ図は下記通り

↓

↓

↓

↓

⑨Route53の設定
Route 53でホストゾーンを作成する手順:
1.AWS管理コンソールにログインします。
2."Route 53"サービスページに移動します。
3.左側のナビゲーションバーから「ホストゾーン」を選択します。
4.「ホストゾーンの作成」をクリックします。

5.ドメイン名を入力します(例:example.com)。
6.そして、下図を参照に、設定してください。

⑩Route53とお名前.comの提携:
Name.comのアカウントにログインします。

「Manage Domains」(または類似のリンク)に移動します。
ドメイン名をクリックして詳細ページに移動します。
DNS設定を管理するセクションを見つけ、DNSレコードの編集オプションを選択します。
新しいDNSレコードを追加します。

必要な情報(レコードタイプ、ホスト、値など)を入力し、変更を保存します。



これにより、Route 53でホストゾーンを作成し、そのDNSレコードをName.comに設定する手順が完了します。
⑪Certificate ManagerでSSL/TLS証明書
1.Certificate Managerに移動:
サービスの一覧から「Certificate Manager」を選択します。
2.証明書のリクエスト:
「証明書のリクエスト」をクリックし、「パブリック証明書の要求」を選択します。


3.ドメイン名の入力:
SSL/TLS証明書を作成するドメイン名を入力します。複数のドメイン名をカバーする場合は、それらを入力します。


4.検証方法の選択:
ドメインの所有権を検証する方法を選択します。DNS検証を選択します。
証明書の所有権を検証します。DNSレコードの追加が必要です。


証明書の発行:
所有権の検証が完了したら、証明書を発行します。
証明書の取得:
以上が、AWS Certificate Manager(ACM)を使用してSSL/TLS証明書を作成する一般的な手順です。
⑫作成したSSL/TLS証明書をALBに適用する
AWS Management Console のサービスメニューから「EC2」を選択し、「Load Balancers」をクリックします。
ALBを選択して証明書を追加する
- 対象となる ALB を選択し、ターゲットグループのリストから「Listeners」タブを選択します。
- HTTPS プロトコルのリスナーを選択し、「編集」をクリックします。
- 「SSL証明書の追加」をクリックし、AWS Certificate Manager からアップロードした証明書を選択します。
- 証明書を選択したら、「保存」をクリックして設定を保存します。





⑬ECSサービスで必要なタスクを1に更新
- Amazon ECS コンソールに移動する
AWS Management Console のサービスメニューから「ECS」を選択します。
- 対象の ECS クラスターを選択する
ECS コンソールで、対象の ECS クラスターを選択します。
- サービスを選択する
選択したクラスター内で、更新したいサービスを選択します。
- タスクの数を更新する
サービス詳細ページで、「タスクの数」を更新するために「編集」をクリックします。
- タスクの数を更新する
「タスクの数」フィールドで、必要なタスクの数を入力します。例えば、1つのタスクを実行する場合は「1」と入力します。
- 更新を保存する
タスクの数を更新したら、「保存」をクリックして変更を保存します。
- タスクのステータスを確認する
ECS コンソールで、タスクのステータスが「RUNNING」になっていることを確認します。新しいタスクが正常に起動し、実行されていることを確認します。
- タスクの動作をテストする
必要に応じて、更新されたタスクがアプリケーションに適切に動作することをテストします。問題があれば、ログやメトリクスを確認して問題を特定し、適切に対処します。
以上で、ECSサービスで必要なタスクを1つに更新する手順が完了しました。必要に応じて、他の設定や構成を更新してサービスを調整してください。

これで構築方法完了
⑭アクセス
DNS名でアクセスしてみましょう。

ログインしましょう


最後に好きなwordpressテーマを探して、実装する、このような素敵サイトが出来上がります。


📎 参考文章
- 一些引用
- 引用文章
有关Notion安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~
- 作者:みなみ
- 链接:https://www.minami.ac.cn//%E3%83%86%E3%82%AF%E3%83%96%E3%83%AD%E3%82%B0/e7e27bd6-606f-4a65-ac6b-bccb72e618fa
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章