0
0

AWS ECSで悪戦苦闘走り書き

Posted at

概要

  • ECSについてのまとまった記載と、AWSの知識ほぼなしといったことから、大苦戦したことをまとめる

初めに

  1. これを参考に、IAMユーザーを作成した

  2. また、今回はEC2を利用するため、
    EC2のインスタンスを作成し、Keyも併せて作成した

    • 記述を見る限り、インスタンスはなしで、単純にKeyだけを作成するでもよさそうである
  3. 最後に流れに従い、AWS CLIをインストールすることにした

チュートリアルの404

ここにあった、docを参考にチュートリアルを見に行ったところ、チュートリアルのDocに関してはリンクが切れており、404となってしまっている。

↓↓↓↓↓↓↓↓↓↓ 悲しみのチュートリアル ↓↓↓↓↓↓↓↓↓↓↓↓

ECRにどっか―イメージをプッシュするらしい

前提条件

  • 必要な権限を所持したIAMユーザーの準備が完了している
  • EC2(アクセスできる環境なら何でも)にDockerをインストールしている
  • AWS CLIがインストールされている

Docker イメージを作成する(イメージがあればスキップしてよし!!)

すっごい雑にまとめると、docker imageをEC2上で作成しているだけ

ECRにイメージをプッシュするっぽい

  1. そのために、IAMユーザーが必要であるがどうやら先ほど作成したIAMユーザーでは適切ではないようなので、↓のサイトを参考に作り直すことにする

これだと、IAMユーザーに対して、作成時に、AWS CLIのアクセスキーなどを取得しているが、現在のUIでは作成後にIAM>ユーザー>[ユーザ名]セキュリティ認証情報>アクセスキーから作成することができる

後は手順通りに行うことで、AWS CLIのセットアップが完了する

STEP1 ECRにレジストリを作成する

初めに、イメージを保存する用のレジストリを作成する
この状態では空である

aws ecr create-repository --repository-name XXXXXXX --region  ap-northeast-1

XXXXXXXにレジストリ名を入れることで、作成することが可能

レスポンス
C:\Users\hoge>aws ecr create-repository --repository-name XXXXXXX --region  ap-northeast-1
{
    "repository": {
        "repositoryArn": "arn:aws:ecr:ap-northeast-1:XXXXXXXXXXXX:repository/XXXXXXX",
        "registryId": "XXXXXXXXXXXX",
        "repositoryName": "financial-details-app",
        "repositoryUri": "XXXXXXXXXXXX.dkr.ecr.ap-northeast-1.amazonaws.com/XXXXXXX",
        "createdAt": "2024-01-06T20:31:22+09:00",
        "imageTagMutability": "MUTABLE",
        "imageScanningConfiguration": {
            "scanOnPush": false
        },
        "encryptionConfiguration": {
            "encryptionType": "AES256"
        }
    }
}

STEP2 タグをつける

今回自分のつまりポイントでした!!!

docker tagをつける必要があったのですが、doker composeの設定もれで、buildしたimageにレポジトリ名がついていなかったことで、tagをつけることができていませんでした。

docker compose で作成している方は、

  db:
    image: financial_app_db

のように,
image名を指定するようにしてください

そうすると、

# [repositoryUri]に関しては先ほどのjsonの対応するURIに置き換えてください。
docker tag financial_app_db [repositoryUri]

タグをつけ終わった後は、次のコマンドを打ってLoginするようにしてください。

# [region][aws_account_id]に関しても適宜置き換えてください。
aws ecr get-login-password --region [region] | docker login --username AWS --password-stdin [aws_account_id].dkr.ecr.[region].amazonaws.com

最後にpushをすると、指定したAWS ESRレポジトリに登録されるようです。

docker push [repositoryUri]

試しの場合は、ここでストップしないとイメージストレージに課金されてしまう

aws ecr delete-repository --repository-name [repository-name] --region region --force

Amazon EC2 で Windows を使用してコンソールを開始する

前提条件

  • ECSのセットアップのステップが完了している
  • IAMユーザーに、AdministratorAccessか初回実行権限がついている

ステップ 1: クラスターを作成する

クラスターの作成は、文字を読めば行ける

しかし、タスク定義に関して不明点が多すぎる。かつ、サービスにEC2が登録されない

本日中にデプロイする必要があるため、普通のEC2にいったんDockerをいれることにする
来月また改めてデプロイする予定なので、それまでに調べなおす

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0