AWSでのdocker環境構築を行う方法 その1 CodeCommit編

開発1GのOです。「今回のプロジェクトではdockerを使いたいよね。」ということで調査しました。 構築した環境をAWSに載せるところまでやったのでそれについて書きたいと思います。 と言いつつも全部を一度に書いてしまうとそれなりの量になってしまうので今回はAWS CodeCommitについて解説します。

  1. AWSとdockerで実現したいこと
  2. CodeCommitとは何者か?
  3. CodeCommitの使い方について
  4. おわりに

AWSとdockerで実現したいこと

さて今回実現したいことは以下の2つです。
  1. ローカルの開発環境とAWSの検証及び本番環境を同じにしたい※ちなみに環境はApach+PHPを想定しています。
  2. 開発者の環境構築のコストを抑えたい

1についてはいわゆるオレオレ環境になることの防止を目的としています。 ローカルの環境と本番環境の違いでバグが出た!なんて経験もあるのではないでしょうか。 完全に同じとまでは言えませんがローカル環境と同じ仮想マシンのイメージを本番環境でも動作させることによって ある程度はオレオレ環境の防止ができると思います

2についてはAWSというよりdockerを利用する目的となります。 環境構築は開発の数ある工程のなかでもつまづきやすい工程です。 dockerを利用すれば構築済みの環境をダウンロードするだけなので環境構築の工程が少し楽になります。

CodeCommitとは何者か?

本題に入る前にCodeCommitとは何かを説明したいと思います。 簡単に言ってしまえばCodeCommitとはAWS版のGitリポジトリのことです。 GitHubとかBitbuketとかと同じようなサービスです。

ではなぜCodeCommitを利用する必要があるのでしょうか? GitHubとかBitbuketとかでいいじゃないか!と思う方もいるかもしれません。 確かにCodeCommit単体では他のサービスと大きな差異はありません。 しかし、他のAWSサービスと組み合わせたときに真価を発揮することができるのです。 例えばCodeBuildを使ってソースコードのビルドを行ったり、CodePipeLineとCodeDeployを利用してコードをEC2インスタンスにデプロイしたり…といったことができます。 単純なGitリポジトリというよりも他のAWSサービスで利用するためのリポジトリといった位置づけになるかと思います。 もちろんローカル環境へのプルも可能です。

CodeCommitの使い方について

それでは本題のCodeCommitの使い方についてです。 今回はssh接続でローカル環境からgitでCodeCommitにアクセスしてみたいと思います。 ※https接続もできますが設定が少し複雑なので今回はより簡単なssh接続で行います。
前提条件として以下にご注意ください

  • ・ローカル環境にSorcetreeがインストール済み
    ※今回はローカル環境からSorcetreeを利用してCodeCommitにアクセスします
  • ・AWS CodeCommitにアクセスする権限があるユーザーである
    ※アクセス権限がないとそもそも実行できないため
  • ・秘密鍵と公開鍵を利用するので用意しておく
    ※鍵の作り方については今回は言及しませんのでご了承ください。

1.CodeCommitにリポジトリを作成する 特に説明することはないです。 AWSのサービス一覧からCodeCommitを選択してリポジトリの作成を行ってください。

2.公開鍵の登録 使用する秘密鍵に対応した公開鍵を用意してください。

AWSサービス一覧からIAMを選択し、タブから「ユーザー」を選択し、アクセス権限を付与したいユーザーを選択したください。 選択したら以下のような画面が表示されるかと思いますので「認証情報」タブを選択してください

その後SSH公開キーのアップロードを選択して公開鍵の内容を登録してください。 問題なくアップロードができればSSHキーIDが表示されます。 ※SSHキーIDは後で使用するので控えておいてください

3.configファイルの編集 .sshのconfigファイルを編集します。以下の内容を追記してください。

Host git-codecommit.*.amazonaws.com
User APK***************
IdentityFile ~/.ssh/codecommit

Userには控えておいたSSHキーIDを書きます。 IdentityFile には公開鍵に対応した秘密鍵のファイルパスを記載してください。 ここでは同じ.sshフォルダにcodecommitというファイル名で保存してあります。 ※環境に合わせて記載は変更してください。
この時点でgitのCUIからはアクセス可能になります。 Sorcetreeが親の仇よりも嫌いな方はここで終了でも大丈夫です。

4.Sorcetreeの設定 Sorcetreeはツール>オプションから以下の設定を行ってください

CodeCommitのリポジトリからcloneを行い該当リポジトリにpushできれば成功です。 アクセスした時にユーザー名とパスワードを求められることがありますが、その場合は慌てずにAWSのユーザー名とパスワードを入力してください。

おわりに

今回はCodeCommitの利用法について解説しましてきました。 CodeCommitは他の開発向けサービスを利用する際に起点となるサービスになります。 AWSの環境構築に興味がある方はぜひ参考にしてみてください。 それではここまでお付き合いありがとうございました。

料金表ナビゲーション 料金表ナビゲーション

おすすめ記事