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などからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
関連記事
-
-
iPad ProのWorking CopyでAWS CodeCommitのリポジトリを使う
iPad Proを導入しましたので、原稿執筆や校正でフル活用しようと思いまして。 …
-
-
AWS Transit GatewayのAcceleratedサイト間VPN接続確認
Transit GatewayでVPN接続を作成するときに、Global Acc …
-
-
Route 53のホストゾーンにサブドメインを登録する
親ドメインを移行しないでサブドメインの DNS サービスを Amazon Rou …
-
-
クロスリージョンでEFSをマウントしてみる
ニーズがあるかどうかはさておき、クロスリージョンでのEFSファイルシステムをマウ …
-
-
Amazon SNSサブスクリプションフィルターを設定してPython(boto3)からPublish
上記のような構成でRocketChatを使うとき使わないときがあります。 都度都 …
-
-
AWS WAFの個別ルールを設定する
Web ACLを選択して、[Add my own rules and rule …
-
-
特定AWSアカウント特定リージョンのCloudFormationスタックを削除するLambda(Python)
やりたいこと 特定アカウント内特定リージョン内のCloudFormationスタ …
-
-
AWS LambdaでChrome HeadlessドライバをAWS Lambda Layersから使う
この記事はSelenium/Appium Advent Calendar 201 …
-
-
AWS LambdaのSQSへの自前ポーリングをやめてSQSイベントソーストリガーに変更した
以前は、LambdaがSQSからメッセージを受信するには、キューをポーリングして …
-
-
Amazon CloudWatch クロスリージョンクロスアカウントダッシュボードを作成
本ブログのCloudFrontとWAFのアカウントと、EC2、RDS、S3などオ …
