JAWS DAYS 2019 Aトラック https://jawsdays2019.jaws-ug.jp/session/1918/
概要 AWSには、マネージドなコンテナプラットフォームとして、EKS(Elastic Kubernetes Service)とECS(Elastic Container Service)があります。 どちらもコンテナオーケストレーションを提供するサービスで、EKSはデファクトスタンダードであるKubernetesが、ECSはAWS独自仕様がそれぞれ使用されており、使用方法や学習コスト、運用やメンテナンスコストについて異なる点も多くあります。 本記事では、EKSとECSの特徴を比較し、それぞれの選択基準について解説します。 AWSのコンテナプラットフォーム AWSの主なコンテナプラットフォームには、EKS(Elastic Kubernetes Service)とECS(Elastic Container Service)があります。 以下に、EKSとECSの概要比較、およびコンテナイメージを
Kubernetesを学ぶ意味とは――AWS EKSでクラスタを構築してみよう:マネージドサービスで始めるKubernetes入門(1)(1/4 ページ) 本連載では、AWSが提供するマネージドKubernetesサービスの「EKS」を用いてアプリケーションを公開する方法を紹介。第1回目は、いまからKubernetesを学ぶ意味と、AWS EKSでクラスタを構築する方法について。 「Kubernetes」を学ぶ意味とは? 顧客ニーズの変化と、分散化指向への対応 昨今、AI(人工知能)やIoT(Internet of Things)、ディープラーニングなどの先端技術をビジネスに活用する事例が増えています。その結果、「人々の生活」や「顧客ニーズ」に変化が起き、そうした先端技術の活用がますます求められる状況です。 これらの変化に対し、開発部門も新しいことにチャレンジできるよう、変化する必要があり
はじめに TL;DR 名前解決が一部失敗する話 CoreDNSのhealth checkと終了時の挙動(一部推測が含まれる) 原因その① 調査編 再現検証 検証環境について 結果 原因その① 対策編 対策方針 原因その② どんなときに名前解決が失敗するか 原因その② 対策編 やり方 参考実装の例4つと採用したやりかた 解説 まとめ はじめに どうもrenjikariです。SREです。 AWS Elastic Kontainer Service(以下EKS)環境にて起きた事象の対策が結構たいへんだったので、対応とともに共有しておきます。 もっといいやり方あるぜ!って人はぜひ教えて下さい:bow: 今回の事象には原因が2つあり、それぞれに解決策を用意したため、記事でも原因その① => 解決策その① => 原因その② => 解決策その②という順番で書いていきます TL;DR EKSにおいてある程
Reading Time: 7 minutesLast Updated on May 10, 2019 I’ve been using EKS in production for a small number of months now and so far, so good. Really impressed by the simplicity of getting a cluster up and running and ready for workloads. AWS provide a great Getting Started Guide on their website, which is super duper for getting your head around the components and glue required for getting EKS stood
LAPRAS株式会社でSREをしております、yktakaha4と申します🐧 最近、LAPRASにポートフォリオをユーザー自身でカスタマイズする機能がリリースされたのですが、 こちらに関連してSREとしてSorryページ(メンテナンスページ)を表示する機能を開発したので、 設計・実装にあたって意識した点などについて書き遺したいと思います✍ ことのおこり 弊社では毎朝エンジニア全員(10数名程度)で集まって朝会を実施しているのですが、 ある日、スクラムチームの naga3 から以下のようなアジェンダが出ました 今回の機能を実装するにあたって、そこそこレコード量が多くユーザー影響の大きいテーブルにカラム追加のマイグレーションをおこなう必要があり、 これについて作業手順上の不安があったので、夜間リリースで対処したい…という議題だったのですが、 そこから マイグレーションの失敗等に伴い本番環境の動
GA technologies, Blockchain Strategy Centerの中村です。 3回目の投稿ですが、またBlockchainから外れて今度はインフラ周りの記事です。 弊社で現在開発中の新規プロダクトではECS上でコンテナを稼働させており、公式クライアントツールの ecs-cli を利用してCI/CD pipelineからデプロイを行うような構成をとっております。 しかしながらデプロイ後の不測の事態に伴うrollbackなど実運用を想定した際、ECS本体だけでは若干の機能不足が否めないのも事実です。 一方、比較対象として挙げられるkubernetesは本体がもはやオーケストレーションツールにとどまらないほど多機能で、周辺のエコシステムも豊富なツールを提供しています。 昨年末に丁度 EKSがtokyo regionでサポートされたというニュースもあり、本番環境での稼働を見据
TargetGroupBinding を使って AWS EKS で Kubernetes を無停止かつ DNS 切り替え無しでバージョンアップしました yucky-s はじめに こんにちは、スタディサプリENGLISH SREグループの yucky です。 リクルートに入社して 8 ヶ月が過ぎました。 私のリクルートにおける最初のミッションは、スタディサプリENGLISHが稼働している Kubernetes (以下、k8s) のバージョンを上げることで、今回 v1.17 から v1.21 に上げることが出来ました。 その際に、サービス停止も DNS 切り替えもせずにクラスタ移行ができるように、AWS Load Balancer Controller の TargetGroupBinding というカスタムリソースを利用した構成に変更しましたので、それについて説明します。 現在スタディサプリ
先日AWS EKS(Elastic Container Service for Kubernetes)のGlobal Availability発表に続き、GitLabが正式サポートすることを発表しました。 さっそく試してみたいと思います! 今回やりたいことは: 既存のGitLabインスタンスで Ruby on Railsプロジェクトに AWS EKS クラスタを連携して Auto DevOpsのCIパイプラインを実行させる 始める前に GitLabについて Kubernetesについて AWS EKS 事前準備(Mac OS) Python 2 version 2.7.9+ or Python 3 version 3.3+
この記事は Kubernetes Advent Calendar 2018 21日目の記事です。 TL;DR; eksctlとは Weaveworksが開発しているOSSで、AWS EKSクラスタおよびその実行環境(VPC, Subnet, Security Group, IAMロール等)とノードグループを作成、スケール、削除することができるgolang製のCLIツールです。 EKSクラスタやその他のリソースは内部的にはCloudFormationスタックによって作成・管理されています。クラスタ(=マスタとVPCなどのインフラ)に1スタック、そしてノードグループ用に1スタックが作られます。 ノードグループとは 英語だとNode groupまたはNodegroupと書きます。正式な定義は見つけられなかった、というか、ツールやサービスによって呼び名が異なる(例えばGKEやkube-awsではn
2018-06-14T22:33:44+09:00 [ℹ] importing SSH public key "/Users/jb/.ssh/id_rsa.pub" as "EKS-my-eks-cluster" 2018-06-14T22:33:45+09:00 [ℹ] creating EKS cluster "my-eks-cluster" in "us-west-2" region 2018-06-14T22:33:45+09:00 [ℹ] creating ServiceRole stack "EKS-my-eks-cluster-ServiceRole" 2018-06-14T22:33:45+09:00 [ℹ] creating VPC stack "EKS-my-eks-cluster-VPC" 2018-06-14T22:34:26+09:00 [✔] created S
Secrets Management for AWS EKS This guide will show you how to provision an application running on EKS with the secrets it needs. To make life easy, you can use the demo app from the Getting Started guide or deploy your own custom app and follow along. You will be able to grant your app access to the required secrets just by having your pods assume an IAM role, using the AWS Identity Provider. Bef
この記事は freee Developers Advent Calendar の 14 日目です。 どうも id:renjikariです。 10月にEKSのingress controllerが2.0.0になり名前がAWS Load Balancer Controllerになって登場しました。 ぶっちゃけ私はingressにも、もとのalb-ingress-controllerにも全然詳しくないんですがこの機会に新旧のControllerを構築して試して(遊んで)見ようと思います。 できるだけだれでもできるように目指します。構築は基本的にはAWSの公式に則ります。 EKSの構築: https://docs.aws.amazon.com/ja_jp/eks/latest/userguide/getting-started-eksctl.html ALB周り: https://docs.aws
はじめに 検索エンジニアリング1グループ(以下、検索1G)所属の安達です。 検索1Gは検索基盤を開発・運用するグループです。 今回、新たな検索基盤を開発し、本番リリースしたのでその事例について紹介します。 どんな検索基盤か アーキテクチャ図は以下です。 検索1Gが管理しているリソースは、図中のSolrデータ更新バッチとフロントアプリケーションを除くすべてのリソースです。 このシステムは大きく3つに分かれています。フロントアプリケーションとの接続を担う検索動線、検索に使われるデータの更新を担当するデータ更新導線、そして検索エンジンです。それぞれの構成について見ていきます。 検索導線 EKS上の検索APIへリクエストをルーティングする。通常時は何も処理をせず1つの検索APIにリクエストを流す。オンラインA/Bテスト実施時にはグループを振り分けし適切な検索APIにリクエストを振り分けできる。また
> eksctl create cluster \ --cluster-name $NAME \ --nodes 3 \ --nodes-min 3 \ --nodes-max 5 \ --node-type t2.medium \ --region us-west-2 2018-07-18T13:33:01+09:00 [ℹ] importing SSH public key "/Users/jb/.ssh/id_rsa.pub" as "EKS-bakeneco" 2018-07-18T13:33:02+09:00 [ℹ] creating EKS cluster "bakeneco" in "us-west-2" region 2018-07-18T13:33:02+09:00 [ℹ] creating VPC stack "EKS-bakeneco-VPC" 2018-07-18T
それでは何もわからないまま終わってしまうので、 一つ一つ解説を入れながらマネジメントコンソールで作っていきたいと思います。 全体の流れ クラスターの作成 Fargateプロファイルの作成 kubectlコマンドでサービスをデプロイ 1. クラスターの作成 まず初めにクラスターを作成します。 クラスターとは以下の2つの要素で構成されています。 EKSコントロールプレーン Kubernetesソフトウェアを実行してくれるやつ EKSエンドポイントを持っています(後で利用します) EKSワーカーノード コンテナを立ち上げるサーバー これをFargateであれこれよしなにやってもらいます では実際に作成してみましょう。 1.1. (一般設定) クラスター名とIAMロールの設定 AWSマネジメントコンソールからEKSのサービスを選択します。 そして左のメニューから、「EKSクラスター」 > 「クラス
はじめに 2023年の9月にAWS EKSのCNIがNetwork Policyをサポートしました。 ここで興味深いのが、Network Policyの実装にeBPFを使用していることです。 今回は環境を構築して動作を確認しつつ、コントローラとeBPFの実装を見てみます。 環境構築と動作確認 環境構築のためにAWSのblogに書かれているyamlファイルとeksctlでクラスタを作りました。 cluster.yaml apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: network-policy-demo version: "1.29" region: ap-northeast-1 iam: withOIDC: true vpc: clusterEndpoints: publicAccess: true p
As cloud adoption surges, effective cost management is paramount for Application teams. Many modern products and applications are developed on the cloud agnostic Kubernetes infrastructure. While AWS Elastic Kubernetes Service (EKS) offers powerful orchestration capabilities, dissecting costs at a granular pod level can be very challenging. Without added tools, it was/is nearly impossible to get it
GW初日でKubnernetes入門しようかと書籍を購入してみたのですが AWS側の仕様変更でいきなりつまづいたので書いてみます 書籍 Kubernetes on AWS~アプリケーションエンジニア 本番環境へ備える エラー内容 書籍通り、EKSクラスターを作成。 その後、 EKSクラスターに接続するできるか確認するために打鍵するように記載があったのですが、どうやらエラーの模様・・・ 原因 EKSクラスターを構築する方法ですが、執筆時点ではMC(マネジメントコンソール)とeksctlというCLIの2パターン存在するようです。 書籍ではeksctlで作成するのですが、実際はコマンドの引数に応じてCloudFormationサービスがいい感じに諸々作成してくれるので、デバッグがEKS初心者には中々厳しかったです。。。 仕様が変わりましたとことです。。。 リンク先の英文を見ると Upcoming
はじめに deep learningのインフラとして最近kubernetesが注目されています。6/6にAWS EKSがGAされましたのでdeep learningのインフラの選択肢として調査しました。 調査の結果のポイントは次のような感じかと思います。 ・AWS EKSには専用のAMIがあり、それにcuda等各種ソフトウェアをインストールしてGPUノード用のAMIを作成する ・AWS AutoscalingはCPU使用率を閾値としているが、今回は利用できるGPUの有無でAutoscaleさせたいため、kubernetesのcluster-autoscalerを使用する ・kubernetesのcluster-autoscalerを動作させる為にGPUノードを起動しっぱなしにしておくのはもったいないのでcluster-autoscalerを動作させるノードグループとGPUインスタンスを動作
Chainer/CuPy 2018の23日目です。 はじめに ようやく・・・ようやく書き始められる!という気持ちでいます。既に12/25を超えて大分年末ですが、やっとこ書いていきます。遅れてすみません。。本日は、ChainerMNを使って、クラウド上で分散学習をしてみようという記事です。実験するにあたり、札束を募集していたのですが、全く集まりませんでした。仕方ないので株で儲けようと思ったら、日経平均が1日で1000円も下がるしで大変でした。 さて、ChainerMNとは、Chainerで分散学習するための機能です。しかし、実際の所、分散学習ができる環境なんてあんまりないよねー、と多分そこまで積極的に使われていないのではないでしょうか。AWS上に多数のインスタンスを立てて、ChainerMNを動かすという取り組みもありますが、ぶっちゃけ準備と片付けが面倒なので、なかなか普段から使おうとはなら
Contents Premise Setup the MySQL Database - Amazon RDS Create the VPC Create the subnets Create the DB subnet group Create the VPC security group Create a DB instance in the VPC Amazon RDS setup diagram Setup the EKS cluster Let's build the bridge! Create and Accept a VPC Peering Connection Update the EKS cluster VPC's route table Update the RDS VPC's route table Update the RDS instance's security
はじめに Amazon EKSのアクセス制御方法で2023年12月のアップデートによりアクセスエントリというConfigMapを使用しない新たな方式が使用できるようになりました。 詳細はこちらの記事でもご紹介しております。 課題 こちらの方法、実務で使用する際に課題となっていたのがアクセスエントリへの登録はIAMユーザまたはIAMロールを指定できるのですが、EKSクラスターを操作できる複数のIAMユーザを都度アクセスエントリに追加するのは運用上煩雑になるのでやりたくないと思い、IAMグループを指定して運用する方法はないかと模索していました。 結論 試行錯誤した結果、IAMグループが直接ロールを引き受けることができないため、特定のIAMグループに所属するユーザにsts:AssumeRole権限を付与することで、そのユーザが特定のロール (この場合EKSを操作できる権限)にスイッチすることで、
[CicleCI] aws-eks、kubernetes のorbsを併用してECR -> EKS へのローリングアップデートの構成CircleCIPipelineECReksCICD ■なぜこの記事を書いたか: ・ 2021-12-08の更新でkubeconfigのdry-runがbool値からstring値のみになりました。 これにより、今まで使用していたECRへのイメージプッシュ->EKSの自動ローリングアップデートのパイプラインが破壊されたため構成し直すために調査しました。 ■なぜEKSへの自動アップデートがうまくいかなくなったのか ・aws-eks orbsの[update-kubeconfig-with-authenticator]コマンドでdry-runを設定できるが、許可されているのはbool値のみ。defaultは'false' ・aws-eks orbsの[update
AWS EKSとAkkaを使ってEvent Sourcingを作るにはどうしたらよいか 海外では、Kubernetes上にAkka-Clusterを構成し、耐障害性やスケラビリティに優れたシステムを構築しようというムーブメントがあります。Akkaはノードを跨がるような分散型アプリケーションを開発するためのツールキットであるため、コンテナレベルでのデプロイ・スケーリングなどのオーケストラレーション機能が必要です。そういう意味では、Kubernetesはもはや現実的な選択肢です。つい最近、東京リージョンにEKSがきましたので、このような関心は高まってくると思います。今回は、EKS上で本格的にEvent Sourcingをするにはどうしたらよいか、またどんな問題点があるのかなど、実際に動くコードを見ながら議論したいと思います。 トークの長さ 90分 発表言語 日本語 聴衆の対象 上級者: 分野に
EKSを使うにあたって個人的に気になった点をまとめ。 EKSとは コントロールプレーンのアーキテクチャ EKSの開始方法 3種類のクラスターVPCタイプ プライベートクラスタの注意点 IAMユーザがk8sのRBACに追加される クラスタエンドポイントのアクセス 注意 k8sのバージョンアップ クラスターエンドポイントのアクセスコントロール プラットフォームのバージョン ワーカーノード AMI マネージド型ノードグループ セルフマネージド型ワーカーノード Fargate ストレージ AutoScaling ロードバランシング ロードバランシング ネットワーク セキュリティグループ ポッドネットワーク 外部ソースネットワークアドレス変換 (SNAT) CNI Metrics Helper CNIのアップグレード クラスター認証の管理 セキュリティ IAMロール 確認しておくべきドキュメント 公
どうも、僕です。 CatOps DevOps が Developers を運用に引きずり込む為のマインドセットだとすれば CapOps は猫を運用に引きずり込む為のマタタビセットと言えるでしょう。今回は実家でおやつを食べてばかりのあいつにも手伝ってもらいます。彼のおもちゃの半分ぐらいは私がAWSをこねくり回して得た給与によって供給されているのでこれは当然の義務とも言えます。 Amazon Web Services Cat-Like Interface (AWS CLI) 作業用のIAMロールを作ります。仕事じゃないのでアクセス許可は雑です。 AmazonEC2ContainerRegistryFullAccess AmazonEC2FullAccess AWSCloudFormationFullAccess EksAllAccess IamLimitedAccess Amazon Linu
AWS EKSのAWS ALB Ingress Controllerを破壊的変更を加えずにAWS Load Balancer ControllerにアップデートかつELBをまとめる方法 2022-07-24 AWS ALB Ingress Controller to AWS Load Balancer Controller自体は割りと簡単 前提 現在面倒をみているプロダクトがEKSv1.19→v1.21にアップデートをした。事業部専属というわけではなくてSREとして別プロダクトばっかりみてたらサポート残り1ヶ月の状態で「あ、やべ。残り一ヶ月でEKS強制アプデ入るわ」となり、やらなくては~となったがプロダクトのフロントエンドの子が「やってみたいです!」というので他のレイヤーに対する熱意◎でまかせたら、会社都合でその子が部署異動で「開発環境はアプデ終わりましたが本番はできませんでした…後はよろ
AWS EKS 盛り盛り構成インストールガイド (Apache2 + PHP7.4 + EFS + ALB + HTTPS)AWSkuberneteseks EKS構築手順 前提 ちょっとだけ中級者向け(AWSで一般的な環境が構築できる方以上向けの記事)です やりたいこと 既存PrivateVPCでEKSを使いたい ALBも使いたい EFSも使うんだ Apache + PHP7.4 のいわゆるWEBサーバを作る(CacheやDBはElasticacheやらRDSを使う) HTTPSも使いたい AutoScalingを考えるとコンテンツはNASに置いておきたい 作業の流れ [事前] AWSでPrivateVPCをつくる → 172.16.0.0/16 → 既存のIPを使っているだけなので、読み替えてください [事前] Public-subnetとPrivate-subnetをつくる → Pu
MuleSoftを業務で扱うことになったので、勉強がてら AWS EKS に Runtime Fabric を構築してみました。 手順 環境構築 Anypoint Platform でのRuntime Fabric の設定 AWS CLI を用いた EKS クラスターの構築 kubectl の設定 rtfctl の設定 Runtime Fabric のアプリケーションの作成 Podの動作確認 Podのログを確認する 前提条件 Windows Subsystem for Linux 環境で実施 1. 環境構築 aws-cli のインストール 以下のコマンドを実行します。 curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く