Organizations

3 results for ECS
  • 概要 夏頃、AWS FargateとEKS祭りに参加してきた。 Fargateが東京リージョンにもやってきたので、そのためだ。 会社のチーム内でもAWS Fargateの機運が高まり、頑張って検証をしたので、まずはTerraformで構築する簡単なものを記録しておく。 なお、基本的には下記Terraformのドキュメントを参考にしている。 https://www.terraform.io/docs/providers/aws/r/ecr_repository.html <a href=“https://www.terraform.io/docs/providers/aws/r/ecs_cluster.html” rel=“noopener noreferrer” target="_blank">https://www.terraform.io/docs/providers/aws/r/ecs_cluster.html https://www.terraform.io/docs/providers/aws/r/ecs_service.html https://www.terraform.io/docs/providers/aws/r/ecs_task_definition.html 構成 PrivateサブネットにFargateを設置する。 コンテナにグローバルIPを付与することもできるが、EIPをつけずALBにぶら下げる場合はNAT Gateway経由でインターネットに接続するようなサブネット構成にすることになると思う。でないとイメージをpullできない!(ここでまずハマった) 今回はALBにぶら下げるようにする。 ALB 先にコンテナをぶら下げるALBを作成しておく。(グローバルIPを振る場合は不要) SSL証明書の設定(ACM)等は自分の環境にあわせて修正する。 下記ではACMで取得した証明書を指定して、443へリダイレクトするようにしている。 resource "aws_lb" "staging-inamuu" { name = "staging-inamuu" internal = false load_balancer_type = "application" security_groups = ["${aws_security_group.staging-inamuu-alb.id}"] subnets = ["${aws_subnet.staging-public-1a.id}"] enable_deletion_protection = true tags { Env = "staging" } } resource "aws_lb_target_group" "staging-inamuu" { name = "staging-inamuu-lb-tg" port = 80 protocol = "HTTP" vpc_id = "${aws_vpc.staging-inamuu-vpc.id}" target_type = "
    ECS Fargate terraform Created Mon, 19 Nov 2018 12:50:56 +0000
  • 弊社では開発環境にDockerを使用している。 開発環境はインフラ含め、アプリケーション開発を手元で行えるようにコンテナ化されている。 イメージはAmazonECRにあるので、開発する人は、ECRへログインしてイメージを取ってくることで、最新のイメージが使用できるようになっている。 今日、会社の開発者の方からECRにログインできないという相談を受けた。 ECRにログインする際は下記ワンライナーでログインするのだけど、それでエラーが出てしまう。 $(aws ecr --profile XXXXXXX get-login --no-include-email --region XXXXXXXXXX) 通常、このあとに、 Login Success! みたいなのが表示されるのだが、今回はこんなエラーが表示されていた。 Error saving credentials: error storing credentials - err: exit status 1, out: `The user name or passphrase you entered is not correct.` 最初、credentialsファイルがおかしいのかな?とか、awscliが死んでるのかな?とか疑ったのだけど、credentialsファイルは問題なく、awscliも私と同じバージョンにしたけど、エラーは解消しなかった。 そこで、ネットで調べた所下記issueがヒットした。 https://github.com/docker/for-mac/issues/2295 Dockerのconfig.jsonに書いてある一行を削除しろと書いてあった。 $ vim ~/.docker/config.json { "auths": { "XXXXXXXXXXXXXXXXXXXXXXXX.amazonaws.com": {}, "https://XXXXXXXXXXXXX.amazonaws.com": {} }, "HttpHeaders": { "User-Agent": "Docker-Client/18.06.0-ce (darwin)" }, "credsStore": "osxkeychain" こんなファイルがあるので、`”credsStore”: “osxkeychain”` をまるっと消してあげた。 そうしたら無事(?)にログインできるようになった。 この項目はどうやらユーザーの証明書をOSXのキーチェーンに保存するもののようで、恐らくそれがうまく取得できなくなったのだと思われる。 http://docs.docker.jp/engine/reference/commandline/login.html#creadentials-store 開発者の方も、OSXをアップデートしたら発生するようになったと言われたので、アップデート周りでおかしくなってしまったのかもしれない。 手動で削除しなくても、docker logout とかでもいけるようなので、もし同じ事象が発生したら試す価値あり。
    docker ECR ECS Created Tue, 07 Aug 2018 14:28:20 +0000
  • AWS Fargate ECS/EKS祭り 8/3(金) AmaozonWebServices目黒セントラルスクエア AWS Fargate & Amazon ECS/EKS最新情報 ECS AWS 西谷さん(@Keisuke69) コントロールプレーン=コンテナの管理をする場所(ECS/EKS)どこでコンテナを動かす?生死は?デプロイ時にどこに配置する?など データプレーン=実際にコンテナが稼働する場所(Fargate/EC2) ECSの話 ローンチされてから数年 数百万インスタンス/数億コンテナが毎週起動 プロダクションでコンテナ運用を支援するために開発されている CloudWatchLogと簡単に連携 CloudWatch Iventと連携 Fargateのローンチ 7月からTokyoリージョンサポート AutoScallingをユーザー側で考えなくても良い(ECSと同じ) スケジューラ、LBなどはECSと同じで利用可能 課金はCPUとメモリが秒単位 FarageteはVPCネットワーク利用のみ ALB/ELBをサポートしている パーミッションタイプ(Cluster/Application/HouseKeeper) CloudWatchでモニタリング Farfateで難しいもの Windows Containers GPU Support docker exec デバッグ SpotやRIベースの価格モデルの適用→必要ならEC2モード Lambdaのほうがよい場合 イベント・ドリブン ミリ秒単位のコンピュート ランタイム管理したくない 分散バッチコンピューティング コンテナのAutoScaling ECS Trackingとの連携がおすすめ SLA99.99%(ECSと同じ) EKS k8sをプロダクションを運用している人→ちらほら k8sは可用性のためにAZをまたいで3つ作成が必要 on AWS k8sは人気があるが自前構築が大変… AmazonEKSはずっとプレビューだったが、6月末で一般公開になった(AWS、Kubernetesを簡単に実行できる「Amazon EKS」を正式リリース) Confirmability CNI plugin ENI Secondary IP LB: CoreOSALB エンドポイント認証はIAMできる FlutendでCloudWatch Logsと連携が簡単 WorkerのメトリックスはCloudWatchで取れる AmazonECS + AmazoneEKS + Faragte 連携予定 コンテナ化したアプリケーションをAWSを動かすためのベストプラクティス 福井さん(@afukui) カナリアデプロイ/ブルー・グリーンデプロイ がやりやすいのがコンテナのメリット マイクロサービス化している方? – ちらほら コンテナを利用した開発に必要な技術要素 アプリのステートレス化 レジストリ コンテナの中にいれるのはステートレスなアプリに ステートが必要なものはコンテナの外に RDBMS -> RDS オブジェクト -> S3 Twelve-Factor App(The Twelve-Factor App) レジストリの自前運用は大変なのでマネージドを使うのがおすすめ CI/CDパイプラン 自動化するメリットは誰がデプロイしても同じ結果になる デプロイ職人(!
    docker ECS EKS Fargate k8s Created Fri, 03 Aug 2018 08:52:35 +0000