[{"data":1,"prerenderedAt":1560},["ShallowReactive",2],{"/ja-jp/blog/aws-multi-account-cicd-gitlab":3,"navigation-ja-jp":771,"banner-ja-jp":1197,"footer-ja-jp":1205,"blog-post-authors-ja-jp-Tsukasa Komatsubara|Issei Hamada, Sony Biz Networks Corporation":1446,"blog-related-posts-ja-jp-aws-multi-account-cicd-gitlab":1474,"blog-promotions-ja-jp":1497,"next-steps-ja-jp":1551},{"id":4,"title":5,"authors":6,"body":9,"category":747,"date":748,"description":749,"extension":750,"externalUrl":751,"faq":751,"featured":116,"heroImage":752,"meta":753,"navigation":116,"path":754,"seo":755,"slug":760,"stem":761,"tags":762,"template":769,"updatedDate":751,"__hash__":770},"blogPosts/ja-jp/blog/aws-multi-account-cicd-gitlab.md","GitLabで実現するマルチアカウントCI/CD",[7,8],"Tsukasa Komatsubara","Issei Hamada, Sony Biz Networks Corporation",{"type":10,"value":11,"toc":716},"minimark",[12,23,27,34,37,43,47,54,58,64,67,70,74,77,81,84,124,128,131,147,151,154,205,209,212,220,225,228,232,235,239,253,282,285,289,292,298,301,307,312,316,319,351,355,358,392,395,399,402,431,434,438,441,486,489,493,505,509,512,516,558,561,565,613,617,620,624,627,631,634,640,644,647,653,656,660,663,669,672,676,679,690,693,712],[13,14,15,22],"p",{},[16,17,18],"em",{},[19,20,21],"strong",{},"編集部注：私たちは時折、パートナーコミュニティのメンバーにGitLabブログへの寄稿をお願いしています。今回、ソニービズネットワークス社のエンジニアである濱田一成氏に、共同執筆いただきました。","\nソニービズネットワークス株式会社所属のエンジニア、濱田 一成です。先日、GitLab 様との共同企画でAWS様の作成したマルチアカウントIaC・CI/CDワークショップを、GitLabを用いた構成にリファクタリングしました。本記事は、そのワークショップの解説記事です。",[24,25,26],"h1",{"id":26},"従来の構成",[13,28,29,33],{},[30,31],"img",{"alt":26,"src":32},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1760602837/zlrn0hwtrnkfzqxakeya.png","\n元のワークショップはAWSサービスのみでCI/CDパイプラインを構成しています。このワークショップは手軽に継続的インテグレーションを体験出来ることから、非常に高い評価を得ていました。しかし現在AWS CodeCommitは新規顧客の受け入れを停止しており、元ワークショップも新たなお客様のご利用が出来なくなっていました。",[24,35,36],{"id":36},"リファクタリング後の構成",[13,38,39,42],{},[30,40],{"alt":36,"src":41},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1760602839/ztsdyztzdtoyvusqkknp.png","\nそこで今回、AWS CodeCommitをGitLabに置き換え、CI/CDを体験するワークショップとしてリファクタリングを行いました。本ワークショップのAWS CDKコードをご利用頂く事で、GitLabをソースリポジトリとして組み込んだCI/CDパイプラインを体験頂けます。",[24,44,46],{"id":45},"ワークショップのポイントaws-codeconnections","ワークショップのポイント：AWS CodeConnections",[13,48,49,50],{},"AWS CodeConnectionsは、AWSと様々なコードリポジトリを接続するサービスです。本サービスを利用する事で、SaaS版GitLabはもちろん、セルフホスティング版のGitLabも、AWS上に構築したCI/CDパイプラインに組み込むことが出来るようになります。今回のワークショップではVPC内にGitLabサーバを構築し、インターネット経由でAWS CodeConnectionsと接続します。\n",[30,51],{"alt":52,"src":53},"ワークショップのポイント： AWS CodeConnections","https://res.cloudinary.com/about-gitlab-com/image/upload/v1760602837/ivj1wswqvlwrkqlzrs70.png",[55,56,57],"h2",{"id":57},"プライベートネットワーク接続にも対応している",[13,59,60,61],{},"今回のワークショップではインターネット経由でGitLabと接続していますが、もちろん閉域に閉じることも可能です。AWS CodeConnectionsを作成する時に、オプションでVPCを指定する事が出来ます。こちらを指定すると、AWS CodeConnectionsとGitLab間の通信専用のENIが作成されます。AWS CodeConnectionsは、このENIを経由してGitLabと通信する事で、閉域網内での利用を実現しています。\n",[30,62],{"alt":57,"src":63},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1760602892/tn5rx1nrpiyyzglmcuo9.png",[24,65,66],{"id":66},"ワークショップ手順解説",[13,68,69],{},"従来のワークショップとの差分は、【Lab 1：CI/CDパイプライン環境のセットアップ】のうち、【手順5. GitLabをデプロイする】のみです。そこで今回は本セクションについて重点的に解説します。",[55,71,73],{"id":72},"前提事項gitlab用公開ドメインを用意する","前提事項：GitLab用公開ドメインを用意する",[13,75,76],{},"本ワークショップでは、GitLabと同じアカウントのRoute53にホストされている公開ドメインが必要です。\nAWS CodeConnectionsの要件として、GitLabとの通信はTLS暗号化が必須となっています。GitLabはデフォルトでLet’s Encryptと統合していますが、GitLabのインストール中に指定したURLの名前解決を行えないとLet’s Encryptの設定が失敗してしまいます。その為、今回はCDKのデプロイプロセスの中にレコード登録を組み込んでいます。\nちなみに、このAWS CodeConnectionsのTLS要件はプライベート接続でも同様に求められます。その場合、CodeConnectionsの設定作成時にプライベート証明書をアップロードする必要があります。",[55,78,80],{"id":79},"手順1-インフラ-cicdのセットアップに必要なアセットのダウンロード","手順1. インフラ CI/CDのセットアップに必要なアセットのダウンロード",[13,82,83],{},"本Labの実施に必要なコード一式を、gitコマンドでダウンロードしてください。",[85,86,91],"pre",{"className":87,"code":88,"language":89,"meta":90,"style":90},"language-shell shiki shiki-themes github-light","git clone \n\nhttps://github.com/issei-hamada/goverment-cloud-iac-cicd-with-gitlab.git\n","shell","",[92,93,94,111,118],"code",{"__ignoreMap":90},[95,96,99,103,107],"span",{"class":97,"line":98},"line",1,[95,100,102],{"class":101},"s7eDp","git",[95,104,106],{"class":105},"sYBdl"," clone",[95,108,110],{"class":109},"sgsFI"," \n",[95,112,114],{"class":97,"line":113},2,[95,115,117],{"emptyLinePlaceholder":116},true,"\n",[95,119,121],{"class":97,"line":120},3,[95,122,123],{"class":101},"https://github.com/issei-hamada/goverment-cloud-iac-cicd-with-gitlab.git\n",[55,125,127],{"id":126},"手順2-アセットの確認","手順2. アセットの確認",[13,129,130],{},"ダウンロードしたプロジェクトの配下に、以下ディレクトリがあることを確認します。",[132,133,134,138,141,144],"ul",{},[135,136,137],"li",{},"artifact-repository",[135,139,140],{},"gitlab",[135,142,143],{},"cicd-pipeline",[135,145,146],{},"cdk-role\n後の手順で、ディレクトリ毎に作業します。",[55,148,150],{"id":149},"手順3-パッケージのインストール","手順3. パッケージのインストール",[13,152,153],{},"Node.jsの必要なライブラリをインストールします。",[85,155,157],{"className":87,"code":156,"language":89,"meta":90,"style":90},"# ディレクトリ移動 \n\ncd goverment-cloud-iac-cicd-with-gitlab \n\n# package.json に登録されているものをインストール\n\nnpm ci\n",[92,158,159,165,169,180,185,191,196],{"__ignoreMap":90},[95,160,161],{"class":97,"line":98},[95,162,164],{"class":163},"sAwPA","# ディレクトリ移動 \n",[95,166,167],{"class":97,"line":113},[95,168,117],{"emptyLinePlaceholder":116},[95,170,171,175,178],{"class":97,"line":120},[95,172,174],{"class":173},"sYu0t","cd",[95,176,177],{"class":105}," goverment-cloud-iac-cicd-with-gitlab",[95,179,110],{"class":109},[95,181,183],{"class":97,"line":182},4,[95,184,117],{"emptyLinePlaceholder":116},[95,186,188],{"class":97,"line":187},5,[95,189,190],{"class":163},"# package.json に登録されているものをインストール\n",[95,192,194],{"class":97,"line":193},6,[95,195,117],{"emptyLinePlaceholder":116},[95,197,199,202],{"class":97,"line":198},7,[95,200,201],{"class":101},"npm",[95,203,204],{"class":105}," ci\n",[55,206,208],{"id":207},"手順4-artifact-repositoryをデプロイする","手順4. artifact-repositoryをデプロイする",[13,210,211],{},"以下コマンドを順に実行し、artifact-repositoryをデプロイします。",[85,213,218],{"className":214,"code":216,"language":217,"meta":90},[215],"language-text","# ディレクトリ移動\n\ncd artifact-repository\n\n# 対象アカウントに CDK で必要なリソースを作成\n\nnpx cdk bootstrap\n\n# デプロイ\n\nnpx cdk deploy\n","text",[92,219,216],{"__ignoreMap":90},[221,222,224],"h3",{"id":223},"aws-codeartifactの役割","AWS CodeArtifactの役割",[13,226,227],{},"AWS CodeArtifactとは、ソフトウェア開発で使用するパッケージを安全に保存、公開、共有するためのフルマネージド型のアーティファクトリポジトリサービスです。ここで言う「パッケージ」とは、HTTPリクエストを手軽に実装するための、pythonで言う「requests」、JavaScriptで言う「Axios」のようなパッケージ（ライブラリとも表現する事がありますね）を指します。例えばpythonでソフトウェアを開発する際、pipの参照先をCodeArtifact に設定する事で、開発者全員が予めCodeArtifactに登録されたパッケージを利用出来るようになります。\nソフトウェア開発におけるパッケージ管理のセキュリティ・コンプライアンスを強化する事がAWS CodeArtifactの役割です。",[55,229,231],{"id":230},"手順5-gitlabをデプロイする","手順5. GitLabをデプロイする",[13,233,234],{},"ここからが、アップデート後のコアとなる手順です。AWSにGitLabをデプロイしていきます。",[221,236,238],{"id":237},"_5-1-デプロイパラメータを設定する","5-1. デプロイパラメータを設定する",[13,240,241,242,246,247,252],{},"まずは、デプロイ時に利用する必須パラメータを設定します。gitlab/parameter.tsファイルを修正して下さい。\n",[30,243],{"alt":244,"src":245},"table","https://res.cloudinary.com/about-gitlab-com/image/upload/v1761206827/l7v6ilyephbhzd5uhgtm.jpg","\n基本的にデフォルト値は設定されていますが、★の付いているホストゾーンID・ドメイン名のみ個別に設定が必要です。\n次に、ユーザデータ（gitlab/lib/sh/gitlab-install.sh）内のURLを書き換える必要があります。16行目の",[248,249,250],"a",{"href":250,"rel":251},"https://gitlab.example.com",[],"を、GitLabの接続URLに書き換えて下さい。",[85,254,256],{"className":87,"code":255,"language":89,"meta":90,"style":90},"EXTERNAL_URL=\"https://gitlab.example.com\" apt-get install -y gitlab-ee\n",[92,257,258],{"__ignoreMap":90},[95,259,260,263,267,270,273,276,279],{"class":97,"line":98},[95,261,262],{"class":109},"EXTERNAL_URL",[95,264,266],{"class":265},"sD7c4","=",[95,268,269],{"class":105},"\"https://gitlab.example.com\"",[95,271,272],{"class":101}," apt-get",[95,274,275],{"class":105}," install",[95,277,278],{"class":173}," -y",[95,280,281],{"class":105}," gitlab-ee\n",[13,283,284],{},"GitLabはデフォルトでLet’s Encryptと連携しています。こちらを記述する事で、インストール後、指定のドメインにhttpsアクセス可能な状態で起動します。",[221,286,288],{"id":287},"_5-2-gitlab-stackをデプロイする","5-2. GitLab Stackをデプロイする",[13,290,291],{},"初めてCDKを実行する場合は、gitlabディレクトリへ移動し、CDKをbootstrapします。",[85,293,296],{"className":294,"code":295,"language":217,"meta":90},[215],"# リポジトリ移動\n\ncd gitlab\n\n# CDK 用リソース作成\n\nnpx cdk bootstrap\n",[92,297,295],{"__ignoreMap":90},[13,299,300],{},"次に、GitLab EC2インスタンスをデプロイします。",[85,302,305],{"className":303,"code":304,"language":217,"meta":90},[215],"# デプロイ\n\nnpx cdk deploy\n",[92,306,304],{"__ignoreMap":90},[132,308,309],{},[135,310,311],{},"EC2 のキーペアについて\n本ワークショップではCDKを使ってキーペアを生成しています。CDKでは秘密鍵をAWS Systems Manager Parameter Storeに保存する仕様になっています。インスタンス起動時点でセッションマネージャを利用出来る設定にはなっていますが、必要に応じて/ec2/keypair/GitLabから取得し、ファイルを生成してください。\nこれでインスタンスのデプロイは完了です。GitLabのインストールも自動で行われますが、CDKのデプロイ完了から10~15分程度かかります。ブラウザから設定したURLにアクセスし、ログインページが表示されるまでお待ちください。",[221,313,315],{"id":314},"_5-3-gitlabへログイン","5-3. GitLabへログイン",[13,317,318],{},"ログインページが表示されれば、GitLabのインストールは完了です。OSログインして初期パスワードを確認します。",[320,321,322,325,334,340],"ol",{},[135,323,324],{},"EC2コンソールにてGitLabインスタンスを選択し、「接続」から「セッションマネージャ」でEC2に接続します。",[135,326,327,328],{},"以下のcatコマンドを実行します。",[85,329,332],{"className":330,"code":331,"language":217,"meta":90},[215],"$sudo cat /etc/gitlab/initial_root_password\n# WARNING: This value is valid only in the following conditions\n# 1. If provided manually (either via `GITLAB_ROOT_PASSWORD` environment variable or via `gitlab_rails['initial_root_password']` setting in `gitlab.rb`, it was provided before database was seeded for the first time (usually, the first reconfigure run).\n# 2. Password hasn't been changed manually, either via UI or via command line.\n#\n# If the password shown here doesn't work, you must reset the admin password following https://docs.gitlab.com/ja-jp/security/reset_user_password/#reset-your-root-password.\nPassword: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n# NOTE: This file will be automatically deleted in the first reconfigure run after 24 hours.\n",[92,333,331],{"__ignoreMap":90},[135,335,336,339],{},[19,337,338],{},"Password","の値が、GitLab rootユーザの初期パスワードです。これをコピーしておきます。",[135,341,342,343,346,347,350],{},"ブラウザからGitLabへアクセスし、",[92,344,345],{},"ユーザ名：root"," / ",[92,348,349],{},"パスワード：前項で取得したパスワード","を使って、ログインします。\nブラウザからアプリケーションにログイン出来れば、本手順は完了です。",[221,352,354],{"id":353},"_5-4-gitlabグループ作成","5-4. GitLabグループ作成",[13,356,357],{},"GitLabではグループにプロジェクト（いわゆるリポジトリ）を紐づけて管理する為、まずはグループを作成します。",[320,359,360,369,377,385],{},[135,361,362,363,366],{},"ログイン後のトップページにて、左メニューの「Group」を選択",[364,365],"br",{},[30,367],{"alt":362,"src":368},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1760602852/bmosa0dhvbkowx9bakpb.png",[135,370,371,372,374],{},"画面中央右の「New group」を押下",[364,373],{},[30,375],{"alt":371,"src":376},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1760685678/fci5jjjmgrrdcz5vzr6z.png",[135,378,379,380,382],{},"「Create group」を押下",[364,381],{},[30,383],{"alt":379,"src":384},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1760685678/kfusu353kpdxrpqqkzxc.png",[135,386,387,388,390],{},"「Group name」を入力し、「Create group」を押下",[364,389],{},[30,391],{"alt":387,"src":384},[13,393,394],{},"今回は、「development-group」として下さい。\nこれでグループ作成は完了です。",[221,396,398],{"id":397},"_5-5-ワークショップ用プロジェクト作成","5-5. ワークショップ用プロジェクト作成",[13,400,401],{},"次は、前段で作成したグループに紐づくプロジェクトを作成していきます。",[320,403,404,412,420],{},[135,405,406,407,409],{},"GitLabコンソール左メニュー右上の「＋」アイコンをクリックし、「New project/repository」をクリック",[364,408],{},[30,410],{"alt":406,"src":411},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1760685678/ccsawinrpngssuugubwd.png",[135,413,414,415,417],{},"「Create blank project」をクリック",[364,416],{},[30,418],{"alt":414,"src":419},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1760685680/y35bltsbs6uxdpjvsakq.png",[135,421,422,423,425,426,428],{},"プロジェクト名を入力し、「Create project」を押下",[364,424],{},"Project URLで、name spaceに 5-4 で作成したグループ名が入力されている事を確認します。また、本 workshop ではプロジェクト名を「cicd-workshop」として下さい。",[364,427],{},[30,429],{"alt":422,"src":430},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1760685678/i7snizlqy5z2zr7ljof6.png",[13,432,433],{},"以上でプロジェクトの作成が完了し、リポジトリのクローンやプッシュが可能な状態になりました。次は、GitLabとAWSの接続設定に必要な認証情報を払い出します。",[221,435,437],{"id":436},"_5-6-パーソナルアクセストークンを払い出す","5-6. パーソナルアクセストークンを払い出す",[13,439,440],{},"GitLabと外部リソースを連携する際、パーソナルアクセストークン（PAT（という認証情報を利用します。今回はAWSとGitLabを連携する為に必要です。",[320,442,443,451,459,467,478],{},[135,444,445,446,448],{},"左メニュー右上のユーザアイコンをクリックし、「Edit profile」をクリック",[364,447],{},[30,449],{"alt":445,"src":450},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1760685680/za00t5yqiveuhn9u7dn4.png",[135,452,453,454,456],{},"左メニューの「Access tokens」をクリック",[364,455],{},[30,457],{"alt":453,"src":458},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1760685681/jdtqfpmpzzkjsu86lpg3.png",[135,460,461,462,464],{},"右上の「Add new token」ボタンを押下",[364,463],{},[30,465],{"alt":461,"src":466},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1760685681/eydhfbaxiosfgxgumzav.png",[135,468,469,470,472,473,475],{},"「Select scope」にて「api」と「admin_mode」にチェックを入れ、「Create token」ボタンを押下",[364,471],{},"token name には、任意の値を入れて下さい。",[364,474],{},[30,476],{"alt":469,"src":477},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1760685682/qf2r6zq7m1ohx5xkgrfx.png",[135,479,480,481,483],{},"「Your token」に表示されているトークンをコピーし、控える",[364,482],{},[30,484],{"alt":480,"src":485},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1760685682/cixkiacbowzltfzlwb9y.png",[13,487,488],{},"以上でPATの払い出しが完了し、GitLabとAWSを連携する準備が出来ました。",[221,490,492],{"id":491},"補足パーソナルアクセストークンの有効期間について","補足：パーソナルアクセストークンの有効期間について",[13,494,495,496,499,500,504],{},"PATの有効期間については、AWS CodeConnectionsとの接続設定を作成する時に有効であればよいです。",[19,497,498],{},"接続設定を作成した後は、PATを削除しても問題ありません。","\nGitLabとAWS CodeConnectionsの連携設定を作成すると、GitLabのApplicationsに以下のようなアプリが作成されます。\n",[30,501],{"alt":502,"src":503},"GitLabとAWS CodeConnectionsの連携設定を作成すると、GitLabのApplicationsに以下のようなアプリが作成されます。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1760685684/m6bmbg2fh5hi7dbow119.png","\nPATは、このアプリをGitLab側に作成する為だけに必要な認証情報なのです。",[55,506,508],{"id":507},"手順6-aws-codeconnectionsを作成する","手順6. AWS CodeConnectionsを作成する",[13,510,511],{},"ここからAWSの作業に戻ります。AWS CodeConnectionsを作成し、GitLab側で認証します。",[221,513,515],{"id":514},"_6-1-接続を作成","6-1. 「接続」を作成",[320,517,518,521,524,532],{},[135,519,520],{},"AWSコンソールの検索窓にて「CodePipeline」と入力し、サービスページへ移動",[135,522,523],{},"左メニューの「設定」プルダウンから、「接続」を選択",[135,525,526,527,529],{},"右上の「接続を作成」ボタンを押下",[364,528],{},[30,530],{"alt":526,"src":531},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1760685685/mmjmevc8pmx0jdhccade.png",[135,533,534,535,549,551,552,554],{},"「プロバイダーを選択する」にて「GitLab Self Managed」を選択し、接続設定を入力後、「GitLab Self Managedに接続」ボタンを押下",[132,536,537,540,543],{},[135,538,539],{},"接続名：任意の値",[135,541,542],{},"URL：作成した GitLab の URL を入力",[135,544,545,546],{},"「VPCを使用」には",[19,547,548],{},"チェックを入れない",[364,550],{},"→ プライベートサブネット内にあるGitLabと接続する時のオプション",[364,553],{},[30,555],{"alt":556,"src":557},"「VPCを使用」にはチェックを入れない → プライベートサブネット内にあるGitLabと接続する時のオプション","https://res.cloudinary.com/about-gitlab-com/image/upload/v1760685685/jxznizrfagkijqwgbz5l.png",[13,559,560],{},"これでAWS CodeConnectionsの「接続」を作成できました。現時点では、接続ステータスは「保留中」で問題ありません。次の手順で承認作業を行います。",[221,562,564],{"id":563},"_6-2-gitlabにてaws-codeconnectionsの接続を承認する","6-2. GitLabにてAWS CodeConnectionsの接続を承認する",[320,566,567,575,583,594,602,610],{},[135,568,569,570,572],{},"先ほど作成した「接続」の、右上「保留中の接続を更新」ボタンを押下",[364,571],{},[30,573],{"alt":569,"src":574},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1760685685/m6qzsgi30hmtg2ne5ziw.png",[135,576,577,578,580],{},"ポップアップウィンドウが開く。テキストボックスに個人用アクセストークンを入力し、「続行」ボタンを押下",[364,579],{},[30,581],{"alt":577,"src":582},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1760602837/o5vl4pqo4cq1nxulbmff.png",[135,584,585,586,588,589,591],{},"GitLabの認証画面が開く。「Authorize ~」ボタンを押下",[364,587],{},"この時、作業しているブラウザからGitLabに接続できる必要があります。ワークショップ環境であれば問題ありませんが、社内環境と接続する際はご注意下さい。",[364,590],{},[30,592],{"alt":585,"src":593},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1760602837/yk7pxz3eoow2tjbczkyc.png",[135,595,596,597,599],{},"「ホストインスタンスでのインストールの確認」にて、「続行」を押下",[364,598],{},[30,600],{"alt":596,"src":601},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1760602837/hzlepvaoolcoa1ql1eca.png",[135,603,604,605,607],{},"「接続」のステータスが「利用可能」になったら完了",[364,606],{},[30,608],{"alt":604,"src":609},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1760602837/jr1sogiwmmhdbe3cqwey.png",[135,611,612],{},"「接続設定」に記載されているARNを控える\n以上でAWS CodeConnectionsの設定は完了です。これでAWS CodePipelineのソースリポジトリとしてGitLabを指定出来るようになりました。次の手順では、実際にAWS CodePipelineをデプロイしてCI/CDパイプラインを動かせるようにしていきます。",[221,614,616],{"id":615},"補足aws-codeconnectionsから参照出来るgitlabプロジェクトの制御方法","補足：AWS CodeConnectionsから参照出来るGitLabプロジェクトの制御方法",[13,618,619],{},"AWS CodePipelineでソースとして指定できるプロジェクトは「3. GitLab の認証画面が開く。「Authorize ~」ボタンを押下」手順を実行する際に、GitLabへログインしていたユーザによって決まります。スクリーンショットではAdministratorになっていますが、実際の構築では各々のユーザ名になります。PATを払い出す際に「admin_mode」にチェックを入れても、全てのプロジェクトを参照できるようになるわけではありません",[55,621,623],{"id":622},"手順7-cicd-pipeline-をデプロイする","手順7. cicd-pipeline をデプロイする",[13,625,626],{},"AWS CodeConnectionsをソースに指定し、CI/CDパイプラインをデプロイします。基本的に元のワークショップと変わらないのですが、2つだけパラメータを追加しています。",[221,628,630],{"id":629},"_7-1-デプロイパラメータを設定する","7-1. デプロイパラメータを設定する",[13,632,633],{},"cicd-pipeline/parameter.tsに、先ほどメモしたAWS CodeConnectionsのARNとソースとして指定したいGitLabのプロジェクト名を入力します。",[85,635,638],{"className":636,"code":637,"language":217,"meta":90},[215],"// CodeConnections parameters\n\n\ncodeConnectionArn: 'arn:aws:codeconnections:ap-northeast-1:xxxxxxxxxxxx:connection/xxxxxxxxxxxx',\n\n\ngitlabTargetProject: 'development-group/cicd-workshop',\n",[92,639,637],{"__ignoreMap":90},[221,641,643],{"id":642},"_7-2-デプロイする","7-2. デプロイする",[13,645,646],{},"初めて CDK を実行する場合は、対象のディレクトリへ移動し、CDK を bootstrap します。これは対象のアカウントとリージョンの組み合わせで初めて CDK を実行するときに必要です。",[85,648,651],{"className":649,"code":650,"language":217,"meta":90},[215],"# リポジトリ移動\n\ncd cicd-pipeline\n\n# CDK用リソースを作成\n\nnpx cdk bootstrap --profile cicd\n\n# デプロイ\n\nnpx cdk deploy --profile cicd\n",[92,652,650],{"__ignoreMap":90},[13,654,655],{},"以上でCI/CDパイプラインのデプロイは完了です。",[55,657,659],{"id":658},"手順8-cdk-roleをデプロイする","手順8. cdk-roleをデプロイする",[13,661,662],{},"最後に、パイプライン内で利用するIAMロールを作成します。本ワークショップはマルチアカウントを想定している為、アカウントを跨いでCDKを実行する際にこのIAMロールを利用します。デプロイ手順は、以下コマンドを順に実行するだけです。",[85,664,667],{"className":665,"code":666,"language":217,"meta":90},[215],"# リポジトリ移動\n\ncd cdk-role\n\n# CDK用リソースを作成\n\nnpx cdk bootstrap --profile cicd\n\n# デプロイ\n\nnpx cdk deploy --profile cicd\n",[92,668,666],{"__ignoreMap":90},[13,670,671],{},"コマンドが正常に完了すれば、CI/CDパイプラインに関するリソースのデプロイは完了です。",[55,673,675],{"id":674},"手順9-cdkコードを-gitlabにpushする","手順9. CDKコードを GitLabにpushする",[13,677,678],{},"ここまでの手順で、GitLabとAWS上に作成したCI/CDパイプラインの連携設定が完了しました。あとはGitLabにブランチを作成し、コードをプッシュすれば各環境にコードがデプロイされます。",[320,680,681,684,687],{},[135,682,683],{},"GitLabプロジェクトに develop/staging/production ブランチを作成する",[135,685,686],{},"feature ブランチを作成し、開発/検証/本番環境へデプロイするCDKコードを push する",[135,688,689],{},"develop -> staging -> production ブランチとマージしていくことで各環境にコードがデプロイされることを確認\nLab 2：ソース管理 以降の手順については、従来のワークショップの手順と同一です。手順内のAWS CodeCommitを適宜GitLabに読み替えて実施して下さい。",[55,691,692],{"id":692},"終わりに",[13,694,695,696,707],{},"AWS CodeConnectionsさえ作ってしまえば、GitLabとAWSを簡単に連携出来るようになります。本ワークショップではシングルアカウントを想定して解説しましたが、Resource Access Managerを使う事でマルチアカウントにも対応可能です。AWSとGitLabを組み合わせたCI/CDパイプラインのご相談があれば、ソニービズネットワークスまでご相談下さい。\n以上、ソニービズネットワークスのAWS Ambassador、濱田 一成がお送りしました。\n",[16,697,698],{},[19,699,700,701,706],{},"謝辞：本ブログは、Amazon Web Services, Inc. 社作成のワークショップ「",[248,702,705],{"href":703,"rel":704},"https://catalog.us-east-1.prod.workshops.aws/workshops/f95fc450-f2bf-47e2-9834-11f1470cbfd1/ja-JP",[],"マルチアカウント IaC・CI/CD ワークショップ ","」を元に、GitLab版の作成依頼をGitLab Japanからソニービズネットワークス社濱田様にご依頼をして作成いただいたものになります。",[16,708,709],{},[19,710,711],{},"ソニービズネットワークス社は、ソニーグループの法人向けICTソリューション事業を展開しています。高品質な法人向けインターネット接続サービス「NUROアクセス」を主力に、クラウドサービス、セキュリティ、AIサービスなど、ビジネスに必要なインフラとシステムをワンストップで提供し、企業の成長と効率化を支援しています。この度、GitLabのオフィシャルリセールパートナーとなりました。",[713,714,715],"style",{},"html pre.shiki code .s7eDp, html code.shiki .s7eDp{--shiki-default:#6F42C1}html pre.shiki code .sYBdl, html code.shiki .sYBdl{--shiki-default:#032F62}html pre.shiki code .sgsFI, html code.shiki .sgsFI{--shiki-default:#24292E}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}html pre.shiki code .sYu0t, html code.shiki .sYu0t{--shiki-default:#005CC5}html pre.shiki code .sD7c4, html code.shiki .sD7c4{--shiki-default:#D73A49}",{"title":90,"searchDepth":113,"depth":113,"links":717},[718,719,720,721,722,723,726,735,740,744,745,746],{"id":57,"depth":113,"text":57},{"id":72,"depth":113,"text":73},{"id":79,"depth":113,"text":80},{"id":126,"depth":113,"text":127},{"id":149,"depth":113,"text":150},{"id":207,"depth":113,"text":208,"children":724},[725],{"id":223,"depth":120,"text":224},{"id":230,"depth":113,"text":231,"children":727},[728,729,730,731,732,733,734],{"id":237,"depth":120,"text":238},{"id":287,"depth":120,"text":288},{"id":314,"depth":120,"text":315},{"id":353,"depth":120,"text":354},{"id":397,"depth":120,"text":398},{"id":436,"depth":120,"text":437},{"id":491,"depth":120,"text":492},{"id":507,"depth":113,"text":508,"children":736},[737,738,739],{"id":514,"depth":120,"text":515},{"id":563,"depth":120,"text":564},{"id":615,"depth":120,"text":616},{"id":622,"depth":113,"text":623,"children":741},[742,743],{"id":629,"depth":120,"text":630},{"id":642,"depth":120,"text":643},{"id":658,"depth":113,"text":659},{"id":674,"depth":113,"text":675},{"id":692,"depth":113,"text":692},"devsecops","2025-10-23","AWS CodeConnectionsを活用し、GitLabとAWSを連携させたCI/CDパイプラインの構築方法を解説。マルチアカウント環境でのIaC実装をステップバイステップで紹介します。","md",null,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1760931161/nm0kiehnfb0xdmthakmr.jpg",{},"/ja-jp/blog/aws-multi-account-cicd-gitlab",{"config":756,"title":758,"description":759,"ogTitle":90},{"noIndex":757,"ogImage":752},false,"GitLabで実現するマルチアカウントCI/CD\n","AWS CodeConnectionsを活用し、GitLabとAWSを連携させたCI/CDパイプラインの構築方法を解説。マルチアカウント環境でのIaC実装をステップバイステップで紹介します。\n","aws-multi-account-cicd-gitlab","ja-jp/blog/aws-multi-account-cicd-gitlab",[763,764,765,766,767,768],"partners","AWS","CI/CD","integrations","public sector","tutorial","BlogPost","Z3G-Y61N7WRoDpr9gEmUWt7b2LSzYiea5Sd8a-VoM8o",{"logo":772,"freeTrial":777,"sales":782,"login":787,"items":792,"search":1117,"minimal":1150,"duo":1167,"switchNav":1176,"pricingDeployment":1187},{"config":773},{"href":774,"dataGaName":775,"dataGaLocation":776},"/ja-jp/","gitlab logo","header",{"text":778,"config":779},"無料トライアルを開始",{"href":780,"dataGaName":781,"dataGaLocation":776},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/ja-jp&glm_content=default-saas-trial/","free trial",{"text":783,"config":784},"デモをリクエスト",{"href":785,"dataGaName":786,"dataGaLocation":776},"/ja-jp/sales/?contact-topic=request-demo","sales",{"text":788,"config":789},"サインイン",{"href":790,"dataGaName":791,"dataGaLocation":776},"https://gitlab.com/users/sign_in/","sign in",[793,822,922,927,1039,1095],{"text":794,"config":795,"menu":797},"プラットフォーム",{"dataNavLevelOne":796},"platform",{"type":798,"columns":799},"cards",[800,806,814],{"title":794,"description":801,"link":802},"DevSecOpsに特化したインテリジェントオーケストレーションプラットフォーム",{"text":803,"config":804},"プラットフォームの詳細はこちら",{"href":805,"dataGaName":796,"dataGaLocation":776},"/ja-jp/platform/",{"title":807,"description":808,"link":809},"GitLab Duo Agent Platform","ソフトウェアライフサイクル全体を支えるエージェント型AI",{"text":810,"config":811},"GitLab Duoのご紹介",{"href":812,"dataGaName":813,"dataGaLocation":776},"/ja-jp/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":815,"description":816,"link":817},"GitLabが選ばれる理由","エンタープライズがGitLabを選ぶ主な理由をご覧ください",{"text":818,"config":819},"詳細はこちら",{"href":820,"dataGaName":821,"dataGaLocation":776},"/ja-jp/why-gitlab/","why gitlab",{"text":823,"left":116,"config":824,"menu":826},"製品",{"dataNavLevelOne":825},"solutions",{"type":827,"link":828,"columns":832,"feature":902},"lists",{"text":829,"config":830},"すべてのソリューションを表示",{"href":831,"dataGaName":825,"dataGaLocation":776},"/ja-jp/solutions/",[833,857,880],{"title":834,"description":835,"link":836,"items":841},"自動化","CI/CDと自動化でデプロイを加速",{"config":837},{"icon":838,"href":839,"dataGaName":840,"dataGaLocation":776},"AutomatedCodeAlt","/ja-jp/solutions/delivery-automation/","automated software delivery",[842,845,848,853],{"text":765,"config":843},{"href":844,"dataGaLocation":776,"dataGaName":765},"/ja-jp/solutions/continuous-integration/",{"text":807,"config":846},{"href":812,"dataGaLocation":776,"dataGaName":847},"gitlab duo agent platform - product menu",{"text":849,"config":850},"ソースコード管理",{"href":851,"dataGaLocation":776,"dataGaName":852},"/ja-jp/solutions/source-code-management/","Source Code Management",{"text":854,"config":855},"自動化されたソフトウェアデリバリー",{"href":839,"dataGaLocation":776,"dataGaName":856},"Automated software delivery",{"title":858,"description":859,"link":860,"items":865},"セキュリティ","セキュリティを犠牲にすることなくコード作成を高速化",{"config":861},{"href":862,"dataGaName":863,"dataGaLocation":776,"icon":864},"/ja-jp/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[866,870,875],{"text":867,"config":868},"アプリケーションセキュリティテスト",{"href":862,"dataGaName":869,"dataGaLocation":776},"Application security testing",{"text":871,"config":872},"ソフトウェアサプライチェーンセキュリティ",{"href":873,"dataGaLocation":776,"dataGaName":874},"/ja-jp/solutions/supply-chain/","Software supply chain security",{"text":876,"config":877},"ソフトウェアコンプライアンス",{"href":878,"dataGaName":879,"dataGaLocation":776},"/ja-jp/solutions/software-compliance/","software compliance",{"title":881,"link":882,"items":887},"測定",{"config":883},{"icon":884,"href":885,"dataGaName":886,"dataGaLocation":776},"DigitalTransformation","/ja-jp/solutions/visibility-measurement/","visibility and measurement",[888,892,897],{"text":889,"config":890},"可視性と測定",{"href":885,"dataGaLocation":776,"dataGaName":891},"Visibility and Measurement",{"text":893,"config":894},"バリューストリーム管理",{"href":895,"dataGaLocation":776,"dataGaName":896},"/ja-jp/solutions/value-stream-management/","Value Stream Management",{"text":898,"config":899},"分析とインサイト",{"href":900,"dataGaLocation":776,"dataGaName":901},"/ja-jp/solutions/analytics-and-insights/","Analytics and insights",{"title":903,"type":827,"items":904},"GitLabが活躍する場所",[905,911,917],{"text":906,"config":907},"大企業",{"icon":908,"href":909,"dataGaLocation":776,"dataGaName":910},"Building","/ja-jp/enterprise/","enterprise",{"text":912,"config":913},"スモールビジネス",{"icon":914,"href":915,"dataGaLocation":776,"dataGaName":916},"Work","/ja-jp/small-business/","small business",{"text":918,"config":919},"公共部門",{"icon":920,"href":921,"dataGaLocation":776,"dataGaName":767},"Organization","/ja-jp/solutions/public-sector/",{"text":923,"config":924},"価格",{"href":925,"dataGaName":926,"dataGaLocation":776,"dataNavLevelOne":926},"/ja-jp/pricing/","pricing",{"text":928,"config":929,"menu":931},"関連リソース",{"dataNavLevelOne":930},"resources",{"type":827,"link":932,"columns":936,"feature":1028},{"text":933,"config":934},"すべてのリソースを表示",{"href":935,"dataGaName":930,"dataGaLocation":776},"/ja-jp/resources/",[937,969,996],{"title":938,"items":939},"はじめに",[940,945,950,955,960,965],{"text":941,"config":942},"インストール",{"href":943,"dataGaName":944,"dataGaLocation":776},"/ja-jp/install/","install",{"text":946,"config":947},"クイックスタートガイド",{"href":948,"dataGaName":949,"dataGaLocation":776},"/ja-jp/get-started/","quick setup checklists",{"text":951,"config":952},"学ぶ",{"href":953,"dataGaLocation":776,"dataGaName":954},"https://university.gitlab.com/","learn",{"text":956,"config":957},"製品ドキュメント",{"href":958,"dataGaName":959,"dataGaLocation":776},"https://docs.gitlab.com/ja-jp/","product documentation",{"text":961,"config":962},"ベストプラクティスビデオ",{"href":963,"dataGaName":964,"dataGaLocation":776},"/ja-jp/getting-started-videos/","best practice videos",{"text":966,"config":967},"インテグレーション",{"href":968,"dataGaName":766,"dataGaLocation":776},"/ja-jp/integrations/",{"title":970,"items":971},"検索する",[972,977,982,987,991],{"text":973,"config":974},"お客様成功事例",{"href":975,"dataGaName":976,"dataGaLocation":776},"/ja-jp/customers/","customer success stories",{"text":978,"config":979},"ブログ",{"href":980,"dataGaName":981,"dataGaLocation":776},"/ja-jp/blog/","blog",{"text":983,"config":984},"Demo Hub",{"href":985,"dataGaName":986,"dataGaLocation":776},"/ja-jp/demo-hub/","demo hub",{"text":988,"config":989},"The Source",{"href":990,"dataGaName":981,"dataGaLocation":776},"/ja-jp/the-source/",{"text":992,"config":993},"リモート",{"href":994,"dataGaName":995,"dataGaLocation":776},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":997,"items":998},"つなげる",[999,1004,1009,1014,1019,1024],{"text":1000,"config":1001},"GitLabサービス",{"href":1002,"dataGaName":1003,"dataGaLocation":776},"/ja-jp/services/","services",{"text":1005,"config":1006},"コントリビュート",{"href":1007,"dataGaName":1008,"dataGaLocation":776},"https://contributors.gitlab.com","contribute",{"text":1010,"config":1011},"コミュニティ",{"href":1012,"dataGaName":1013,"dataGaLocation":776},"/community/","community",{"text":1015,"config":1016},"フォーラム",{"href":1017,"dataGaName":1018,"dataGaLocation":776},"https://forum.gitlab.com/","forum",{"text":1020,"config":1021},"イベント",{"href":1022,"dataGaName":1023,"dataGaLocation":776},"/events/","events",{"text":1025,"config":1026},"パートナー",{"href":1027,"dataGaName":763,"dataGaLocation":776},"/ja-jp/partners/",{"config":1029,"title":1032,"text":1033,"link":1034},{"background":1030,"textColor":1031},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1777322348/qpq8yrgn8knii57omj0c.png')","#000","GitLabの最新情報","最新の機能と改善点に関する情報をお届けします。",{"text":1035,"config":1036},"最新情報を読む",{"href":1037,"dataGaName":1038,"dataGaLocation":776},"/ja-jp/whats-new/","whats new",{"text":1040,"config":1041,"menu":1043},"企業情報",{"dataNavLevelOne":1042},"company",{"type":827,"columns":1044},[1045],{"items":1046},[1047,1052,1058,1060,1065,1070,1075,1080,1085,1090],{"text":1048,"config":1049},"GitLabについて",{"href":1050,"dataGaName":1051,"dataGaLocation":776},"/ja-jp/company/","about",{"text":1053,"config":1054,"footerGa":1057},"採用情報",{"href":1055,"dataGaName":1056,"dataGaLocation":776},"/jobs/","jobs",{"dataGaName":1056},{"text":1020,"config":1059},{"href":1022,"dataGaName":1023,"dataGaLocation":776},{"text":1061,"config":1062},"経営陣",{"href":1063,"dataGaName":1064,"dataGaLocation":776},"/company/team/e-group/","leadership",{"text":1066,"config":1067},"ハンドブック",{"href":1068,"dataGaName":1069,"dataGaLocation":776},"https://handbook.gitlab.com/","handbook",{"text":1071,"config":1072},"投資家向け情報",{"href":1073,"dataGaName":1074,"dataGaLocation":776},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":1076,"config":1077},"トラストセンター",{"href":1078,"dataGaName":1079,"dataGaLocation":776},"/ja-jp/security/","trust center",{"text":1081,"config":1082},"AI Transparency Center",{"href":1083,"dataGaName":1084,"dataGaLocation":776},"/ja-jp/ai-transparency-center/","ai transparency center",{"text":1086,"config":1087},"ニュースレター",{"href":1088,"dataGaName":1089,"dataGaLocation":776},"/company/contact/#contact-forms","newsletter",{"text":1091,"config":1092},"プレス",{"href":1093,"dataGaName":1094,"dataGaLocation":776},"/press/","press",{"text":1096,"config":1097,"menu":1098},"お問い合わせ",{"dataNavLevelOne":1042},{"type":827,"columns":1099},[1100],{"items":1101},[1102,1107,1112],{"text":1103,"config":1104},"お問い合わせはこちら",{"href":1105,"dataGaName":1106,"dataGaLocation":776},"/ja-jp/sales/","talk to sales",{"text":1108,"config":1109},"サポートを受ける",{"href":1110,"dataGaName":1111,"dataGaLocation":776},"https://support.gitlab.com/hc/en-us","support portal",{"text":1113,"config":1114},"カスタマーポータル",{"href":1115,"dataGaName":1116,"dataGaLocation":776},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":1118,"login":1119,"suggestions":1126},"閉じる",{"text":1120,"link":1121},"リポジトリとプロジェクトを検索するには、次にログインします",{"text":1122,"config":1123},"GitLab.com",{"href":790,"dataGaName":1124,"dataGaLocation":1125},"search login","search",{"text":1127,"default":1128},"提案",[1129,1131,1136,1138,1142,1146],{"text":807,"config":1130},{"href":812,"dataGaName":807,"dataGaLocation":1125},{"text":1132,"config":1133},"コード提案（AI）",{"href":1134,"dataGaName":1135,"dataGaLocation":1125},"/ja-jp/solutions/code-suggestions/","Code Suggestions (AI)",{"text":765,"config":1137},{"href":844,"dataGaName":765,"dataGaLocation":1125},{"text":1139,"config":1140},"GitLab on AWS",{"href":1141,"dataGaName":1139,"dataGaLocation":1125},"/ja-jp/partners/technology-partners/aws/",{"text":1143,"config":1144},"GitLab on Google Cloud",{"href":1145,"dataGaName":1143,"dataGaLocation":1125},"/ja-jp/partners/technology-partners/google-cloud-platform/",{"text":1147,"config":1148},"GitLabを選ぶ理由",{"href":820,"dataGaName":1149,"dataGaLocation":1125},"Why GitLab?",{"freeTrial":1151,"mobileIcon":1155,"desktopIcon":1160,"secondaryButton":1163},{"text":778,"config":1152},{"href":1153,"dataGaName":781,"dataGaLocation":1154},"https://gitlab.com/-/trials/new/","nav",{"altText":1156,"config":1157},"GitLabアイコン",{"src":1158,"dataGaName":1159,"dataGaLocation":1154},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":1156,"config":1161},{"src":1162,"dataGaName":1159,"dataGaLocation":1154},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":938,"config":1164},{"href":1165,"dataGaName":1166,"dataGaLocation":1154},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/ja-jp/get-started/","get started",{"freeTrial":1168,"mobileIcon":1172,"desktopIcon":1174},{"text":1169,"config":1170},"GitLab Duoの詳細について",{"href":812,"dataGaName":1171,"dataGaLocation":1154},"gitlab duo",{"altText":1156,"config":1173},{"src":1158,"dataGaName":1159,"dataGaLocation":1154},{"altText":1156,"config":1175},{"src":1162,"dataGaName":1159,"dataGaLocation":1154},{"button":1177,"mobileIcon":1182,"desktopIcon":1184},{"text":1178,"config":1179},"/switch",{"href":1180,"dataGaName":1181,"dataGaLocation":1154},"#contact","switch",{"altText":1156,"config":1183},{"src":1158,"dataGaName":1159,"dataGaLocation":1154},{"altText":1156,"config":1185},{"src":1186,"dataGaName":1159,"dataGaLocation":1154},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":1188,"mobileIcon":1193,"desktopIcon":1195},{"text":1189,"config":1190},"料金ページに戻る",{"href":925,"dataGaName":1191,"dataGaLocation":1154,"icon":1192},"back to pricing","GoBack",{"altText":1156,"config":1194},{"src":1158,"dataGaName":1159,"dataGaLocation":1154},{"altText":1156,"config":1196},{"src":1162,"dataGaName":1159,"dataGaLocation":1154},{"title":1198,"button":1199,"config":1203},"GitLab Orbitが登場: AIエージェントのためのコンテキストレイヤー",{"text":818,"config":1200},{"href":1201,"dataGaName":1202,"dataGaLocation":776},"/ja-jp/gitlab-orbit/","orbit",{"layout":1204,"disabled":757},"release",{"data":1206},{"text":1207,"source":1208,"edit":1214,"contribute":1219,"config":1224,"items":1229,"minimal":1437},"GitはSoftware Freedom Conservancyの商標です。当社は「GitLab」をライセンスに基づいて使用しています",{"text":1209,"config":1210},"ページのソースを表示",{"href":1211,"dataGaName":1212,"dataGaLocation":1213},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":1215,"config":1216},"このページを編集",{"href":1217,"dataGaName":1218,"dataGaLocation":1213},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":1220,"config":1221},"ご協力をお願いします",{"href":1222,"dataGaName":1223,"dataGaLocation":1213},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":1225,"facebook":1226,"youtube":1227,"linkedin":1228},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[1230,1275,1327,1370,1404],{"title":923,"links":1231,"subMenu":1246},[1232,1236,1241],{"text":1233,"config":1234},"プランの表示",{"href":925,"dataGaName":1235,"dataGaLocation":1213},"view plans",{"text":1237,"config":1238},"Premiumを選ぶ理由",{"href":1239,"dataGaName":1240,"dataGaLocation":1213},"/ja-jp/pricing/premium/","why premium",{"text":1242,"config":1243},"Ultimateを選ぶ理由",{"href":1244,"dataGaName":1245,"dataGaLocation":1213},"/ja-jp/pricing/ultimate/","why ultimate",[1247],{"title":1096,"links":1248},[1249,1251,1253,1255,1260,1265,1270],{"text":1096,"config":1250},{"href":1105,"dataGaName":786,"dataGaLocation":1213},{"text":1108,"config":1252},{"href":1110,"dataGaName":1111,"dataGaLocation":1213},{"text":1113,"config":1254},{"href":1115,"dataGaName":1116,"dataGaLocation":1213},{"text":1256,"config":1257},"ステータス",{"href":1258,"dataGaName":1259,"dataGaLocation":1213},"https://status.gitlab.com/","status",{"text":1261,"config":1262},"利用規約",{"href":1263,"dataGaName":1264,"dataGaLocation":1213},"/terms/","terms of use",{"text":1266,"config":1267},"プライバシーに関する声明",{"href":1268,"dataGaName":1269,"dataGaLocation":1213},"/ja-jp/privacy/","privacy statement",{"text":1271,"config":1272},"Cookie 優先設定",{"dataGaName":1273,"dataGaLocation":1213,"id":1274,"isOneTrustButton":116},"cookie preferences","ot-sdk-btn",{"title":823,"links":1276,"subMenu":1285},[1277,1281],{"text":1278,"config":1279},"DevSecOpsプラットフォーム",{"href":805,"dataGaName":1280,"dataGaLocation":1213},"devsecops platform",{"text":1282,"config":1283},"AI支援開発",{"href":812,"dataGaName":1284,"dataGaLocation":1213},"ai-assisted development",[1286],{"title":1287,"links":1288},"トピック",[1289,1293,1298,1303,1308,1312,1317,1322],{"text":765,"config":1290},{"href":1291,"dataGaName":1292,"dataGaLocation":1213},"/ja-jp/topics/ci-cd/","cicd",{"text":1294,"config":1295},"GitOps",{"href":1296,"dataGaName":1297,"dataGaLocation":1213},"/ja-jp/topics/gitops/","gitops",{"text":1299,"config":1300},"DevOps",{"href":1301,"dataGaName":1302,"dataGaLocation":1213},"/ja-jp/topics/devops/","devops",{"text":1304,"config":1305},"バージョン管理",{"href":1306,"dataGaName":1307,"dataGaLocation":1213},"/ja-jp/topics/version-control/","version control",{"text":1309,"config":1310},"DevSecOps",{"href":1311,"dataGaName":747,"dataGaLocation":1213},"/ja-jp/topics/devsecops/",{"text":1313,"config":1314},"クラウドネイティブ",{"href":1315,"dataGaName":1316,"dataGaLocation":1213},"/ja-jp/topics/cloud-native/","cloud native",{"text":1318,"config":1319},"コーディングのためのAI",{"href":1320,"dataGaName":1321,"dataGaLocation":1213},"/ja-jp/topics/devops/ai-for-coding/","ai for coding",{"text":1323,"config":1324},"エージェント型AI",{"href":1325,"dataGaName":1326,"dataGaLocation":1213},"/ja-jp/topics/agentic-ai/","agentic ai",{"title":1328,"links":1329},"ソリューション",[1330,1333,1335,1340,1344,1347,1350,1353,1355,1357,1360,1365],{"text":867,"config":1331},{"href":862,"dataGaName":1332,"dataGaLocation":1213},"Application Security Testing",{"text":854,"config":1334},{"href":839,"dataGaName":840,"dataGaLocation":1213},{"text":1336,"config":1337},"アジャイル開発",{"href":1338,"dataGaName":1339,"dataGaLocation":1213},"/ja-jp/solutions/agile-delivery/","agile delivery",{"text":1341,"config":1342},"SCM",{"href":851,"dataGaName":1343,"dataGaLocation":1213},"source code management",{"text":765,"config":1345},{"href":844,"dataGaName":1346,"dataGaLocation":1213},"continuous integration & delivery",{"text":893,"config":1348},{"href":895,"dataGaName":1349,"dataGaLocation":1213},"value stream management",{"text":1294,"config":1351},{"href":1352,"dataGaName":1297,"dataGaLocation":1213},"/ja-jp/solutions/gitops/",{"text":906,"config":1354},{"href":909,"dataGaName":910,"dataGaLocation":1213},{"text":912,"config":1356},{"href":915,"dataGaName":916,"dataGaLocation":1213},{"text":1358,"config":1359},"公共機関",{"href":921,"dataGaName":767,"dataGaLocation":1213},{"text":1361,"config":1362},"教育",{"href":1363,"dataGaName":1364,"dataGaLocation":1213},"/ja-jp/solutions/education/","education",{"text":1366,"config":1367},"金融サービス",{"href":1368,"dataGaName":1369,"dataGaLocation":1213},"/ja-jp/solutions/finance/","financial services",{"title":1371,"links":1372},"リソース",[1373,1375,1377,1379,1383,1385,1388,1390,1392,1394,1396,1398,1400,1402],{"text":941,"config":1374},{"href":943,"dataGaName":944,"dataGaLocation":1213},{"text":946,"config":1376},{"href":948,"dataGaName":949,"dataGaLocation":1213},{"text":951,"config":1378},{"href":953,"dataGaName":954,"dataGaLocation":1213},{"text":956,"config":1380},{"href":1381,"dataGaName":1382,"dataGaLocation":1213},"https://docs.gitlab.com/ja-jp","docs",{"text":978,"config":1384},{"href":980,"dataGaName":981,"dataGaLocation":1213},{"text":1386,"config":1387},"最新リリース",{"href":1037,"dataGaName":1038,"dataGaLocation":1213},{"text":973,"config":1389},{"href":975,"dataGaName":976,"dataGaLocation":1213},{"text":992,"config":1391},{"href":994,"dataGaName":995,"dataGaLocation":1213},{"text":1000,"config":1393},{"href":1002,"dataGaName":1003,"dataGaLocation":1213},{"text":1005,"config":1395},{"href":1007,"dataGaName":1008,"dataGaLocation":1213},{"text":1010,"config":1397},{"href":1012,"dataGaName":1013,"dataGaLocation":1213},{"text":1015,"config":1399},{"href":1017,"dataGaName":1018,"dataGaLocation":1213},{"text":1020,"config":1401},{"href":1022,"dataGaName":1023,"dataGaLocation":1213},{"text":1025,"config":1403},{"href":1027,"dataGaName":763,"dataGaLocation":1213},{"title":1405,"links":1406},"会社情報",[1407,1409,1411,1413,1415,1417,1421,1426,1428,1430,1432],{"text":1048,"config":1408},{"href":1050,"dataGaName":1042,"dataGaLocation":1213},{"text":1053,"config":1410},{"href":1055,"dataGaName":1056,"dataGaLocation":1213},{"text":1061,"config":1412},{"href":1063,"dataGaName":1064,"dataGaLocation":1213},{"text":1066,"config":1414},{"href":1068,"dataGaName":1069,"dataGaLocation":1213},{"text":1071,"config":1416},{"href":1073,"dataGaName":1074,"dataGaLocation":1213},{"text":1418,"config":1419},"Sustainability",{"href":1420,"dataGaName":1418,"dataGaLocation":1213},"/sustainability/",{"text":1422,"config":1423},"ダイバーシティ、インクルージョン、ビロンギング（DIB）",{"href":1424,"dataGaName":1425,"dataGaLocation":1213},"/ja-jp/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":1076,"config":1427},{"href":1078,"dataGaName":1079,"dataGaLocation":1213},{"text":1086,"config":1429},{"href":1088,"dataGaName":1089,"dataGaLocation":1213},{"text":1091,"config":1431},{"href":1093,"dataGaName":1094,"dataGaLocation":1213},{"text":1433,"config":1434},"現代奴隷制の透明性に関する声明",{"href":1435,"dataGaName":1436,"dataGaLocation":1213},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":1438},[1439,1441,1444],{"text":1261,"config":1440},{"href":1263,"dataGaName":1264,"dataGaLocation":1213},{"text":1442,"config":1443},"Cookieの設定",{"dataGaName":1273,"dataGaLocation":1213,"id":1274,"isOneTrustButton":116},{"text":1266,"config":1445},{"href":1268,"dataGaName":1269,"dataGaLocation":1213},[1447,1461],{"id":1448,"title":7,"body":751,"config":1449,"content":1451,"description":751,"extension":1455,"meta":1456,"navigation":116,"path":1457,"seo":1458,"stem":1459,"__hash__":1460},"blogAuthors/en-us/blog/authors/tsukasa-komatsubara.yml",{"template":1450},"BlogAuthor",{"name":7,"config":1452},{"headshot":1453,"ctfId":1454},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659784/Blog/Author%20Headshots/gitlab_tsukasa.jpg","31YQLiBRrJPn35BBhY69ly","yml",{},"/en-us/blog/authors/tsukasa-komatsubara",{},"en-us/blog/authors/tsukasa-komatsubara","O5IhL3DQ7MAo8yzVzaeGvidF81OrGBrv7DgR3C9ySBc",{"id":1462,"title":1463,"body":751,"config":1464,"content":1466,"description":751,"extension":1455,"meta":1469,"navigation":116,"path":1470,"seo":1471,"stem":1472,"__hash__":1473},"blogAuthors/en-us/blog/authors/issei-hamada-sony-biz-networks-corporation.yml","Issei Hamada Sony Biz Networks Corporation",{"template":1450,"gitlabHandle":1465},"https://gitlab.com/issei-hamada",{"config":1467,"name":8},{"headshot":1468},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1760414048/buvcowublhq36ongtzbx.png",{},"/en-us/blog/authors/issei-hamada-sony-biz-networks-corporation",{},"en-us/blog/authors/issei-hamada-sony-biz-networks-corporation","25f53KYYX9JQ20bcj6IUFir2T0KOIPcMehhE6OTkA9A",[1475,1483,1490],{"title":1476,"description":1477,"heroImage":1478,"category":747,"date":1479,"authors":1480,"slug":1482,"externalUrl":751},"GitLabとKiroで実現する「AI駆動開発基盤」のホントのところ【イベントレポート】","AWS Summit Japan 2026の来場者向けセッションで、GitLab小松原つかさとソニービズネットワークス株式会社濱田一成氏が登壇した模様をお伝えします。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1784079710/ow23ysfsonekilhwnhfp.jpg","2026-07-16",[1481],"GitLab Japan Team","event-report-aws-summit-2026",{"title":1484,"description":1485,"heroImage":1486,"category":747,"date":1487,"authors":1488,"slug":1489,"externalUrl":751},"プラットフォーム設計の見直しで、真のAI駆動開発を実現 【イベントレポート】","GitLab藤田がガートナー アプリケーション・イノベーション＆ビジネス・ソリューション サミット 2026で語った、AI駆動開発成功のための3条件をレポート。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1783923028/sh09mb0yasluzqqi5vts.jpg","2026-07-13",[1481],"event-report-gartner-application-innovation-2026",{"title":1491,"description":1492,"heroImage":1493,"category":747,"date":1494,"authors":1495,"slug":1496,"externalUrl":751},"開発基盤をGitLabに集約するSBI証券がAI時代に描く展望【GitLab Transcend Japan Fireside Chat】","2026年2月10日にGitLabが開催した「GitLab Transcend Japan」では、株式会社SBI証券 執行役員 IT企画部長 武藤恵慈氏にご登壇いただき、GitLab合同会社Head of Japan 小澤正治とのFireside Chat（対談）を行いました。その模様をレポートします。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1776319994/uiregzmtojom32pmlq7y.jpg","2026-04-24",[1481],"fireside-chat-transcend-tokyo-2026",{"promotions":1498},[1499,1513,1525,1537],{"id":1500,"categories":1501,"header":1503,"text":1504,"button":1505,"image":1510},"ai-modernization",[1502],"ai","AIの真価、組織全体で発揮できていますか？","所要時間は5分以内です",{"text":1506,"config":1507},"AI成熟度スコアを確認する",{"href":1508,"dataGaName":1509,"dataGaLocation":981},"/ja-jp/assessments/ai-modernization-assessment/","modernization assessment",{"config":1511},{"src":1512},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":1514,"categories":1515,"header":1517,"text":1504,"button":1518,"image":1522},"devops-modernization",[1516,747],"product","単にツールを管理するだけでなく、イノベーションを提供していますか？",{"text":1519,"config":1520},"DevOps成熟度スコアを確認しましょう",{"href":1521,"dataGaName":1509,"dataGaLocation":981},"/ja-jp/assessments/devops-modernization-assessment/",{"config":1523},{"src":1524},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":1526,"categories":1527,"header":1529,"text":1504,"button":1530,"image":1534},"security-modernization",[1528],"security","スピードのためにセキュリティを犠牲にしていませんか？",{"text":1531,"config":1532},"セキュリティ成熟度スコアを確認しましょう",{"href":1533,"dataGaName":1509,"dataGaLocation":981},"/ja-jp/assessments/security-modernization-assessment/",{"config":1535},{"src":1536},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":1538,"paths":1539,"header":1542,"text":1543,"button":1544,"image":1549},"github-azure-migration",[1540,1541],"migration-from-azure-devops-to-gitlab","integrating-azure-devops-scm-and-gitlab","チームはGitHubのAzure移行に対応できていますか？","GitHubはすでにAzureを基盤として再構築を進めています。それがあなたのチームにとって何を意味するのか、ご確認ください。",{"text":1545,"config":1546},"GitLabとGitHubの比較を見る",{"href":1547,"dataGaName":1548,"dataGaLocation":981},"/ja-jp/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1550},{"src":1524},{"header":1552,"blurb":1553,"button":1554,"secondaryButton":1558},"今すぐ開発をスピードアップ","DevSecOpsに特化したインテリジェントオーケストレーションプラットフォームで実現できることをご確認ください。\n",{"text":778,"config":1555},{"href":1556,"dataGaName":781,"dataGaLocation":1557},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/ja-jp/","feature",{"text":1096,"config":1559},{"href":1105,"dataGaName":786,"dataGaLocation":1557},1786803789804]