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などからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
関連記事
-
-
Rocket.ChatのOutGoingWebhookからのAPI GatewayからのDynamoDB
少し前に、Rocket.ChatからOut Going Webhookを設定して …
-
-
iPad ProのWorking CopyでAWS CodeCommitのリポジトリを使う
iPad Proを導入しましたので、原稿執筆や校正でフル活用しようと思いまして。 …
-
-
AWS東京リージョンのAZ(apne1-az1)障害時の当ブログで発生していたことの記録
日本時間2/19 23:01頃より、東京リージョン、特定AZの1つでEC2インス …
-
-
Kinesis Data AnalyticsをKinesis Data Streamsに接続してSQL検索する
Amazon Kinesis Data StreamsにTwitter検索データ …
-
-
Amazon API GatewayをLambda(Python)で削除する
やりたいこと 特定のAWSアカウント、特定のリージョン内のAPI Gateway …
-
-
EC2 Auto Scalingグループでインスタンスの更新を実行
このブログのAMI、起動テンプレートを更新して、EC2 Auto Scaling …
-
-
Introduction to Amazon EKS Workshopの記録
AWS Workshop StudioのIntroduction to Amaz …
-
-
Amazon CloudWatch Syntheticsでハートビートモニタリングを実行
このブログに対してハートビートモニタリングのCanaryを実行してみました。 C …
-
-
プライベートサブネットのEC2でセッションマネージャを使うようVPCエンドポイントを構成する
インターネットゲートウェイへのルートがないルートテーブルに関連付けられたプライベ …
-
-
AWS EC2 Amazon Linux にEC-CUBE3をnginx+MySql環境へインストール(手順検証中)
EC2インスタンスを作成する 少し古い記事で恐縮ですが試したい事があるのでAWS …
