LoginSignup
5
2

More than 5 years have passed since last update.

ド初心者はAWS OpsWorksを始めるにあたって何をすれば良いのか

Posted at

誰向けの記事か

基本的には個人的な情報まとめで、公開用に最低限の調整をしたものです。 OpsWorksの情報、不足してるなーって感じがしたので。

ついさっきまでの僕自身と、同レベルの「OpsWorksを勉強したいけど何から読めば良いか良く分からん」という人には役に立つかもしれない。 少しでもOpsWorksを使ったことがあるような人の役に立つものではない。

ちなみに、Linuxのサーバーについて、authorized_keysが何かとか、パーミッションが何かとか、そのレベルが分かってない場合はChefはまだ早いので、自力で少しはサーバーを扱えるようになってからChefに挑んだ方が近道なんじゃないかと思う。

前提

僕はOpsWorksもChefも超初心者です。機能までbeanstalkとOpsWorksのどっちにするか迷って結局OpsWorksにしようと決めたくらいのレベルです。
昔いた会社ではEngineYardでChefを使っていましたが、僕は数回ちょっとした事をしただけで、もうほとんど覚えてませんでした。
知っていたのはせいぜい「どうやら正しく書かれたChefのスクリプトは冪当性を持つらしい」という程度でした。

OpsWorks を始めるにあたってやるべきこと

要約: Chefについての勉強とか後回しでいいから以下の記事の通りチュートリアル的に進めてしまえ!

まず以下は一応一読しておく。
StackとLayerとInstanceのニュアンスだけ掴んでおけばとりあえずOK。他は後から段々分かってくると思う。
すごい雑な事を言うとStackは運用したいサービス、Layerはその中の役割ごとのグループ(Webサーバー、とか、DBサーバー、とか。)、Instanceはいつも通りのEC2のインスタンス。だいたいそんな感じなんじゃないか、多分だけど。

これ読んだら、もう中にリンクあるんだけど、以下の記事に飛んでいいと思う。
他のチュートリアルを先にやっても良いけれど、いきなりクックブックを使う例も結構丁寧だし、ちゃんと追えば分かるレベルだと思う。 というか、サンプルプロジェクトを言われるがままデプロイしても、特に学びはなかった。

ほか個人的に気になった事とかのメモ

  • gitにレシピを上げると更新作業は少し楽になる
    • ssh-keygenで適当な鍵をつくって、githubの「デプロイ鍵」に公開鍵を設定、秘密鍵をStackの設定に入力するだけで上手く動く。 S3に何度も上げるの面倒だし、githubに置くことを強くオススメします。
    • Repository URL には git@github.com:AknEp/MyOpsworks.git みたいなgitでいつも使う記法で書けば大丈夫
  • インスタンスにsshの鍵を設定し忘れてたら cookbook_file を使ってauthorized_keysを作成するような事も可能。 (後述)
  • これから理解したいこと:
    • まだ ステップ 6: クックブックを更新してユーザーを追加する まで実践した所なので、続きを見ていく
    • SetupとかConfigureとかのイベントはどういう時に発生するものなのか
    • RailsとかのアプリケーションもChefから入れるべきなのか、それともCapistrano/Minaあたりでデプロイする環境の構築をChefで行うべきなのか。どちらもアリだとすれば長所と短所を理解したい
    • そういえばApplicationの役割が良く分かってない。↑と関連する?

SSH鍵のrecipeによる設定方法

emacsが立ち上がるかテストしようと思ったら、SSH鍵を設定してなくて詰んだので、試しにやってみた。

  1. 以下のレシピを作る
recipes/ssh_key.rb
cookbook_file "/home/ec2-user/.ssh/authorized_keys" do
  source "authorized_keys"
  action :create
  owner "ec2-user"
  group "ec2-user"
  mode "0600"
end
  1. 以下のファイルを置く
# 内容はid_rsa.pubみたいな、公開鍵の内容。

だいたいこんな感じ。 きっと、また記事を上げると思います。

5
2
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
5
2