WSでELBのSSL証明書を設定する

概要
サイトにSSL証明書を設定しようと思いAWSの認証局から発行を行いました。
流れとしてはAWSで証明書を発行しこの証明書をELBに設定します。

ACMで証明書を申請する

ELBに設定するための証明書を申請します。

SSLを設定するためのドメインを入力します。

ドメイン所有者を証明するために承認を受けます。
メールで承認をするための確認をする方法もありますがこの場合だとメールが受信できないといけません。
whoisに登録されているドメイン管理者に届くのですがドメイン管理者を代行している場合やそもそもメールを使えるようになっていないとできません。ネットで調べるとSESを使ってS3に一時的に保存する方法が出てきますがこれだと面倒です。
今回はこれを回避するためにDNSで設定を行います。
※ この方法はroute 53でドメインを設定している時のみ使えます。

証明書が出来上がったらelbに証明書をセットしたら完了です。

最後に

apacheとかに設定するときはわざわざ証明書を発行してセットしてという作業が必要ですが、
awsならelbにセットするだけなので簡単ですね。
証明書の更新も自動でやってくれるようなので安心です。

awsのcodecommitを始めた

概要

githubではプライベートなレポジトリを作るにはお金を払わないと使えません。
プライベートなレポジトリならbitbucketという手もありますが実はawsのcodecommitもある程度無料で使えます。
個人で使う程度ならawsで十分だと思います。

iamでユーザーを作成する

rootのユーザーではcodecommitを利用できないのでユーザーを作成しました。
あくまで個人利用前提なので直接ポリシーをアタッチしてしまいました。

秘密鍵の設定

awsの管理画面からiamで上記で作成したユーザーへ秘密鍵を接敵します。
まず開発するPCでssh-keygenで秘密鍵を生成します。
出来上がったらこの鍵を管理画面から登録します。

レポジトリを作成する

レポジトリを作成し設定を行います。
作成したレポジトリにrootのアカウントで設定しようとするとできないので最初に作成したユーザーでアクセスし設定します。
キーはアップロードしてあるので設定ファイルをローカルマシンに設定します。
場所は(~/.ssh/config)です。

Host git-codecommit.*.amazonaws.com
User Your-IAM-SSH-Key-ID-Here
IdentityFile ~/.ssh/Your-Private-Key-File-Name-Here

最後に

意外とコードの置き場所に困るたとがあると思いますがこれでプライペートなgitのレポジトリを置くことができるようになりました。

AWS Route53にサブドメインを追加する

概要

AWSで運用しているサイトでサブドメインを追加するにはどうしたらいいんだろう?と思い調べて試してみました。
ちなみに独自ドメインは取得してありなおかつelbは設定済みという前提です。
ネットとかでみたら?な部分が多かったのですがやってみたら簡単でした。

Route53に管理画面ページへ遷移


AWSコンソールからRoute53へ移動します。
ちなみに1年くらい前にAWSコンソール画面のデザイン変わりましたよね、、、、、。
最初は使いにくいなと思いましたが慣れると悪くないですね。
デザイン変更が嫌ならaws-cliでやりなさいってことなんだろうな〜

サブドメインの追加


自分の場合はすでにドメインを設定しているので登録しているドメインの createrecordsetを押下してサブドメインを追加しました。elbを設定してるので alias target にはelbを指定します。

終わり

上記後にブラウザから新しく作成したサブドメインにアクセスすればページが表示されるかと思います。
あとはelbにぶら下がっているec2内のnginxなどでルーティングしてあげればドメイン毎に別々のページを表示できますね。