みなさん、こんにちは。ベトナムオフショア開発サービスを提供するスマラボ事業部のザンです。
前回に続いて、AWS初心者向けのハンズオンを共有していきたいと思いますのでぜひ読んでみて下さい。
今回のテーマは【AWSハンズオン2】PHPアプリ をAmazon ECS(AWS Fargate)にデプロイしよう です。
それでは早速進めて行きましょう!
【事前準備】
1.ハンズオンのソースコード
以下のGithubのソースコードをダウンロードしてください。 https://github.com/phamthanhgiang/ECS-Fargate-hands-on/tree/master
2.フォルダの構成
![](https://sma-labo.jp/wp-content/uploads/2022/05/image.png)
3.Dockerfile
![](https://sma-labo.jp/wp-content/uploads/2022/05/image-1.png)
![](https://sma-labo.jp/wp-content/uploads/2022/05/image-2.png)
4.docker-compose.yml
![](https://sma-labo.jp/wp-content/uploads/2022/05/image-3.png)
5.task-definition.json
![](https://sma-labo.jp/wp-content/uploads/2022/05/image-4.png)
![](https://sma-labo.jp/wp-content/uploads/2022/05/image-5.png)
【ローカルの開発環境をビルド】
1.default.conf ファイルを編集
![](https://sma-labo.jp/wp-content/uploads/2022/05/image-6.png)
2.Build Docker
![](https://sma-labo.jp/wp-content/uploads/2022/05/image-7.png)
3.Access App
http://localhost/jp/contact.html
4.Access to docker container (Debug and Hotfixの場合)
![](https://sma-labo.jp/wp-content/uploads/2022/05/image-8.png)
【Amazon ECS(AWS Fargate)にデプロイ】
Step 1: Login to AWS ECR
![](https://sma-labo.jp/wp-content/uploads/2022/05/image-9.png)
Step 2: Build image form container
![](https://sma-labo.jp/wp-content/uploads/2022/05/image-10.png)
Step 3: Create tag
![](https://sma-labo.jp/wp-content/uploads/2022/05/image-11.png)
Step 4: Push to ECR
![](https://sma-labo.jp/wp-content/uploads/2022/05/image-12.png)
Step 5: Create a Cluster
![](https://sma-labo.jp/wp-content/uploads/2022/05/image-13.png)
![](https://sma-labo.jp/wp-content/uploads/2022/05/image-14.png)
![](https://sma-labo.jp/wp-content/uploads/2022/05/image-15.png)
![](https://sma-labo.jp/wp-content/uploads/2022/05/image-16.png)
Step 6: Task Definitionを登録
![](https://sma-labo.jp/wp-content/uploads/2022/05/image-17.png)
一番下をScrollして、JSONで構築ボタンをクリックしてください。
task-definition.jsonの内容をコピペしてください。
タスク名:任意
![](https://sma-labo.jp/wp-content/uploads/2022/05/image-18.png)
Step 7: Create a Service
![](https://sma-labo.jp/wp-content/uploads/2022/05/image-19.png)
Step5で作成したClusterを選択
Step6で作成したタスク定義を選択
![](https://sma-labo.jp/wp-content/uploads/2022/05/image-20.png)
![](https://sma-labo.jp/wp-content/uploads/2022/05/image-21.png)
![](https://sma-labo.jp/wp-content/uploads/2022/05/image-22.png)
![](https://sma-labo.jp/wp-content/uploads/2022/05/image-23.png)
Step 8: Test App
上記のタスクをクリックすると、Public IPが表示されます。
![](https://sma-labo.jp/wp-content/uploads/2022/05/image-24.png)
Public IPでWeb Appへアクセス
http://Public IP/jp/contact.html
メールを送信機能をテスト
![](https://sma-labo.jp/wp-content/uploads/2022/05/image-25.png)
![](https://sma-labo.jp/wp-content/uploads/2022/05/image-26.png)
![](https://sma-labo.jp/wp-content/uploads/2022/05/image-27.png)
![](https://sma-labo.jp/wp-content/uploads/2022/05/image-28.png)
完了
【AWS】Fargateのコンテナに接続する方法(DebugとHotfixの場合)
- ECSのタスクロール( ecsTaskExecutionRole)にIAMポリシーを付与する
ssmmessagesの権限をすべて付与します。こちらの内容で付与を行います。
![](https://sma-labo.jp/wp-content/uploads/2022/05/image-29.png)
2.「enableExecuteCommand」の設定を有効にするコマンド
Turn ON enableExecuteCommand (Turn OFF –disable-execute-command)
![](https://sma-labo.jp/wp-content/uploads/2022/05/image-30.png)
3.「aws ecs execute-command」でコンテナに接続する
最後に「aws ecs execute-command」でコンテナに接続します。コマンドは以下の通りです
![](https://sma-labo.jp/wp-content/uploads/2022/05/image-31.png)
以上です!
ここまで初心者向け【AWSハンズオン2】PHPアプリ をAmazon ECS(AWS Fargate)にデプロイしようをお読み頂きありがとうございました。
>> 関連記事【AWSハンズオン1】IAM User& Groups
ベトナムオフショア開発ならスマラボ
ここまでお読み頂きありがとうございます。
弊社は顧客満足度にこだわるIDSが提供するベトナムオフショア開発サービススマラボです^^
弊社スマラボのオフショア開発サービスは
25年以上日本で培ったシステム開発の経験を基に、
プロセス構築~AWSやデザインまでトータルサービスを提供しております。
・まずはオフショア開発について話を聞いてみたい
・実績のあるオフショア開発企業を選びたい
・日本と変わらない安心・納得のオフショア開発を活用したい
など、少しでも当てはまる方はぜひお気軽にお問合せ下さいませ♪
☆毎月開催中☆
ベトナムオフショア開発について深く理解できる2日間
\ベトナムオフショア開発 視察ツアー/
人気記事>>オフショア開発で、今ベトナムを選ぶべき7つの理由と自社に合うオフショア開発企業の選び方