メドピア社内で定期的に開催しているAWSに関する勉強会を開催しています。本資料はそのうちのECSに関する回のものです。
Terraform入門資料(v0.12.0対応) ~基本知識から設計や運用、知っておくべきtipsまで~AWSIaCTerraformインフラのコード化 はじめに 今日は体調がよろしくないので、大人しく勉強会用のTerraform入門資料をしこしこ作る。。オライリーのIaC本読み返しながら — nari@BOOTHで好評発売中「GoとAWS CDKで作る本格SlackBot入門」 (@fukubaka0825) October 6, 2019 こんにちは。[Wano株式会社] (https://wano.co.jp/)の[nari](https://twitter.com/fukubaka0825)と申します。 本日、WanoグループでTerraform入門をテーマとした勉強会を行いました。 その際使用した勉強資料を、Qiitaに一般公開いたします。 対象参加者(読者) インフラのコード化
はじめに ざっくりしたシステム構成の紹介 全体の構造 設計のポイント コーディング規約 上の階層を見に行かない 変数名は全体でユニークにする 変数のデフォルト値は設定しない main, outputs, variables 以外のファイルを原則置かない ポリシードキュメントはJSONファイルのまま管理する 変数で処理を変える仕組みを極力使わない 値のハードコードをためらわない コードが冗長であることをためらわない 残っている課題 AWSアカウント単位でしか用意しないものの扱い ECSのタスク定義の扱い 最後に はじめに はじめまして。スマートキャンプのおにまるです。 2022年10月に入社し、SRE兼インフラエンジニアとして働いています。 今回は、あるプロダクトの再スタートにあたって新しく作った、AWSのTerraformについてお話したいと思います。 再スタートにあたってアプリケーション
DMM GroupのGoの勉強会「DMM.go」。DMM Groupのエンジニアが現場で培った技術やトレンドについて発表していきます。 2回目の開催となる今回登壇するのは、合同会社EXNOA プラットフォーム開発本部の PFシステム部に所属する岡崎翔悟氏。「Goとクリーンアーキテクチャ」の内容で、実際の現場にいるからわかるGoの開発やクリーンアーキテクチャについて話していきます。関連資料はこちら。 合同会社EXNOAとは 岡崎翔悟氏:今回「Goとクリーンアーキテクチャ」と題しまして、EXNOAの岡崎が発表いたします。 「EXNOAって何だ?」と思われた方が多数いらっしゃると思うので、まずはそちらの説明から。DMM GAMESは2020年4月10日付でEXNOAに社名を変更しました。ただし、一般作品のブランド名として「DMM GAMES」は残っています。一般作品の「DMM GAMES」とR1
こんにちは、インフラ部の id:sue445 です。私事ですが先日GCPの Professional Cloud Architect を取得しました。 そういうわけで今日はGCPではなくAWSの話をします。 tl;dr; 劇的ビフォーアフター 構成 移行のモチベーション パフォーマンス向上 コスト圧縮 アーキテクチャの採択理由 やったこと 1. DB作成 2. MySQL 5.7 -> 8.0 MySQL 8.0でハマったこと MySQL 8.0からデフォルトの認証がcaching_sha2_passwordになった RDSのMySQL 8.0からMariaDB 監査プラグインがなくなった 3. 本番用のDockerイメージを作成 困ったこと:CodeIgniterがログの標準出力に対応していなかった 4. ECS + Fargate + CodePipeline構築 5. CDN作成 6
Amazon Web Services ブログ Docker Compose と Amazon ECS を利用したソフトウェアデリバリの自動化 この記事は Automated software delivery using Docker Compose and Amazon ECS を翻訳したものです。 2020 年 11 月、Docker Compose for Amazon ECS の一般提供を開始しました。開発者はコンテナ化されたマイクロサービスベースのアプリケーションをワークステーションから取り出し、AWS クラウドに直接デプロイすることがさらに簡単になりました。以前紹介したこのブログにあるように、開発者は docker compose up コマンドを実行して既存の Docker Compose ファイルをそのまま Amazon ECS にデプロイできます。Docker Comp
Fastly の導入を検討している。検討しているだけで、導入していないので、参考にならないかもしれないし、間違っているかもしれないが、メモ。 動機 Varnish を使っていて、最初は Varnish の冗長化をしたい!だった。 まあそうなるよねえ。で、Fastly!となった。 ちなみに、Varnish を使ってる理由としては、以前も Jamstack を検討する - ゆーすけべー日記 Varnish で Stale-While-Revalidate を実現する - ゆーすけべー日記 で触れたとおり、 なるべく手間手前で、なるべく少ない箇所でキャッシュしたいからである。 Fastly でできること・したいこと Fastly でできることはたくさんあるので、その中でもしたいことを列挙。リバースプロキシ、ロードバランサの機能も含むのが便利。特に、パスごとに制御できる。なので、とあるパスはキャッ
CloudFormationの全てを味わいつくせ!「AWSの全てをコードで管理する方法〜その理想と現実〜」 #cmdevio AWSにおける代表的なIaCの手段、CloudFormationについて、その使いこなしについて主観強めに喋ってきました。あまりマニュアルにも乗ってないような事項も結構あるので、是非参考にしてください。 「俺は、なんだかんだCloudFormationが大好きだ!」 うららかな小春日和の11月、下記イベントで登壇してきました。 【11/1(金)東京】国内最大規模の技術フェス!Developers.IO 2019 東京開催!AWS、機械学習、サーバーレス、SaaSからマネジメントまで60を越えるセッション数! | Developers.IO このブログでは、「AWSの全てをコードで管理する方法〜その理想と現実〜」というタイトルで思う存分喋ったその様子を丸ごと喋り含めて
はじめに AWSのネットワーク構成 GCPのネットワーク構成 AWS と GCP 間での通信 VPN設定手順 TGWを用いたルーティングの設定 (AWS) Shared VPC の設定 (GCP) Terraform まとめ はじめに こんにちは。DR & MLOps Group というところで働いている阿部といいます。Data Reliability & Machine Learning Operations の略で、データ基盤やML基盤を作って運用するグループです。 私はもともとは記事配信ロジックやデータ分析をやっているグループにいましたが、今年移ってきました。 こちらが紹介記事です: DREの使命とは?「数が神より正しい」と言うための正確性を求められる技術力 – Gunosiru 弊社のシステムは基本的にはAWSで動いていますが、とあるプロジェクトでGCPを使うことになりました。 そ
HashiCorp、ドキュメントの作成/レビュー/共有などを容易にする「Hermes」ドキュメントマネジメントシステムをオープンソースで公開 TerraformやVagrantなどで知られるHashiCorpは、「急成長するグローバル企業や遠隔地に拠点を置く企業にとって、書く文化は必要不可欠なものだと考えています(we also believe a culture of writing is a necessity for a fast growing, global, remote-oriented organization.)」として、同社内でも文書による情報共有文化が積極的に行われていると説明しています。 その同社が社内で開発し利用しているドキュメントマネジメントシステム「Hermes」を、オープンソースとして公開しました。 We are pleased to announce th
React+Reduxによる状態管理とフロントエンドの技術的負債 ─ 長く継続するサービスのアプリケーション設計 遷移なく表示コンテンツを変更できるシングルページアプリケーションでは、ページの状態管理が重要になります。現在はReactによるUI構築とReduxによる状態管理を選択しているChatworkは、jQueryなどの技術的負債と共存しながら、フロントエンド設計の見直しを重ねてきました。クライアントサイド・アーキテクトの火村智彦(@eielh)さんと、エンジニア採用広報の高瀬和之(@guvalif)さんによる解説です。 クラウド型ビジネスチャットツール「Chatwork」は、2011年3月にローンチされて10年以上にわたり開発を継続してきました。このように長く続くサービスがユーザーに価値を提供し続けるには、時間経過による変化に適応するため設計の見直しが必要になります。 しかし、設計を
背景 やったこと1. 廃止 やったこと2. GCPに移行 ユースケース図 URLベースで見たユースケース図 実行環境で見たユースケース図 実際にGCPに移行したアプリ達 Cloud Run Cloud Functions AppEngine GCP移行した全てに共通してること やったこと3. CircleCIに移行 付録A. 道のり 付録B. 調査メモ(移行時に参考にしたドキュメントやサービスなど) 無料プラットフォームがまとまってるドキュメント ElephantSQL (PostgreSQL) PlanetScale (MySQL) Redis Enterprise Cloud 付録C. Redisを雑にFirestoreに置き換えたらクラウド破産しかけた 2022/09/22 20:45ブコメレス 背景 Herokuの無料プラン終了のため10個以上あった個人アプリを1ヶ月くらいかけて色
SREチームの長田です。 KAYAC Advent Calendar 2022の11日目の記事です。 アプリケーションから何かしらの外部サービスを利用するとき、そのサービスを利用するためのAPI Keyなり秘密鍵なりの秘密情報を保持することになります。 暗号化したものをファイルとしてアプリケーションに持たせたり、 Amazon Web Services(AWS)ならAWS Secrets Managerや AWS Systems ManagerのParameter Store(SSM Paramater Store)に保存したものを実行時に読み込んだりするでしょう。 これらの秘密情報、どこから来たのかわかりますか? どこから来た秘密情報なのか 秘密情報を使って出どころを調べられるのであれば問題はないでしょう。 # 例えばAWSのIAM User Credenntialsとか $ AWS_A
HashiCorpは今後リリースする全製品のライセンスを、これまで採用してきたMozilla Public License v2.0(MPL2.0)から、商用利用に制限があるBusiness Source License v1.1(BSL1.1)に変更すると発表しました。 Future releases of HashiCorp's core products will adopt the Business Source License. We know our community will have questions, so please read our blog post to understand why, and see our FAQs to understand the changes: https://t.co/riF4EZdQhphttps://t.co/TID1ps7
はじめに 面接時に役に立つ、Terraformにおける実践的な基礎知識やベストプラクティスを学べる問題集を作ってみました。 面接形式なので、サンプルコードの記述が少なく、わかりにくい部分もあるかと思いますが、Terraformの基本的な概念の整理にお役立ていただけます。ぜひ面接の準備や知識の確認にご活用ください。 注意事項 本問題集はTerraformのv1.5.xを基準に作成されています。 本問題集は、Terraformにおける実践的な基礎知識やベストプラクティスなどを学ぶための問題集であり、全ての問題が実際の企業採用面接時に出題されるとは限りません。また筆者の現在所属する組織の採用活動とは一切関係ありません。 本問題集では、Terraformの全ての基礎知識やベストプラクティスが網羅されているわけではありません。また特定のprovider(AWS等)に特化したものでもありません。特定の
技術 1 課の水本です。 最近 Terraform のリファクタリングを行っているのですが、ベストプラクティス迷子になっています。 HashiCorp でも明確な方針は打ち出していない為、Terraform を利用する各プロジェクトで方針を決めているのが現実のようです。 今回は私が出会ってきた問題と、それについての対応、見解を書き連ねていきます。 あくまでも私が思ったことですので、「こうしたほうがいいよ!」というネタも募集しています。 workspace 使うのか使わないのか問題 結論として、私自身は workspace という機能を知ったものの、使うことは考えませんでした。 Terraform では workspace という個別のエリアを設けることが可能で、これを prod や staging と命名し作成しておくと、完全に環境を分離できるというメリットがあります。 ただしデメリットと
どうも、株式会社プラハCEO兼エンジニアの松原です。 先日かとじゅんさんがツイートで紹介していたマイクロサービスに関する論文を読むついでに、適度に意訳した内容を音声入力してみました。ついでに意訳レベルなので翻訳の質は保証できないのですが、もし内容を読んでみて少しでも興味を持てた場合は実際の論文にも目を通してみると良いかもしれません。 論文のリンク: 「これ日本語でなんて言うの?」って分からなかった部分も多々あったのでより適切な単語があったら教えてほしい...! 導入 マイクロサービスには様々なプラクティスや技術を用いて以下のメリットを目指す 素早いデリバリー 高いスケーラビリティ 自律性 しかし実際にこの業界で実装されるマイクロサービスは採用するプラクティスや効果に大きな差があるため、オンラインサーベイ(51回答)と経験豊富なマイクロサービス実践者14名にインタビューを行った。 わかったこ
ソフトウェアに拡張性を持たせる時にプラグイン機構を持たせる事は一般的ですが、それを実現する方法は結構バラバラなのかなと思います。例えば、 C言語等の.so/.dllを読み込む方法 Nodejsのような言語での単なるimport TCPやUnixソケットを利用してRPC通信を行う方法 などが有るのかなと思います。1番目・2番目は、関数の呼び出し速度等のオーバーヘッドが少なく高速ですが、言語等の制約が大きくなる・メモリを共有することによるセキュリティリスクが発生します。そこで、提供するインターフェースを制約出来る場合は、3番目の手法が多く使われるようです。 Go言語で開発されている、hashicorp/terraform cloudfoundry/cli は共に3番目のRPC通信でプラグイン機構を実装しています。その中でもterraformで使用されているプラグイン機構は、言語への依存が低いと
2つの ”Entity” ある種の ORM では RDB のテーブルスキーマモデルとなるクラスのことをEntityと呼んでいます。例えば PHP のDoctrineや TypeScript のTypeORMなどがそうです。 そういった ORM を採用したプロジェクトで DDD に取り組むとき困るのが用語の衝突です。ORM の Entity は RDB のための定義を含むため当然 DDD の Entity とは異なるのですが、なにぶん同じ名前なので混同してしまいがちです。 本記事では両者を混同せず扱うための考え方をまとめます。 Entity の定義 まずは定義から確認します。 DDD での定義 エヴァンス本の日本語訳から引用します。 主として同一性によって定義されるオブジェクトはエンティティと呼ばれる Eric Evans. エリック・エヴァンスのドメイン駆動設計 (Japanese Edi
PoEAA を通して DDD の半分を理解する マーティン・ファウラーの PoEAA を読んでから、DDD のことを考え続けている。今まで DDD の話題はあえて避けてきた。分厚く難解な書籍、増えるコード量、教祖とその信徒たち(MV)、全てをその視点から解釈しようとする試み、少しでも間違えたら求められる自己批判、無知な者に対する SNS 上のオルグ、いつまでも出てこない総括、それでも信じるものは救われる。「一匹の亡霊がIT界隈を徘徊してる。DDDという亡霊が...」 まあ早まらないでほしい。何も DDD こき下ろそうというわけではない。自分の実力不足が主な原因と思い、深入りする前から「わからないもの」と決めつけていた DDD は、PoEAA というライトに照らされてその姿を私の前に姿を表し始めた。それは亡霊ではなく、確固たる手触りのある実体(Entity)だったのである。 PoEAA は
この記事は 一休.comのカレンダー | Advent Calendar 2023 - Qiita 10日目の記事です。 昨今は Web アプリケーション開発の世界でも、関数型プログラミングのエッセンスを取り入れるような機会が増えてきました。 とはいえ、一つのアプリケーションを 1 から 10 までがっちり関数型プログラミングで構成するというわけではなく、そのように書くこともあればそうでない従来からの手続き的スタイルで書くところもあるというのが現状で、どこまで関数型プログラミング的な手法を取り入れるかその塩梅もまちまちだと思います。まだ今はその過渡期という印象も受けます。 本稿ではこの辺りを少々考察してみたいと思います。 先日、Qiita Conference 2023 Autumn で以下のテーマで発表を行いました。 この発表では「関数型プログラミング最強!」という話をしたわけではなく、
最近「マイクロサービスって大変だな」と感じることが多いので、書いてみた。 単なる感想です。 pospomeのマイクロサービス歴 面倒なのは技術ではない モノリスだと厳しい 楽しくもある 宣伝 pospomeのマイクロサービス歴 以下の企業で7年ほどマイクロサービスに携わっている。 DeNA(ゲームプラットフォーム) メルカリ(認証認可基盤) DMM(DMMプラットフォーム) DeNA, メルカリではサーバサイドエンジニアとして仕事をしていて、 DMMではプラットフォーム事業本部という120人のエンジニアが在籍する開発組織のアーキテクトとして仕事をしている。 それぞれの会社で開発の規模感、開発体制、自分の役割などが異なるので、 直接比較できないが、やはりポジション的に今のDMMが一番大変だなーと感じる。 面倒なのは技術ではない マイクロサービスというと "分散トランザクション" とか "通信
Docker社とAWSがコラボレーションするという驚きとともに、新しくdockerコマンドに組み込まれたdocker ecsの使い心地を試してみました。 「docker ecsコマンド?なにこれ?」 先日、突如、DockerのECSインテグレーションなるものが発表されました! AWS and Docker collaborate to simplify the developer experience | Containers 従来あるdockerコマンドに、なんとdocker ecsコマンドが追加され、docker-composeファイルを利用したECSへのデプロイがAWS CLIなどのAWS製ツールを使わずに、全てdockerコマンドだけで完結するという、ちょっと想像がつかないアップデートです。 まだDocker社ではベータ版の扱いということですが、なかなかにおもしろいアプローチだった
おはようございます!こんにちは!場合によってはこんばんわ! SREチームマネージャーの藤原です。 今年の3月からSREチームの中で、勉強会を定期的に実施するようになりました。 本エントリでは勉強会を開催するにあたって考えたことと、実際の進め方についての事例解説です。 勉強会を通じて実現したいことの説明から、テーマ設定、効果最大化のための開催形態と頻度、現時点(2024/4・5時点)の結果について解説しています。 勉強会を通じて実現したいこと チーム内勉強会を通じて実現したいこととして、以下を設定していました。 チーム・個人としてのレベルアップ 積極的な議論への参加 相互理解 チームとしての目線合わせ 勉強会を開催するからには何かしらのスキルや考え方を身に付けたいはずです。 また、学習効果を最大化するためにも、積極的な議論への参加を実現したいと考えました。 さらには、勉強会の中での議論を通じ
ハイクラス求人TOPIT記事一覧Terraformを使って学ぶーAWSにインフラを構築するIaCの基本と、SREが実務で役立つ機能とエコシステムを徹底解説 Terraformを使って学ぶーAWSにインフラを構築するIaCの基本と、SREが実務で役立つ機能とエコシステムを徹底解説 Terraformは、パブリッククラウドのインフラ構築と自動化のツールとして、IaCのデファクトスタンダードとなっています。この記事では、AWS(Amazon Web Services)を活用するハンズオンを通してTerraformの動作を理解し、実務にもとづいて役立つ機能や便利なエコシステム、さらにSRE視点の事例を紹介します。アソビュー株式会社でSREユニットリーダーを務める鈴木剛志さんを中心に6名のメンバーによる共同執筆です。 アイキャッチ画像 アソビューでは、インフラストラクチャーの変更管理にTerrafo
みなさん、こんにちは。GS2の丹羽です。 本日 Game Server Services は次世代版のベータテストを開始しました。 これまで提供していた GS2 を GS2 Classic と呼び、次世代版 GS2 を単に GS2 と呼びます。 gs2.io GS2 のリリースにあたっては非常に多くの新しいチャレンジを行いました。 それについては少しずつブログや登壇を通じて皆さんにお伝えしていきたいと思います。 今回は、GS2 のマネージメントコンソールをシングルページアプリケーションとして作りました。 しかも、Vue + TypeScript に触れて2週間で。というトピックで振り返ってみようと思います。 なぜ Vue + TypeScript にいたったか GS2 Classic のマネージメントコンソールは Google App Engine を使用していました。 弊社はフルサーバレ
こんにちは。AWS事業本部コンサルティング部に所属している今泉(@bun76235104)です。 ソフトウェア設計・クラス設計などの学習捗ってますか? 私は実際にソフトウェア設計に関する本を読んで学習したり、OSSを書いてアウトプットしたりするのですが、なかなかフィードバックをもらえず上達しているのか分かりません。 普段のお仕事も直接的にコードを書くことも少ないので、先輩によるご指導などももらいにくい状況です。 そこで今回、話題のAIとソフトウェア設計の考え方について壁打ちしてもらったところ、非常に良い学習方法だと感じたので、この記事を書いてみました! ちなみに私は以下のようにソフトウェア設計関連の書籍を読んで学習しています。 ちなみに今回は以下ブログ記事で公開しているくらにゃんGPTをベースにしたBotと会話をしています。 ChatGPT API model: gpt-3.5-turbo
こんにちは、つくぼし(tsukuboshi0755)です! 最近ChatGPTがGPT-4Vを発表し、AI業界がさらに盛り上がりを見せてますね。 GPT-4Vを用いる事で、ChatGPTがユーザ側から入力された画像を読み取った上で、応答を返してくれるようになります。 GPT-4V(ision) system card この機能追加により、なんと以下のようにAWSの構成図を読み取って、IaCコードを生成できる事が話題になっていました。 本日をもって引退します pic.twitter.com/fygAQDQ5kj — 電気ひつじ(onoteru) (@teru0x1) October 13, 2023 これを見て私もGPT-4Vを試してみたくなったので、今回はChatGPTを使って、様々なAWSの構成図を入力し、どこまで正確にIaCコードを生成できるか確認してみます! GPT-4Vを利用する際
Amazon Web Services ブログ AWS Copilot のご紹介 Amazon Elastic Container Service (Amazon ECS) をご利用中、あるいはご利用を検討されている皆さまへ 本記事でご紹介する AWS Copilot は Amazon ECS CLI の後継に当たるものです。日本はこの ECS CLI を多くのお客様にご利用いただいている地域の1つであることに加え、ECS でのコンテナ実行をもっと簡単に行えるようにしたい、シンプルなワークフローを実現したいというリクエストを多数いただいていることから、本記事を英語記事と同じタイミングで公開することにしました。 Amazon ECS でのコンテナ実行に新たな体験を提供する AWS Copilot の紹介記事です。お楽しみください! −トリ (皆さまからの Copilot へのフィードバック、
多くの人に見てほしいスライド メルカリのマイクロサービス/Kubernetes運用事例を拝見しました。 speakerdeck.com こちら、中身はメルカリにおけるマイクロサービス・Kubernetesの実際の運用状況をまとめた内容になっています。 この内容が欲しかった。 この世の中で、会社のITサービス基盤をKubernetesにてマイクロサービス化できている企業はほとんどいません。言い切ります。まだ仮想マシンのWEB+AP+DBの3層構成のままです。もしくは、AWS Lambraなどサーバレスでマイクロサービス化した事例は多数出てきていますがこれは基盤にKubernetesが使われている可能性はあるにしろ、ユーザーは意識していません。 Kubernetesをエンタープライズに適用する。このケースではGCEですが企業としてどのようなオペレーションになるのか、どういう思考錯誤があるのかが
みなさん、こんにちは!プロダクト開発部の吉川(@yoshiyu0922)です。 現在、JMDCが保有している医療ビッグデータを活用して生活者や医療に新しい価値を提供する新規プロダクト開発チームのバックエンドを担当しております。 以前に新規プロダクト開発で採用している技術や設計についてこちらの記事で紹介しましたが、Go x GraphQL x DDDでプロダクト開発をしています。今回はプロダクトの開発が一区切りしてこれからリリースするということで、開発してみて良かったことやこうすれば良かったことを振り返りをしました。振り返りの内容は主にDDDに関することです。 DDDとは DDDとは「Domain-Driven Design」の略語でドメイン駆動設計と呼ばれるソフトウェア開発手法の一つです。問題を解決しようとする領域(ドメイン)をモデリングによってソフトウェアの設計や実装に反映させることで、
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く