質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

URL

URL(ユニフォームリソースロケータ)とは、インターネット上のリソース(Webページや電子メールの宛先等)を特定するための形式的な記号の並びの事を言う。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

1175閲覧

AWSにDocker環境をデプロイしたが、URLのリージョンがus-eastが表示されてしまう。

退会済みユーザー

退会済みユーザー

総合スコア0

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

URL

URL(ユニフォームリソースロケータ)とは、インターネット上のリソース(Webページや電子メールの宛先等)を特定するための形式的な記号の並びの事を言う。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2021/03/30 05:40

編集2021/03/30 05:42

前提・実現したいこと

AWSへDocker環境をデプロイしようとしています。
デプロイはできて、URLにアクセスするとサイトが表示される状態にはなりましたが、URLのリージョンが一致していない。

$ docker compose ps examp-LoadB-**************.elb.us-east-1.amazonaws.com:5000->5000/tcp
  • 上記コマンドで表示されるPORTSのURLを確認すると、「us-east」が表示されている

  • AWSアカウントは東京のリージョン(アジアパシフィック (東京)ap-northeast-1)

処理の流れ

  • AWSでIAMユーザーを作成

AWSの公式ドキュメントを参考にIAMユーザーを作成

  • コンソールからデフォルトレジストリに対して認証する
$ aws ecr get-login-password --profile user --region ap-northeast-1 | docker login --username AWS --password-stdin (aws_account_id).dkr.ecr.ap-northeast-1.amazonaws.com Login Succeeded
  • AWS ECSにレポジトリを作成
$ aws ecr create-repository --profile user --repository-name example --image-scanning-configuration scanOnPush=true --region ap-northeast-1
  • イメージにタグ付けをしてpush
$ docker tag example:latest (aws_account_id).dkr.ecr.ap-northeast-1.amazonaws.com/example:latest $ docker push (aws_account_id).dkr.ecr.ap-northeast-1.amazonaws.com/example:latest
  • pushしたイメージを使ってローカル環境へ構築できることを確認

docker-compose.yml内のimage:にpushしたイメージのURLを記述。

$ docker-compose up

にてローカル環境へのビルドができることを確認。

  • docker contextを作成
$ docker context create ecs myecscontext $ docker context ls NAME TYPE DESCRIPTION DOCKER ENDPOINT KUBERNETES ENDPOINT ORCHESTRATOR default **** **************** **************** ***** myecscontext * ecs credentials read from environment
  • 作成したcontextを指定
$ docker context use myecscontext
  • ECSへデプロイ
$ docker compose up WARN[0001] services.build: unsupported attribute [+] Running 18/18 ⠿ example CreateComplete 274.2s ⠿ DefaultNetwork CreateComplete 5.9s ⠿ CloudMap CreateComplete 47.9s ⠿ Cluster CreateComplete 5.9s ⠿ FrontendTCP5000TargetGroup CreateComplete 0.9s ⠿ FrontendTaskExecutionRole CreateComplete 12.9s ⠿ BackendTaskExecutionRole CreateComplete 13.9s ⠿ LoadBalancer CreateComplete 182.5s ⠿ LogGroup CreateComplete 2.0s ⠿ DefaultNetworkIngress CreateComplete 0.0s ⠿ Default5000Ingress CreateComplete 1.0s ⠿ FrontendTaskDefinition CreateComplete 3.0s ⠿ BackendTaskDefinition CreateComplete 3.0s ⠿ BackendServiceDiscoveryEntry CreateComplete 1.9s ⠿ FrontendServiceDiscoveryEntry CreateComplete 1.9s ⠿ BackendService CreateComplete 59.6s ⠿ FrontendTCP5000Listener CreateComplete 2.3s ⠿ FrontendService CreateComplete 77.9

-コンテナの状態を確認

$ docker compose ps ID NAME REPLICAS PORTS ********* backend 1/1 ********* frontend 1/1 examp-LoadB-***********.elb.us-east-1.amazonaws.com:5000->5000/tcp

↑ここでus-east-1が出てくる意味がわかっていません。

処理内容を理解しきれていないので、これを修正する場合はどこを確認すれば良いでしょうか。
足りない情報がございましたらご教示いただけますでしょうか。

よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yu_1985

2021/03/30 05:59

docker context create ecs myecscontextで指定した認証情報でリージョンをap-northeast-1に指定していないのではないでしょうか。 そこではどの認証情報を選択しましたか? credentials read from environment と出ているのでおそらく環境変数を設定しているものと思われますが、printenvでAWS関連の環境変数を表示すると何がセットされていますかね。
退会済みユーザー

退会済みユーザー

2021/03/30 06:12

ありがとうございます。 ご指摘の通り、docker context作成時の認証情報の指定が間違っておりました。 同時間に投稿してしまった回答でも書かせて頂きましたが、 作成したIAMユーザー情報を正しく利用したところ、解決しました。 環境変数は別のアカウント情報をセットしていたので、AWS profileを作成し、その情報を利用することで正常に動きました。
guest

回答1

0

ベストアンサー

自己解決しました。
docker contextの作成が間違っていました。

$ docker context create ecs myecscontext ? Create a Docker context using: [Use arrows to move, type to filter] > An existing AWS profile AWS secret and token credentials AWS environment variables

上記でAWS environment variablesを選択して作成していましたが、別の環境変数を取得していたみたいです。
An existing AWS profileを選択して、作成したIAMユーザー情報を利用したところ、正常に動作しました。

投稿2021/03/30 05:59

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問