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認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
関連記事
-
-
AWSのAmazon LinuxにGitマスターサーバをインストールしてRedmineリポジトリブラウザで見る
Amazon LinuxにGitをインストールする Gitをインストールして自動 …
-
-
AWS Service CatalogポートフォリオをOrganizations組織で共有する
AWS Service Catalogチュートリアルで作成したポートフォリオのO …
-
-
Lambda関数をPython3.6から3.9に変更
CodeGuru ProfilerでLambda関数(Python 3.9)のパ …
-
-
RocketChatからOutgoing Webhookで呼び出されたAPI Gatewayでtokenをリクエスト検証する
本来はWAFでやったほうがよさそうですが、追加料金を発生させたくない場合にAPI …
-
-
「CMC_Central 2024」に参加しました
個人サポーターとしてCMC_Central 2024に参加しました。 オープニン …
-
-
S3オブジェクトへのリクエストをCloudTrail, Athenaで識別する(パーティショニング)
Amazon S3オブエジェクトへのリクエストをCloudTrail, Athe …
-
-
Amazon ECSサービスでAWS App Meshを使用
AWS App MeshユーザーガイドのAWS App Mesh とAmazon …
-
-
AWS Organizations SCPで許可ポリシーの設定をし継承の関係を確認する
ユーザーガイドのサービスコントロールポリシーの例にはDeny(拒否)ばっかりでA …
-
-
AWS Control TowerにOUを追加する
AWS Control TowerにOUを追加する 管理アカウントでAWS Co …
-
-
RocketChat(EC2インスタンス)でCPU80%以上を10分間継続したら再起動する
先日、数日間のやり取り用で完全に使い捨てとして使っているRocketChatで、 …
