Eureka EngineeringLearn about Eureka’s engineering efforts, product developments and more.
![物理サーバを選定する際のポイント – Eureka Engineering – Medium](https://cdn-ak-scissors.b.st-hatena.com/image/square/96c17240e5e2d585a7b88afbfdb589268b9535b1/height=288;version=1;width=512/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1200%2F1%2A4nQvYibd3aHYOp1xrvmfMQ.png)
Eureka EngineeringLearn about Eureka’s engineering efforts, product developments and more.
クラウドワークスの缶コーヒーエンジニアの森田(@minamijoyo)です。 だいたい毎日缶コーヒーを飲みながら主にインフラ周りの仕事をしてるので、クラウドワークスのインフラの一部は缶コーヒーでできていると言っても過言ではないんじゃなかろうかと思う今日この頃。ちなみに最近のマイブームはFIREのハワイアン微糖です。 これまでのあらすじ クラウドワークスではAWS(Amazon Web Services)でサーバを運用しており、AWSでのIAM(Identity and Access Management)ユーザのグループポリシーの管理について、以前こんな記事を書きました。 TerraformでAWSのIAMユーザのグループポリシーを管理する - Qiita Terraform+Atlas+GitHubでAWSのIAMユーザのグループポリシーをいいかんじに管理する - クラウドワークス エン
はじめに 皆さんAWSのIAMの権限管理ってどうしてますか?IAMはAWSを使う以上は避けては通れない機能ですが、すこぶる使い勝手が悪く、悩ましい問題です。人数が少なければ全員Administratorsでもいいんですけど、人数増えてくると全員Administratorsなのもちょっと微妙。かと言って、開発チーム内でIAM権限絞ると、既存の業務から外れた、何か新しいことをしようとすると権限足りないエラーになって、権限ある人にお願いしないと権限変更できないとかなると、開発のスピードが落ちます。あと、権限ある人もIAMポリシーを人のために調べて書くのは苦痛です。できればポリシーは権限が欲しい人に調べて書いてもらいたいところです。 そこで、Terraformを使ってIAMのポリシーを管理すれば、IAMのコンソールでJSONを編集するという苦行から開放され、gitで管理できるようになり、かつ権限を
手元の mac に brew でインストールした terraform ですが、 brew upgrade でなかなか降ってこないので手動でバージョンアップしてみます。 手動バージョンアップと言ってもシンボリックリンクの書き換えしただけなので、メモとして残します。 私の環境では terraform は以下の様にインストールされています。 $ ls -l /usr/local/bin/terraform* lrwxr-xr-x 1 hoge hage 39 Apr 27 14:21 /usr/local/bin/terraform -> ../Cellar/terraform/0.4.2/bin/terraform lrwxr-xr-x 1 hoge hage 54 Apr 27 14:21 /usr/local/bin/terraform-provider-atlas -> ../Cella
Kubernetes用VMイメージの作成 Packerを使う Kubernetesクラスタの構築がしやすいよう、あらかじめ主要なパッケージがインストールおよびセットアップされているOpenStackのVMイメージをPackerで作成します(図3)。 Packerを使い、etcdに関するパッケージなど全てのVMで共通で使用するパッケージは事前にイメージに取り込みます。 こうすることで、VMを立ち上げた初期状態でKubernetesを構築するために、ある程度準備された環境が提供され、後のデプロイ作業を効率化します。 図3. PackerによるKubernetes用VM作成 Packerの設定とイメージ作成 OpenStackに上がっているVMイメージをベースにKubernetes用のイメージを生成します。 手元にイメージをダウンロードする必要はありません。 JSON形式の設定ファイルに変数(v
はじめに こんにちは、中山です。 Terraformを使用していく中で、どのようなディレクトリ構造(tfファイルの配置方式)がベストなのかと考えたことはありませんか。私自身いろいろと試している最中なのですが、現時点で私が考えるベストプラクティスをご紹介します。 ディレクトリ構造 いきなりですが、以下のとおりです。 ├── Makefile ├── README.md ├── app.tf ├── bastion.tf ├── cloudfront.tf ├── db.tf ├── elasticache.tf ├── elb.tf ├── envs │ ├── dev │ │ ├── main.tf │ │ └── variables.tf │ ├── prd │ │ ├── main.tf │ │ └── variables.tf │ └──
インフラエンジニアも、そうでないエンジニアも、程度の差こそあれAWS(パブリッククラウド)の知識は欠かせないものになりつつあります。しかしながら、食わず嫌いだけならまだしも、AWSにそこそこ取り組み続けているのに、しばしば嫌気がさすことすらあるのは、AWSの複雑さが原因の1つであるといっていいでしょう。 今回は、そんな複雑な仕組みの一つを、Terraform用にコード化することでココロのスキマ、お埋めします。 Infrastructure as Code の過程 Infrastructure as Code によって、手動管理をやめて自動化することのメリットは言うまでもないですが、今回は自動化する過程にこそ非常に大きなメリットがある、という視点にスポットを当てていきます。 AWSは多機能で便利であるがゆえに、複雑です。そして、複雑であるがゆえに、お客さんに簡単に扱ってもらえるよう、操作が簡
Terraformは、あらかじめインフラ構成を設定ファイルに記述して、 クラウド環境に適用・管理するツールです。 Vagrantなどを開発しているHashiCorpのツールになります。 AWSだけではなく様々なプロバイダに対応していますが、AWSで使用してみました。 インストール Linuxサーバに入れてみました。 ダウンロードしてきて展開するだけで使えます。 cd /opt mkdir terraform cd terraform wget https://releases.hashicorp.com/terraform/0.6.16/terraform_0.6.16_linux_amd64.zip unzip terraform_0.6.16_linux_amd64.zip パスを通すと便利でした。 vi ~/.bashrc export PATH=/opt/terraform:
はじめに こんにちは、中山です。 先程Terraformのv0.6.15がリリースされましたね! CHANGELOGはこちらです。さまざまなアップデートが含まれるのですが、やはりCloudFrontへの対応に目を引かれました。 aws_cloudfront_distribution とaws_cloudfront_origin_access_identity がCloudFront用のリソースです。以前のバージョンでもaws_cloudformation_stackリソースを使用すればCloudFrontの作成も可能でしたが、やはりリソースという形で対応してくれるとうれしいですね。 という訳で、早速使ってみたのでレポートしてみます。 インストール まずはTerraformをインストールしましょう。 $ brew update $ brew cask install terraform バー
2017-06-17: この記事はもう古いです。Terraform v0.8.x 以下を対象としています。 2017/03 にリリースされた Terraform v0.9.0 で remote config 周りの仕様が大きく変わりました。 S3 に置くファイル形式は変わってないですが、特に CLI 周りで後方互換性のない変更が入っています。例えば terraform remote コマンドが無くなっています。 詳しくは以下の公式ドキュメントを読んで下さい。 Backends - Terraform by HashiCorp Backends: Migrating From 0.8.x and Earlier - Terraform by HashiCorp というわけで、以下の記事は Terraform v0.8.x 以下を対象としたものになります。 2015-05-08 にリリースされ
About TerraformでRDSも作成できると、初期構築が早くなりそうなのでやってみます。 前提 v0.6.14 VPCなどの環境は事前に作成済み RDS RDSを構築するには4つのリソースが必要です。 aws_db_subnet_group aws_security_group aws_db_parameter_group aws_db_instance subnet db用のsubnetを定義しましょう。 resource "aws_db_subnet_group" "db-subnet" { name = "test-db-subnet" description = "test db subnet" subnet_ids = ["${aws_subnet.private.0.id}", "${aws_subnet.private.1.id}"] } security group
EC2でサーバーを構築する場合、負荷分散や可用性を考慮して複数台構成とする場合が多いかと思います。 全く同じ構成のEC2インスタンスを複数台構築する、、今回はTerraformでをそれを行う場合のTIPSをいくつかご紹介いたします。 前提 以下のEC2のリソース定義をベースに、各種TIPSを適用していきます。サブネット、セキュリティグループは既存のものを利用する前提で話を進めます。 variable aws_access_key {} variable aws_secret_key {} provider "aws" { access_key = "${var.aws_access_key}" secret_key = "${var.aws_secret_key}" region = "ap-northeast-1" } resource "aws_instance" "web" { am
お久しぶりです。tjinjinです(╹◡╹) 最近じめじめしていますね。梅雨あけると夏ですよ!!夏アニメが始まりますよ!! ということで、PV見た感じの私のおすすめは六花の勇者です!”りっか”ではなく”ろっか”です! AWS環境のコード化 弊社ではAWS環境の構築を管理コンソールでの温かみのある作業やRakeTaskで行ってきましたが、サービスを新規で立てるのに時間がかかるという課題があり、AWS環境もコード化したいという思いがありました。インフラチーム内で検討した結果、 名前がかっこいい コードが読みやすいということで一部サービスでterraformを採用し始めています。 terraformを使って行く中で、何点か壁にぶち当たったので情報共有できればと思います。 terraformとは? 一言で表すとインフラ構成をコード化することのできるツールというところでしょうか。みんな大好きHash
Terraform は、主にインフラをスクラッチから構築する際に有用なツールです。 ですが、いま動いている既存のインフラに Terraform を導入したい、既存のインフラを Terraform で管理したいと思う方もいるのではないでしょうか。 今回は、Terraforming を使って既存のインフラを Terraform で管理できるようにする方法を紹介します。 Terraforming とは Terraforming は、AWS の API を叩いて既存のインフラリソースから Terraform のコードを生成するツールです。 兄弟分に、DNSimple 用の Terraforming::DNSimple があります。 インストール RubyGems として公開されているので、
ピックアップ aws_cloudfront_dirstribution のattributeに hosted_zone_id が追加 aws_s3_bucket や aws_elb リソースにはALIASレコードを設定する際に利用する hosted_zone_id というattributeがあります。今回のアップデートで aws_cloudfront_dirstribution にもこのattributeが追加されました。今まででもCloudFrontのHosted Zone IdをハードコードしてあげればALIASレコードの作成はできたのですが、attributeとして追加されることでより簡単に利用することができるようになりました。 以下にCloudFrontのドメインに対してALIASレコードを設定するサンプルコードを記載します。ドメインは適当なものに読み替えてください。 variab
Eureka EngineeringLearn about Eureka’s engineering efforts, product developments and more.
概要 TerraformのAWSを使って、CLIを通してインスタンスの起動→変更→停止を行うためのチュートリアル。Terraform の基本概念である plan apply show のサイクルを理解するためのもの。 追記 Terraformのblog投稿、参考訳 - Qiita http://qiita.com/zembutsu/items/402e02950ce9d59fa0e6 Terraform入門 日本語訳 - Qiita http://qiita.com/zembutsu/items/84f5478701c5391df537 Terraform とは Hashicorp (Vagrant, Packer, Serf, Consul を作っている会社) によって 7/28 に公開された新しいオープンソースのプロダクト。 Terraform http://www.terraform
OSやミドルウェアの機能検証を実施した場合など、オンデマンドで一時的な検証環境を構築できるのもクラウドサービスの醍醐味です。 検証対象のOSやミドルウェアは異なれど、検証に必要な環境はある程度共通であることが少なくなく、また費用節約のためにも検証が終わった後はきれいさっぱりとその環境を削除したいものです。 AWSでそんな使い捨ての環境を構築する場合の方法として、ファーストチョイスとなるのはAWS CloudFormationかと思います。検証環境をテンプレート化しておくことができ、またマネージメントコンソールやAWS CLIを使って簡単に環境の構築/削除ができる、使い捨て環境の構築にはぴったりのサービスです。あるいはAWS CLIやAWS SDKを使って自前の環境構築スクリプトを作成するのもよいかもしれません。 AWS公式のツールを使う以外では、Terraformが有力な選択肢の1つになる
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く