|
2 | 2 |
|
3 | 3 | # Table of Contents
|
4 | 4 |
|
5 |
| -1. [Overview of AFI Build process] (#buildoverview) |
6 |
| -2. [Build procedure step by step] (#stepbystep) |
7 |
| -3. [Build strategies and parallel builds] (#strategies) |
8 |
| -4. [About Encrption during build process] (#buildencryption) |
9 |
| -5. [Advanced Notes] (#buildadvanced notes) |
10 |
| -6. [Build Frequently Asked Questions] (#buildfaq) |
| 5 | +1. [Overview of AFI Build process](#buildoverview) |
| 6 | +2. [Build procedure step by step](#stepbystep) |
| 7 | +3. [Build strategies and parallel builds](#strategies) |
| 8 | +4. [About Encrption during build process](#buildencryption) |
| 9 | +5. [Advanced Notes](#buildadvanced notes) |
| 10 | +6. [Build Frequently Asked Questions](#buildfaq) |
11 | 11 |
|
12 | 12 |
|
13 | 13 | <a name="buildoverview"></a>
|
@@ -139,89 +139,7 @@ You need to prepare the following information:
|
139 | 139 | **NOTE**: *The PCI IDs for the example CLs should be found in the README files in the respective CL example directory.
|
140 | 140 | If you are building a custom CL, then you need to incorporate these values in your design as shown in the [AWS Shell Interface Specifications](./../../../../docs/AWS_Shell_Interface_Specification.md#pcie-ids).*
|
141 | 141 |
|
142 |
| -To upload your tarball file to S3, you can use any of [the tools supported by S3](http://docs.aws.amazon.com/AmazonS3/latest/dev/UploadingObjects.html)). |
143 |
| -For example, you can use the AWS CLI as follows: |
144 |
| - |
145 |
| - $ aws s3 mb s3://<bucket-name> # Create an S3 bucket (choose a unique bucket name) |
146 |
| - $ aws s3 cp *.Developer_CL.tar \ # Upload the file to S3 |
147 |
| - s3://<bucket-name>/ |
148 |
| - |
149 |
| -Now you need to provide AWS (Account ID: 365015490807) the appropriate [read/write permissions](http://docs.aws.amazon.com/AmazonS3/latest/dev/example-walkthroughs-managing-access-example2.html) to your S3 buckets. |
150 |
| -Below is a sample policy. |
151 |
| - |
152 |
| -**NOTE**: *The AWS Account ID has changed, please ensure you are using the correct Account ID listed here.* |
153 |
| - |
154 |
| - { |
155 |
| - "Version": "2012-10-17", |
156 |
| - "Statement": [ |
157 |
| - { |
158 |
| - "Sid": "Bucket level permissions", |
159 |
| - "Effect": "Allow", |
160 |
| - "Principal": { |
161 |
| - "AWS": "arn:aws:iam::365015490807:root" |
162 |
| - }, |
163 |
| - "Action": [ |
164 |
| - "s3:ListBucket" |
165 |
| - ], |
166 |
| - "Resource": "arn:aws:s3:::<bucket_name>" |
167 |
| - }, |
168 |
| - { |
169 |
| - "Sid": "Object read permissions", |
170 |
| - "Effect": "Allow", |
171 |
| - "Principal": { |
172 |
| - "AWS": "arn:aws:iam::365015490807:root" |
173 |
| - }, |
174 |
| - "Action": [ |
175 |
| - "s3:GetObject" |
176 |
| - ], |
177 |
| - "Resource": "arn:aws:s3:::<dcp_bucket_name>/<dcp_filename>" |
178 |
| - }, |
179 |
| - { |
180 |
| - "Sid": "Folder write permissions", |
181 |
| - "Effect": "Allow", |
182 |
| - "Principal": { |
183 |
| - "AWS": "arn:aws:iam::365015490807:root" |
184 |
| - }, |
185 |
| - "Action": [ |
186 |
| - "s3:PutObject" |
187 |
| - ], |
188 |
| - "Resource": "arn:aws:s3:::<log_bucket_name>/*" |
189 |
| - } |
190 |
| - ] |
191 |
| - } |
192 |
| - |
193 |
| -You can verify that the bucket policy grants the required permissions by running the following script: |
194 |
| - |
195 |
| - $ check_s3_bucket_policy.py \ |
196 |
| - --dcp-bucket <dcp-bucket-name> \ |
197 |
| - --dcp-key <tarball-name> \ |
198 |
| - --logs-bucket <logs-bucket-name> \ |
199 |
| - --logs-key <logs-folder> |
200 |
| - |
201 |
| -To create an AFI execute the following command: |
202 |
| - |
203 |
| - $ aws ec2 create-fpga-image \ |
204 |
| - --name <afi-name> \ |
205 |
| - --description <afi-description> \ |
206 |
| - --input-storage-location Bucket=<dcp-bucket-name>,Key=<tarball-name> \ |
207 |
| - --logs-storage-location Bucket=<logs-bucket-name>,Key=<logs-folder> \ |
208 |
| - [ --client-token <value> ] \ |
209 |
| - [ --dry-run | --no-dry-run ] |
210 |
| - |
211 |
| -The output of this command includes two identifiers that refer to your AFI: |
212 |
| -- **FPGA Image Identifier** or **AFI ID**: this is the main ID used to manage your AFI through the AWS EC2 CLI commands and AWS SDK APIs. |
213 |
| - This ID is regional, i.e., if an AFI is copied across multiple regions, it will have a different unique AFI ID in each region. |
214 |
| - An example AFI ID is **`afi-01234567890abcdef`**. |
215 |
| -- **Glogal FPGA Image Identifier** or **AGFI ID**: this is a global ID that is used to refer to an AFI from within an F1 instance. |
216 |
| - For example, to load or clear an AFI from an FPGA slot, you use the AGFI ID. |
217 |
| - Since the AGFI IDs is global (by design), it allows you to copy a combination of AFI/AMI to multiple regions, and they will work without requiring any extra setup. |
218 |
| - An example AGFI ID is **`agfi-01234567890abcdef`**. |
219 |
| - |
220 |
| -After the AFI generation is complete, AWS will put the logs into the bucket location provided by the developer and notify them |
221 |
| -by email. |
222 |
| - |
223 |
| -**NOTE**: *Attempting to associate the AFI to an AMI before the AFI is ready will result in an `InvalidFpgaImageID.Unavailable` error. |
224 |
| -Please wait until you receive a confirmation email from AWS indicating the creation process is complete.* |
| 142 | +[Refer to step 3 for instructions on how to submit the Design Checkpoint to AWS](./../../../../cl/examples/README.md) |
225 | 143 |
|
226 | 144 | <a name="buildstratgies"></a>
|
227 | 145 | ## Build Strategies and Parallel Builds
|
|
0 commit comments