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などからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
関連記事
-
-
IAMユーザーにパスワード変更とMFA設定を許可する
組織管理のIAMで、ユーザーにMFAを使ってサインインしない限り操作は許可しない …
-
-
EKS「現在の IAM プリンシパルは、このクラスター上の Kubernetes オブジェクトにアクセスできません」
マネジメントコンソールでクラスターのオブジェクトを見ようと、リソースの名前空間や …
-
-
AWS Elastic Beanstalkによって作成されたS3バケットはDeleteBucketが拒否されていた
ちょっとした検証をしたあとに、Elastic Beanstalkのアプリケーショ …
-
-
EC2スポットインスタンスの中断通知を受ける
オートスケーリンググループでEC2インスタンスをスポットインスタンスで使用してい …
-
-
Cloud9でSAMローカルテスト
せっかくテストするので、Amazon CloudSearchからAmazon E …
-
-
Amazon Glacierでボールトロックポリシーの作成開始をしてみました
Glacierを単体で使用することもそうそうないので、確認しました。 まずボール …
-
-
オンプレミスに見立てたオハイオリージョンにVyOSインスタンスを起動して東京リージョンからVPN接続
AWSクイックスタートのActive Directory Domain Serv …
-
-
slackのbotをAWS Lambda(Python)+API Gatewayで構築
slackで投稿した内容に応じて返信したり調べ物したりしてくれるbotですが、こ …
-
-
AWS Systems Managerパラメータストアで「Parameter name must be a fully qualified name.」
パラメータストアでパラメータ階層を作成しようとして、パラメータ名に例えば「wor …
-
-
Lambda関数からAWS Systems Managerパラメータストアの値を取得して更新する
Lambda関数で自分自身の環境変数を更新する だと、Lambdaのエイリアスと …
