AWS Code Commitをプライベートリポジトリとして使う
2019/05/02
GitHubでもいいんですが、アクセスキーとかパスワードとかコンフィグ系で書いてるコードをマスクして上げているので、マスクしてないのもどこかで管理したくてAWS Code Commitを使う事にしました。
多分仕事でも使うと思いますがそのためにもノウハウは掴んでおきたく。
目次
AWS Code Commitの設定
マネージメントコンソールで開発者用ツールの[Code Commit]をクリックします。

2016/6/25現在でリージョンは「米国東部(バージニア北部)」のみですので他のリージョンの場合はリージョンを変更する画面になりますので変更します。

[Get Started]をクリックします。

[Repository Name]と[Desciption]を入力します。

Dashboardに作成したリポジトリが出来てます。
右の[URL]-[SSH]をクリックしてSSH URLをコピーしておきます。
(といいつつも、あとでコピーしようがいつでもいいです。お好きなタイミングでww)

キーペアの作成
Macで操作してます。
Linuxも同じ方法でいいと思います。
WindowsはPuttyGenとかで作りましょう。
Terminal.appを起動して下記コマンドを実行します。
|
1 2 3 |
$ cd ~/.ssh $ ssh-keygen |
キー名を聞かれるので適当に「code_commit」とかにします。
人それぞれのポリシーかと思いますが、パスフレーズは今回はなしにしてそのままEnterで進めました。
|
1 2 3 4 5 |
Generating public/private rsa key pair. Enter file in which to save the key (/Users/*********/.ssh/id_rsa): code_commit Enter passphrase (empty for no passphrase): Enter same passphrase again: |
code_commit.pubが出来ているので中身を表示してコピーしておきます。
|
1 2 |
$ cat code_commit.pub |
IAM(Identity & Access Management)の設定
マネジメントコンソールでセキュリティ & アイデンティティの [Identity & Access Management]をクリックします。

Code Commitを使用するユーザの[アクセス許可]タブで[ポリシーのアタッチ]をクリックします。
フィルターに「codecommit」とか入れて、フィルタリングされた結果から[AWSCodeCommitPowerUser]を選択して[ポリシーのアタッチ]をクリックします。

[認証情報]タブの一番下に[AWS CodeCommit]のSSHキーという項目が出来ているので[SSH公開キーのアップロード]をクリックします。

フィールドにcode_commit.pubの中身を貼り付けて[SSH公開キーのアップロード]をクリックします。

エラーなくアップロードが出来ればOKです。
生成されたSSHキーIDがリポジトリにアクセスする時のユーザーIDになるのでコピーしておきます。

ローカルにリポジトリを作成
SSH接続するためにssh configファイルを作成します。
(すでにあれば追記してください)
|
1 2 |
$ vim ~/.ssh/config |
UserにはIAMでSSH公開キーをアップロードした際に生成されたSSHキーIDを設定します。
|
1 2 3 4 |
Host git-codecommit.*.amazonaws.com User **************** IdentityFile ~/.ssh/code_commit |
configのパーミッションを600にします。
|
1 2 |
$ chmod 600 ~/.ssh/config |
ローカルリポジトリを作成したいディレクトリに移動して git cloneします。
|
1 2 |
$ git clone ssh://<AWS Code CommitでコピーしたSSH URL> |
エラーがなければ成功です。
ディレクトリに.gitディレクトリが出来ています。
リポジトリで管理したいコード郡をローカルリポジトリディレクトリに移動してコミットしてプッシュします。
|
1 2 3 4 |
$ git add . $ git commit -m "first commit" $ git push |
AWS Code Commitで確認出来ました。

最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。
「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。
「AWS教科書 AWS認定デベロッパーアソシエイト テキスト&問題集 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
関連記事
-
-
AWS Certificate Manager証明書とAmazon Route 53でAmazon API GatewayのAPIのカスタムドメイン名前解決する
AWS Certificate ManagerとAmazon Route 53と …
-
-
Going Serverless with AWS(AWS Summit Tokyo 2017)を聞いてきました
AWS Summit Tokyo 2017でセッション「Going Server …
-
-
EKS「現在の IAM プリンシパルは、このクラスター上の Kubernetes オブジェクトにアクセスできません」
マネジメントコンソールでクラスターのオブジェクトを見ようと、リソースの名前空間や …
-
-
新しいVPCウィザード(2022年)がすんごく便利になってました
VPCウィザードがすんごく便利になってました。 ウィザードの左ペインで設定を選択 …
-
-
Amazon Chimeのチャットを使ってみました
Amazon Chimeはビデオミーティングや配信したりというサービスですが、チ …
-
-
EC2 Global Viewで不要なインスタンスを見つけて4つほど終了しました
EC2 Global Viewという機能がリリースされました。 EC2コンソール …
-
-
Amazon SESの受信ルールでSNSトピックを追加
SESの受信ルールにSNSトピックを設定してみました。 [View Active …
-
-
AWS CloudFormationでAmazon DynamoDBテーブルを作ってアイテムを追加する
デモ用にDynamoDBテーブルを作って消して、ということをたまにするので、Cl …
-
-
AWS CDK とにかくサンプルでやってみる
Cloud9でAWS CDK環境で作った環境でサンプルプロジェクトからのデプロイ …
-
-
AWS CLIを使用せずにCodeCommitへSSHユーザーで接続する
AWS CLIやアクセスキーID、シークレットアクセスキーなどを開発環境にセット …
