LoginSignup
13
18

More than 3 years have passed since last update.

AWS CodeCommitを使ってGitリポジトリを作る

Last updated at Posted at 2018-09-16

はじめに

Gitのホスティングサービスの1つであるAWS CodeCommitの利用方法を、同僚に説明することになったので、手順を整理します。

本記事の対象

Gitを扱うことができますが、AWSにはあまり慣れていない人が対象です。
例えば、AWS CLI(AWS専用のコマンドラインツール)を使った方法は、この記事では登場しません。

CodeCommitのリポジトリを作成する

さっそく、CodeCommitのリポジトリを作成していきましょう。

https://console.aws.amazon.com/codecommit/ にブラウザでアクセスしてください。ダッシュボードというページが開きます。

CodeCommit_10.PNG

リポジトリの作成をクリックすると、リポジトリの作成という画面になります。

CodeCommit_15.PNG

適当に入力してください。

  • リポジトリ名: 適当に
    • 例. ci-practice
  • 説明: 適当に
    • 例. CIの練習

リポジトリの作成をクリックすると、Eメール通知の設定という画面になります。

CodeCommit_20.PNG

いろいろとチェックボックスがありますが、デフォルトのままよいと思います。スキップをクリックすると、リポジトリに接続というドロワー画面が右から出てきます。

CodeCommit_25.PNG

これが表示されれば、リポジトリの作成は成功です。

ここにはリポジトリをローカルにクローンする方法が記載されています。ここの情報に従って、リポジトリをクローンしてください。クローンの情報は後で確認できるので、この場は無視して閉じるをクリックしても構いません。

閉じると以下のような画面になります。

CodeCommit_30.PNG

クローンURLSSHをクリックすると、以下のような文字列がクリップボードにコピーされます。

ssh://git-codecommit.●●●.amazonaws.com/v1/repos/●●●

これがクローンURLです。これをメモに控えます。

プライベートキーを作成する

作成したリポジトリとSSH通信するためには、パブリックキーとプライベートキーが必要です。2つを合わせてキーペアと呼びます。

https://console.aws.amazon.com/ec2/ にブラウザでアクセスします。EC2 ダッシュボードが開きます。

KeyPair_10.png

左サイドバーにあるネットワーク & セキュリティキーペアをクリックし、キーペアの作成をクリックします。すると、ダイアログが出ます。

KeyPair_15.png

キーペア名 に適当に名前を入力してください。名前はなんでもいいですが、CodeCommit用であることと、誰が作成したのかわかるような命名が便利だと思います。
以降の説明は例として segur-codecommitとします。

入力ができたら 作成 をクリックします。すると、pemファイルのダウンロードが始まります。このタイミング以外で、pemファイルを入手することはできませんので、失くさないように注意してください。

以下のパスにフォルダを作成し、ダウンロードしたpemファイルを設置します。

  • Windowsの場合:%USERPROFILE%\.ssh\aws
  • Macの場合: ~/.ssh/aws

パブリックキーを作成する

pemファイルからパブリックキーを作成します。WindowsとMacの両方の手順を紹介します。

Windowsの場合

ここでは、PuTTYgenを使う方法を紹介します。
PuTTYをインストールしていなければインストールしてください。

PuTTYgen を起動して、Load をクリックします。

KeyPair_25.png

ファイル選択ダイアログが表示されます。デフォルトの状態だとppkファイルしか選択できないので、右下のプルダウンをAll Filesに変更します。
その上で、先ほど保存したpemファイルを選択します。

KeyPair_30.png

すると、画面上部のテキストエリアにパブリックキーの文字列が表示されます。

KeyPair_35.png

この文字列をメモに控えます。下の方にSave Public Keyというボタンがありますが、これはOpenSSH形式で保存できず、CodeCommitでは使用できませんのでご注意ください。

Macの場合

以下のコマンドを叩きます。

ssh-keygen -y

ファイル入力を求められるので、さきほどのpemファイルのパスを指定します。

~/.ssh/aws/segur-codecommit.pem

すると、パブリックキーの文字列が表示されるので、メモに控えます。

このコマンドが失敗した場合は、アクセス権限が適切でないかもしれません。以下のコマンドで、自分だけがpemファイルを操作できるように、権限を調整してください。

chmod 400 ~/.ssh/aws/tanaka-codecommit.pem

パブリックキーを IAM ユーザーに関連付ける

https://console.aws.amazon.com/iam/ を開きます。

左サイドバーから ユーザー をクリックし、ユーザー一覧の中から自分の IAM ユーザーを選択します。

認証情報 タブで、SSH 公開キーのアップロード を選択します。

先ほどメモに控えたパブリックキーの文字列を入力欄に貼り付け、SSH 公開キーのアップロード をクリックします。
SSHキーIDが生成されるので、メモに控えます。

プライベートキーをPCに登録する

以下のパスにconfigファイルがなければ作成します。

  • Windowsの場合:%USERPROFILE%\.ssh\config
  • Macの場合: ~/.ssh/config

configファイルに以下の内容を追記します。

# AWS CodeCommit
Host git-codecommit.*.amazonaws.com
    User <アクセスキーID>
    IdentityFile <pemファイルのフルパス>

プロキシ配下の場合、プロキシの設定を以下のように追加してください。

# AWS CodeCommit
Host git-codecommit.*.amazonaws.com
    User <アクセスキーID>
    IdentityFile <pemファイルのフルパス>
    ProxyCommand connect -H <プロキシのユーザー名>:<プロキシのパスワード>@<プロキシのIPアドレス>:<プロキシのポート番号> %h %p

以上で、キーペアの設定は完了です。

これで、CodeCommitに対し、SSH接続でcloneやpushができるようになります。

リポジトリをCloneする

メモに控えていたクローンURLからcloneしてみます。

ここではGitコマンドを使ってみます。

# cloneしたいディレクトリに移動
cd <cloneしたいディレクトリ>

# リポジトリをclone
git clone ssh://git-codecommit.●●●.amazonaws.com/v1/repos/●●●

これでcloneができるはずです。

さいごに

今まで、何となくの理解で、リポジトリやキーペアを作成していましたが、記事にまとめてみると、意外とボリュームのある作業で驚きました。参考になれば幸いです。

13
18
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
13
18